diff --git a/codebase/fonts/roboto-bold-webfont.woff b/codebase/fonts/roboto-bold-webfont.woff index d93baf5..3375aee 100644 Binary files a/codebase/fonts/roboto-bold-webfont.woff and b/codebase/fonts/roboto-bold-webfont.woff differ diff --git a/codebase/fonts/roboto-bold-webfont.woff2 b/codebase/fonts/roboto-bold-webfont.woff2 index fb82968..9883bd6 100644 Binary files a/codebase/fonts/roboto-bold-webfont.woff2 and b/codebase/fonts/roboto-bold-webfont.woff2 differ diff --git a/codebase/fonts/roboto-medium-webfont.woff b/codebase/fonts/roboto-medium-webfont.woff index b8e0c77..e06e451 100644 Binary files a/codebase/fonts/roboto-medium-webfont.woff and b/codebase/fonts/roboto-medium-webfont.woff differ diff --git a/codebase/fonts/roboto-medium-webfont.woff2 b/codebase/fonts/roboto-medium-webfont.woff2 index fd70780..2a73933 100644 Binary files a/codebase/fonts/roboto-medium-webfont.woff2 and b/codebase/fonts/roboto-medium-webfont.woff2 differ diff --git a/codebase/fonts/roboto-regular-webfont.woff b/codebase/fonts/roboto-regular-webfont.woff index d43765c..b5510ae 100644 Binary files a/codebase/fonts/roboto-regular-webfont.woff and b/codebase/fonts/roboto-regular-webfont.woff differ diff --git a/codebase/fonts/roboto-regular-webfont.woff2 b/codebase/fonts/roboto-regular-webfont.woff2 index 6b85564..1ee21e8 100644 Binary files a/codebase/fonts/roboto-regular-webfont.woff2 and b/codebase/fonts/roboto-regular-webfont.woff2 differ diff --git a/codebase/suite.css b/codebase/suite.css index 9567a6d..484e18f 100644 --- a/codebase/suite.css +++ b/codebase/suite.css @@ -1,12 +1,12 @@ /* @license -dhtmlxSuite v.6.1.4 GPL +dhtmlxSuite v.6.4.2 GPL This software is covered by GPL license. To use it in non-GPL project, you need obtain Commercial or Enterprise license Please contact sales@dhtmlx.com. Usage without proper license is prohibited. -(c) Dinamenta, UAB. +(c) XB Software. */ -.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:-webkit-grab!important;cursor:grab!important}.dhx_no-select--pointer{cursor:pointer}.dhx_no-select--pointer,.dhx_no-select--resize{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"liga";font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{-webkit-box-sizing:border-box;box-sizing:border-box}body{margin:0}.dhx_widget{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_widget--bordered{border:1px solid #e4e4e4}.dhx_widget--border_top{border-top:1px solid #e4e4e4}.dhx_widget--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_widget--border_left{border-left:1px solid #e4e4e4}.dhx_widget--border_right{border-right:1px solid #e4e4e4}.dhx_widget--border-shadow{border:0;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.15);box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget--bg_white{background-color:#fff}.dhx_widget--bg_gray{background-color:#f7f7f7}.dhx_drag-ghost *{-webkit-box-sizing:border-box;box-sizing:border-box}@font-face{font-family:Roboto;src:url(./fonts/roboto-regular-webfont.woff2) format("woff2"),url(./fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(./fonts/roboto-medium-webfont.woff2) format("woff2"),url(./fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(./fonts/roboto-bold-webfont.woff2) format("woff2"),url(./fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}@font-face{font-family:dhxicons;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff")}.dxi:before{font-family:dhxicons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dxi.dxi-alert-circle:before{content:"\F101"}.dxi.dxi-arrow-collapse:before{content:"\F102"}.dxi.dxi-arrow-expand:before{content:"\F103"}.dxi.dxi-blur-off:before{content:"\F104"}.dxi.dxi-blur:before{content:"\F105"}.dxi.dxi-calendar-today:before{content:"\F106"}.dxi.dxi-check:before{content:"\F107"}.dxi.dxi-checkbox-blank-outline:before{content:"\F108"}.dxi.dxi-checkbox-marked-circle:before{content:"\F109"}.dxi.dxi-checkbox-marked:before{content:"\F10A"}.dxi.dxi-chevron-down:before{content:"\F10B"}.dxi.dxi-chevron-left:before{content:"\F10C"}.dxi.dxi-chevron-right:before{content:"\F10D"}.dxi.dxi-chevron-up:before{content:"\F10E"}.dxi.dxi-clock-outline:before{content:"\F10F"}.dxi.dxi-clock:before{content:"\F110"}.dxi.dxi-close-circle:before{content:"\F111"}.dxi.dxi-close:before{content:"\F112"}.dxi.dxi-delete-forever:before{content:"\F113"}.dxi.dxi-delete:before{content:"\F114"}.dxi.dxi-dots-horizontal:before{content:"\F115"}.dxi.dxi-dots-vertical:before{content:"\F116"}.dxi.dxi-download:before{content:"\F117"}.dxi.dxi-eraser:before{content:"\F118"}.dxi.dxi-eye-off:before{content:"\F119"}.dxi.dxi-eye:before{content:"\F11A"}.dxi.dxi-eyedropper-variant:before{content:"\F11B"}.dxi.dxi-file-export:before{content:"\F11C"}.dxi.dxi-file-outline:before{content:"\F11D"}.dxi.dxi-filter-variant:before{content:"\F11E"}.dxi.dxi-folder-open:before{content:"\F11F"}.dxi.dxi-folder:before{content:"\F120"}.dxi.dxi-format-align-center:before{content:"\F121"}.dxi.dxi-format-align-left:before{content:"\F122"}.dxi.dxi-format-align-right:before{content:"\F123"}.dxi.dxi-format-bold:before{content:"\F124"}.dxi.dxi-format-color-fill:before{content:"\F125"}.dxi.dxi-format-color-text:before{content:"\F126"}.dxi.dxi-format-italic:before{content:"\F127"}.dxi.dxi-format-line-spacing:before{content:"\F128"}.dxi.dxi-format-quote-close:before{content:"\F129"}.dxi.dxi-format-quote-open:before{content:"\F12A"}.dxi.dxi-format-strikethrough:before{content:"\F12B"}.dxi.dxi-format-underline:before{content:"\F12C"}.dxi.dxi-format-vertical-align-bottom:before{content:"\F12D"}.dxi.dxi-format-vertical-align-center:before{content:"\F12E"}.dxi.dxi-format-vertical-align-top:before{content:"\F12F"}.dxi.dxi-function-variant:before{content:"\F130"}.dxi.dxi-help-circle-outline:before{content:"\F131"}.dxi.dxi-information-outline:before{content:"\F132"}.dxi.dxi-key:before{content:"\F133"}.dxi.dxi-link-variant-off:before{content:"\F134"}.dxi.dxi-link-variant:before{content:"\F135"}.dxi.dxi-loading:before{content:"\F136"}.dxi.dxi-magnify:before{content:"\F137"}.dxi.dxi-menu-down:before{content:"\F138"}.dxi.dxi-menu-left:before{content:"\F139"}.dxi.dxi-menu-right:before{content:"\F13A"}.dxi.dxi-menu-up:before{content:"\F13B"}.dxi.dxi-minus-box:before{content:"\F13C"}.dxi.dxi-minus:before{content:"\F13D"}.dxi.dxi-numeric:before{content:"\F13E"}.dxi.dxi-pencil:before{content:"\F13F"}.dxi.dxi-plus-circle:before{content:"\F140"}.dxi.dxi-plus:before{content:"\F141"}.dxi.dxi-printer:before{content:"\F142"}.dxi.dxi-redo:before{content:"\F143"}.dxi.dxi-rotate-right:before{content:"\F144"}.dxi.dxi-sort-variant:before{content:"\F145"}.dxi.dxi-table-column-plus-before:before{content:"\F146"}.dxi.dxi-table-column-remove:before{content:"\F147"}.dxi.dxi-table-column:before{content:"\F148"}.dxi.dxi-table-row-plus-after:before{content:"\F149"}.dxi.dxi-table-row-remove:before{content:"\F14A"}.dxi.dxi-table-row:before{content:"\F14B"}.dxi.dxi-undo:before{content:"\F14C"}.dxi.dxi-unfold-more-horizontal:before{content:"\F14D"}.dxi.dxi-vault:before{content:"\F14E"}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:20px}.dxi--small:before{font-size:16px}.dxi--medium:before{font-size:20px}.dxi--large:before{font-size:24px}@-webkit-keyframes button-loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}@keyframes button-loading{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:4px}.dhx_button__loading{position:absolute;left:0;top:0;right:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_button__loading-icon{-webkit-animation:button-loading .9s linear infinite;animation:button-loading .9s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:28px}.dhx_button--circle.dhx_button--size_medium{border-radius:32px}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:6px;padding-right:6px}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:4px;padding-right:4px}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:4px 12px;font-size:14px;line-height:20px}.dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:16px;margin-top:-8px;margin-left:-8px}.dhx_button--size_medium{padding:6px 16px;text-transform:uppercase;line-height:20px}.dhx_button--size_medium .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:20px;margin-top:-10px;margin-left:-10px}.dhx_button--view_flat{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;color:#fff;-webkit-transition:background-color .2s ease-in,color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in,-webkit-box-shadow .2s ease-in}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{-webkit-transition:background-color .2s ease-out,color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:background-color .2s ease-out,color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out;transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out,-webkit-box-shadow .2s ease-out}.dhx_button--view_flat.dhx_button--color_primary{background-color:#0288d1;outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:#35a0da}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:#0288d1;-webkit-box-shadow:none;box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary:disabled{background-color:#81c4e8}.dhx_button--view_flat.dhx_button--color_secondary{background-color:#4d4d4d;outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:#717171}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:#4d4d4d;-webkit-box-shadow:none;box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary:disabled{background-color:#a6a6a6}.dhx_button--view_flat.dhx_button--color_danger{background-color:#ff5252;outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:#ff7575}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:#ff5252;-webkit-box-shadow:none;box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger:disabled{background-color:#ffa9a9}.dhx_button--view_flat.dhx_button--color_success{background-color:#0ab169;outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:#3bc187}.dhx_button--view_flat.dhx_button--color_success:active{background-color:#0ab169;-webkit-box-shadow:none;box-shadow:none}.dhx_button--view_flat.dhx_button--color_success:disabled{background-color:#85d8b4}.dhx_button--view_link{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;border-radius:2px;background:transparent;-webkit-transition:background-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in,-webkit-box-shadow .2s ease-in}.dhx_button--view_link:focus,.dhx_button--view_link:hover{-webkit-transition:background-color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:background-color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:background-color .2s ease-out,box-shadow .2s ease-out;transition:background-color .2s ease-out,box-shadow .2s ease-out,-webkit-box-shadow .2s ease-out}.dhx_button--view_link.dhx_button--color_primary{color:#0288d1;outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:#d9edf8}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:#b8def2}.dhx_button--view_link.dhx_button--color_primary:disabled{color:#81c4e8}.dhx_button--view_link.dhx_button--color_secondary{color:#4d4d4d;outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:#e4e4e4}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:#cdcdcd}.dhx_button--view_link.dhx_button--color_secondary:disabled{color:#a6a6a6}.dhx_button--view_link.dhx_button--color_danger{color:#ff5252;outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:#ffe5e5}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:#ffcfcf}.dhx_button--view_link.dhx_button--color_danger:disabled{color:#ffa9a9}.dhx_button--view_link.dhx_button--color_success{color:#0ab169;outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:#daf3e9}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:#bae9d5}.dhx_button--view_link.dhx_button--color_success:disabled{color:#85d8b4}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:8px;margin-right:auto}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_form-group{position:relative;display:block;text-align:left;padding-bottom:16px}.dhx_form-group--simplevault{line-height:0}.dhx_form-group--simplevault .dhx_label{margin-bottom:4px}.dhx_form-group--textarea{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%}.dhx_form-group--textarea .dhx_input--textarea,.dhx_form-group--textarea .dhx_input-wrapper{height:100%}.dhx_form-group--textarea .dhx_label{min-height:20px;line-height:20px;margin-bottom:4px}.dhx_form-group--inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;width:100%;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;max-height:40px;margin-right:16px;margin-bottom:0;text-align:right;width:100%;margin-top:6px;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.dhx_form-group--inline .dhx_input-wrapper{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;width:300%;height:100%}.dhx_form-group--inline .dhx_label--with-help{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative;margin-bottom:0}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--no-message-holder{padding-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input-caption,.dhx_form-group--state_error .dhx_label{color:#ff5252}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{-webkit-box-shadow:inset 0 0 0 1px #ffbaba;box-shadow:inset 0 0 0 1px #ffbaba}.dhx_form-group--state_error .dhx_simplevault,.dhx_form-group--state_error .dhx_simplevault:focus{border-color:#ffbaba}.dhx_form-group--state_success .dhx_input-caption,.dhx_form-group--state_success .dhx_label{color:#0ab169}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{-webkit-box-shadow:inset 0 0 0 1px #9de0c3;box-shadow:inset 0 0 0 1px #9de0c3}.dhx_form-group--state_success .dhx_simplevault,.dhx_form-group--state_success .dhx_simplevault:focus{border-color:#9de0c3}.dhx_form-group--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_form-group .dhx_combobox{margin:0}.dhx_input-wrapper{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative}.dhx_input-wrapper:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.dhx_input-container{width:100%;display:inline-block;position:relative}.dhx_input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:#f6f6f6;background-clip:padding-box;-webkit-box-shadow:inset 0 0 0 1px #dfdfdf;box-shadow:inset 0 0 0 1px #dfdfdf;border:0;border-radius:2px;outline:0;-webkit-transition:border-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:border-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:border-color .2s ease-in,box-shadow .2s ease-in;transition:border-color .2s ease-in,box-shadow .2s ease-in,-webkit-box-shadow .2s ease-in}.dhx_input::-webkit-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input:-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::placeholder{color:rgba(0,0,0,.5)}.dhx_input:focus{-webkit-box-shadow:inset 0 0 0 1px #67b8e3;box-shadow:inset 0 0 0 1px #67b8e3}.dhx_input--icon-padding{padding-right:24px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{background:none;padding-left:0}.dhx_input--textinput,.dhx_input--textinput:focus{-webkit-box-shadow:none;box-shadow:none}.dhx_input__icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:4px;z-index:1;color:rgba(0,0,0,.5);pointer-events:none}.dhx_input__icon--color-selected{border-radius:2px}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:20px;line-height:20px}.dhx_input-caption{left:0;bottom:0;max-width:100%;font-size:12px;font-weight:400;line-height:16px;color:rgba(0,0,0,.5);white-space:wrap;cursor:default}.dhx_input-caption,.dhx_label{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;overflow-x:hidden;text-overflow:ellipsis}.dhx_label{display:inline-block;width:auto;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap;cursor:pointer;-webkit-transition:color .2s ease-in,opacity .2s ease-in;transition:color .2s ease-in,opacity .2s ease-in}.dhx_label:hover{opacity:.8;-webkit-transition:color .2s ease-out,opacity .2s ease-out;transition:color .2s ease-out,opacity .2s ease-out}.dhx_label__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_label--with-help{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_label-help{margin-left:4px;color:#0288d1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_label-help:focus{outline:none}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__visual-input{display:block;border:2px solid rgba(0,0,0,.5);width:20px;height:20px;background-color:#fff;border-radius:2px;cursor:pointer}.dhx_checkbox .dhx_label{margin-top:4px;margin-bottom:0;width:auto}.dhx_checkbox .dhx_label:after{display:none}.dhx_checkbox .dhx_input-caption{position:static;display:block;-webkit-transform:none;-ms-transform:none;transform:none}.dhx_checkbox.dhx_form-group--inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.dhx_checkbox__input:focus+.dhx_checkbox__visual-input{border-color:#0288d1}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input{background-color:#0288d1;background-position:50%;background-size:cover;border-color:#0288d1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_radiobutton{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_radiobutton__visual-input{display:block;border:2px solid rgba(0,0,0,.5);bottom:4px;left:0;width:20px;height:20px;background-color:#fff;border-radius:50%}.dhx_radiobutton .dhx_label{margin-top:4px;margin-bottom:0;width:auto;cursor:pointer}.dhx_radiobutton .dhx_input-caption{position:static;display:block}.dhx_radiobutton.dhx_form-group--inline{white-space:nowrap;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_radiobutton.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.dhx_radiobutton__input:focus+.dhx_radiobutton__visual-input{border-color:#0288d1}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:#0288d1;border-color:#0288d1;-webkit-box-shadow:inset 0 0 0 4px #fff;box-shadow:inset 0 0 0 4px #fff;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:8px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{background-color:#f6f6f6;border:1px solid #dfdfdf;border-radius:2px;-webkit-transition:all .2s ease-in;transition:all .2s ease-in;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;font-weight:400;text-align:center;color:rgba(0,0,0,.7);overflow:hidden;position:relative}.dhx_simplevault__drop-area{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:20px}.dhx_simplevault__icon:before{font-size:40px;color:rgba(0,0,0,.3);-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:#0288d1;cursor:pointer}.dhx_simplevault--on-drag{border-style:dashed;-webkit-transition:border .2s ease-out;transition:border .2s ease-out}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in,-webkit-transform .2s ease-in}.dhx_simplevault-files{width:100%;margin:0;padding:0;list-style:none;border-top:1px solid #e4e4e4;max-height:276px;overflow-y:auto}.dhx_simplevault-files__item{position:relative;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;text-align:left;color:rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:1px solid #e4e4e4}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.dhx_simplevault-loader{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:#ededed;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);opacity:0;will-change:transform;-webkit-transition:0ms;transition:0ms;z-index:1}.dhx_simplevault-loader .dhx_simplevault__icon:before{color:#0288d1}.dhx_slider{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-bottom:16px}.dhx_slider--label-inline{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_slider--label-inline .dhx_slider__label{text-align:right;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;margin-right:16px;margin-bottom:0;width:100%}.dhx_slider--label-inline .dhx_label--with-help{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_slider--label-inline .dhx_slider__track-holder{width:300%;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_slider--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_slider--mode_vertical{height:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.dhx_slider--mode_vertical .dhx_slider__label{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.dhx_slider--mode_vertical .dhx_slider__track-holder{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:8px 0}.dhx_slider--mode_vertical .dhx_slider__track{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding:0 8px}.dhx_slider--mode_vertical .dhx_slider__track:before{width:2px;height:100%}.dhx_slider--mode_vertical .dhx_slider__range{width:2px;left:50%;-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%)}.dhx_slider--mode_vertical .dhx_slider__thumb{left:50%}.dhx_slider--mode_vertical .dhx_slider__tick{height:1px;width:4px}.dhx_slider--mode_vertical .dhx_slider__tick:not(:first-child){-webkit-transform:translateY(-.5px);-ms-transform:translateY(-.5px);transform:translateY(-.5px)}.dhx_slider--mode_vertical .dhx_slider__tick--major{width:8px}.dhx_slider--mode_vertical .dhx_slider__tick-label{top:50%;left:100%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);padding-left:2px}.dhx_slider--ticks .dhx_slider__ticks-holder{height:4px}.dhx_slider--ticks.dhx_slider--mode_vertical .dhx_slider__ticks-holder{height:100%;width:4px}.dhx_slider__track-holder{position:relative;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.dhx_slider__track{position:relative;padding-top:8px;padding-bottom:8px;cursor:pointer;z-index:1}.dhx_slider__track:before{content:"";display:block;height:2px;background-color:#b3b3b3}.dhx_slider__thumb{position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background-color:#0288d1;-webkit-transition:border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;transition:border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;transition:transform .1s ease-out,border-color .2s ease-out,background-color .2s ease-out;transition:transform .1s ease-out,border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;will-change:transform;cursor:pointer}.dhx_slider__thumb:after,.dhx_slider__thumb:before{content:"";display:block;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%) scale(0);-ms-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);border-radius:50%;will-change:transform}.dhx_slider__thumb:before{width:28px;height:28px;background-color:rgba(2,136,209,.15)}.dhx_slider__thumb:after,.dhx_slider__thumb:before{-webkit-transition:background-color .2s ease-out,-webkit-transform .2s ease-out;transition:background-color .2s ease-out,-webkit-transform .2s ease-out;transition:transform .2s ease-out,background-color .2s ease-out;transition:transform .2s ease-out,background-color .2s ease-out,-webkit-transform .2s ease-out}.dhx_slider__thumb:after{width:16px;height:16px;background-color:#0288d1}.dhx_slider__thumb:focus,.dhx_slider__thumb:hover{outline:none}.dhx_slider__thumb:focus:before,.dhx_slider__thumb:hover:before{-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);-webkit-transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in,-webkit-transform .2s ease-in}.dhx_slider__thumb--active,.dhx_slider__thumb:active{z-index:1}.dhx_slider__thumb--active:after,.dhx_slider__thumb:active:after{-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);-webkit-transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in,-webkit-transform .2s ease-in}.dhx_slider__thumb--nullable{background-color:#b3b3b3}.dhx_slider__thumb--nullable:after{width:8px;height:8px;-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);background:#fff}.dhx_slider__thumb--nullable:before{background-color:rgba(77,77,77,.15)}.dhx_slider__thumb--disabled{background-color:#b3b3b3;border:2px solid #fff}.dhx_slider__thumb--disabled:after,.dhx_slider__thumb--disabled:before{display:none}.dhx_slider__thumb-label{position:absolute;padding:6px 12px;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border-radius:2px;background-color:#333;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.3);box-shadow:0 2px 5px rgba(0,0,0,.3);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#fff;-webkit-transition:opacity transform .01s ease-in;transition:opacity transform .01s ease-in;pointer-events:none;z-index:1}.dhx_slider__thumb-label--vertical{left:50px}.dhx_slider__thumb-label--horizontal{top:-30px}.dhx_slider__thumb-label--active{z-index:10}.dhx_slider__range{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);height:2px;background-color:#0288d1;pointer-events:none}.dhx_slider__ticks-holder{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_slider__tick{position:absolute;top:0;width:1px;height:4px;background-color:#b3b3b3}.dhx_slider__tick:not(:first-child){-webkit-transform:translateX(-.5px);-ms-transform:translateX(-.5px);transform:translateX(-.5px)}.dhx_slider__tick--major{height:8px}.dhx_slider__tick-label{position:absolute;top:10px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:10px;color:rgba(0,0,0,.7);line-height:1}.dhx_message-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;position:absolute;padding:20px;max-height:100%;-ms-scroll-chaining:none;overscroll-behavior:contain;width:240px;overflow:hidden;border:2px solid transparent;z-index:2147483647}.dhx_message-container *{-webkit-box-sizing:border-box;box-sizing:border-box}.dhx_message-container--top-left{top:0;left:0}.dhx_message-container--top-right{top:0;right:0}.dhx_message-container--bottom-left{left:0}.dhx_message-container--bottom-left,.dhx_message-container--bottom-right{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;bottom:0}.dhx_message-container--bottom-right{right:0}.dhx_message-container--in-body{position:fixed}.dhx_message{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;padding:12px;margin-bottom:4px;margin-top:4px;border-radius:2px;-webkit-box-shadow:0 1px 6px rgba(0,0,0,.1),0 10px 20px rgba(0,0,0,.1);box-shadow:0 1px 6px rgba(0,0,0,.1),0 10px 20px rgba(0,0,0,.1);background-color:#fff;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_message,.dhx_message__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;line-height:20px;font-size:14px;color:rgba(0,0,0,.7)}.dhx_message__text{overflow-wrap:break-word;word-wrap:break-word;word-break:break-all}.dhx_message__icon{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;padding-left:8px;color:rgba(0,0,0,.5)}.dhx_message--error .dhx_message__icon,.dhx_message--error .dhx_message__text,.dhx_message--success .dhx_message__icon,.dhx_message--success .dhx_message__text{color:#fff}.dhx_message--error{background-color:#ff5252}.dhx_message--success{background-color:#0ab169}.dhx_alert{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:600px;padding:24px;background:#fff;border-radius:2px;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.3);box-shadow:0 2px 5px rgba(0,0,0,.3);will-change:transform;z-index:2147483647}.dhx_alert__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2147483646}.dhx_alert__header{position:relative;margin-bottom:20px;font-weight:500;line-height:20px;text-transform:uppercase;color:rgba(0,0,0,.7)}.dhx_alert__content,.dhx_alert__header{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px}.dhx_alert__content{height:100%;font-weight:400;color:rgba(0,0,0,.5);line-height:1.3;overflow-y:auto;overflow-wrap:break-word;word-wrap:break-word}.dhx_alert__footer{margin-top:20px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.dhx_alert__footer--center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_alert__footer--right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_alert__footer .dhx_button:not(:last-child){margin-right:16px}.dhx_tooltip{pointer-events:none;border-radius:2px;background-color:#333;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.3);box-shadow:0 2px 5px rgba(0,0,0,.3);padding:6px 12px;-webkit-transition:opacity .01s ease,-webkit-transform .01s ease;transition:opacity .01s ease,-webkit-transform .01s ease;transition:opacity .01s ease,transform .01s ease;transition:opacity .01s ease,transform .01s ease,-webkit-transform .01s ease;opacity:0;z-index:999;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_tooltip--animate{opacity:1;-webkit-transition:opacity .15s ease-out;transition:opacity .15s ease-out}.dhx_tooltip--forced{opacity:1}.dhx_tooltip--bottom{margin:8px 0 0}.dhx_tooltip--top{margin:-8px 0 0}.dhx_tooltip--left{margin:0 0 -8px}.dhx_tooltip--right{margin:0 0 0 8px}.dhx_tooltip--light{background-color:#fff}.dhx_tooltip--light .dhx_tooltip__text{color:rgba(0,0,0,.7)}.dhx_widget--fullscreen .dhx_tooltip{z-index:2147483647}.dhx_tooltip__text{color:#fff;font-size:14px;font-weight:500;line-height:20px}.dhx_layout{max-width:100%;max-height:100%;width:100%;height:100%}.dhx_layout-columns{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;overflow:hidden}.dhx_layout-columns>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_layout-columns>.dhx_layout-cell--resizeble{overflow-x:hidden}.dhx_layout-rows{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.dhx_layout-rows>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_layout-rows>.dhx_layout-cell--resizeble{overflow-y:hidden}.dhx_layout-cell--start,.dhx_layout-columns--start,.dhx_layout-rows--start{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.dhx_layout-cell--center,.dhx_layout-columns--center,.dhx_layout-rows--center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_layout-cell--end,.dhx_layout-columns--end,.dhx_layout-rows--end{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_layout-cell--between,.dhx_layout-columns--between,.dhx_layout-rows--between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_layout-cell--around,.dhx_layout-columns--around,.dhx_layout-rows--around{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.dhx_layout-cell--evenly,.dhx_layout-columns--evenly,.dhx_layout-rows--evenly{-webkit-box-pack:space-evenly;-webkit-justify-content:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.dhx_layout-cell{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.dhx_layout-cell--bordered{border:1px solid #e4e4e4}.dhx_layout-cell--border_top{border-top:1px solid #e4e4e4}.dhx_layout-cell--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_layout-cell--border_left{border-left:1px solid #e4e4e4}.dhx_layout-cell--border_right{border-right:1px solid #e4e4e4}.dhx_layout-cell--border-shadow{border:0;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.15);box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_layout-cell--no-border{border:0}.dhx_layout-cell--no-border_top{border-top:0}.dhx_layout-cell--no-border_bottom{border-bottom:0}.dhx_layout-cell--no-border_left{border-left:0}.dhx_layout-cell--no-border_right{border-right:0}.dhx_layout-cell--gravity{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_layout-cell--flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.dhx_layout-cell--accordion>.dhx_layout-cell--collapsed{border-bottom:0}.dhx_layout-cell--collapsed{overflow:hidden;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_layout-cell-content{padding:12px}.dhx_layout-cell-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #e4e4e4;padding:8px 12px}.dhx_layout-cell-header__title{margin:0;font-size:14px;line-height:20px;font-weight:500;color:rgba(0,0,0,.7);white-space:nowrap;overflow:hidden;text-overflow:clip;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.dhx_layout-cell-header__icon{margin-right:16px}.dhx_layout-cell-header__image-wrapper{position:relative;width:20px;height:20px;margin-right:8px}.dhx_layout-cell-header__image{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border-radius:50%}.dhx_layout-cell-header__collapse-icon{margin-left:auto;color:#4d4d4d;-webkit-transition:color .2s ease-in,-webkit-transform .2s ease-in;transition:color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,color .2s ease-in;transition:transform .2s ease-in,color .2s ease-in,-webkit-transform .2s ease-in}.dhx_layout-cell-header--collapseble{cursor:pointer}.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__title,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__title{color:#0288d1;-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.dhx_layout-cell-header--collapseble:focus,.dhx_layout-cell-header:focus{outline-width:0}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col{border-bottom:0;position:relative}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col .dhx_layout-cell-header__title{position:absolute;-webkit-transform-origin:left;-ms-transform-origin:left;transform-origin:left;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);bottom:-12px;left:50%}.dhx_layout-cell-header+.dhx_layout-cell-content{overflow:auto;max-height:calc(100% - 37px)}.dhx_layout-resizer{position:relative;overflow:visible;text-align:center}.dhx_layout-resizer .dhx_layout-resizer__icon{position:relative;z-index:1}.dhx_layout-resizer--x{width:0;height:100%;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.dhx_layout-resizer--x .dhx_layout-resizer__icon{color:rgba(0,0,0,.5);top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);cursor:ew-resize}.dhx_layout-resizer--x .dhx_layout-resizer__icon:before{font-size:16px}.dhx_layout-resizer--y{height:0;width:100%}.dhx_layout-resizer--y .dhx_layout-resizer__icon{color:rgba(0,0,0,.5);-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);cursor:ns-resize}.dhx_layout-resizer--y .dhx_layout-resizer__icon:before{font-size:16px}.dhx_navbar-count{width:24px;height:24px;border-radius:50%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:24px;color:#fff;text-align:center;z-index:1}.dhx_navbar-count--absolute{margin-left:0;position:absolute;top:-4px;top:-10px;right:-10px}.dhx_navbar-count--button-inline{margin-top:-4px;margin-bottom:-4px;margin-left:12px}.dhx_navbar-count--overlimit{width:auto;border-radius:22px;padding:0 8px}.dhx_navbar-count--color_success{background-color:#0ab169}.dhx_navbar-count--color_danger{background-color:#ff5252}.dhx_navbar-count--color_primary{background-color:#0288d1}.dhx_navbar-count--color_secondary{background-color:#4d4d4d}.dhx_navbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;margin:0;padding:0;width:100%;list-style:none}.dhx_navbar:focus{outline:none}.dhx_navbar--horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_navbar--vertical{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:auto}.dhx_navbar .dhx_button--color_secondary.dhx_button--view_link .dhx_button__icon{color:rgba(0,0,0,.5)}.dhx_navbar-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);font-weight:500}.dhx_navbar-title--sidebar{display:block;padding:12px}.dhx_timepicker{width:100%;padding:50px 20px;min-width:248px;background-color:#fff}.dhx_timepicker--with-actions{padding:4px 20px 0}.dhx_timepicker__inputs{text-align:center;margin-bottom:28px;margin-top:16px}.dhx_timepicker__close{min-height:32px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-bottom:6px}.dhx_timepicker__button-close{text-transform:uppercase;-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px)}.dhx_timepicker__save{padding-top:12px;min-height:76px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_timepicker-inputs{position:relative;display:inline-block}.dhx_timepicker-input{width:48px;height:38px;font-size:30px;padding-bottom:4px;color:rgba(0,0,0,.7);line-height:30px;text-align:center;outline:none;border:none;border-bottom:1px solid #ededed;-webkit-transition:border-color .2s ease-in;transition:border-color .2s ease-in;background-color:transparent}.dhx_timepicker-input:focus{border-bottom:1px solid #81c4e8;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.dhx_timepicker-ampm{position:absolute;right:-32px;bottom:4px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.3);font-size:16px;line-height:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_timepicker-delimer{position:relative;top:-2px;height:30px;width:8px;color:rgba(0,0,0,.7);line-height:30px;font-size:30px}.dhx_calendar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;min-height:258px;padding:12px;background-color:#fff}.dhx_calendar--with_timepicker{min-height:310px}.dhx_calendar__wrapper{position:relative;z-index:1;width:100%;min-height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_calendar__dates-wrapper{position:relative;padding-left:40px}.dhx_calendar__navigation{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;text-align:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:-4px 2px 4px}.dhx_calendar__navigation .dhx_button--color_secondary:focus,.dhx_calendar__navigation .dhx_button--view_link:focus{background:inherit}.dhx_calendar__navigation .dhx_button--color_secondary:hover,.dhx_calendar__navigation .dhx_button--view_link:hover{background:#e4e4e4}.dhx_calendar__timepicker-button{margin-top:8px}.dhx_calendar__actions{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_calendar__week-numbers{position:absolute;left:0;top:-4px;width:32px;padding:4px 0;background-color:#f7f7f7}.dhx_calendar__week-numbers:before{content:"#";display:block;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:16px;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar__weekdays{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin:0 0 8px}.dhx_calendar__days,.dhx_calendar__months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_calendar__months,.dhx_calendar__years{margin-top:auto;margin-bottom:auto}.dhx_calendar__years{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_calendar-weekday{-webkit-box-flex:1;-webkit-flex:1 0 14%;-ms-flex:1 0 14%;flex:1 0 14%;font-size:12px;line-height:16px}.dhx_calendar-week-number,.dhx_calendar-weekday{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar-week-number{margin-bottom:12px;font-size:14px;line-height:20px}.dhx_calendar-week-number:last-child{margin-bottom:0}.dhx_calendar-week-number--hidden{opacity:0;pointer-events:none}.dhx_calendar-day{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 14%;-ms-flex:1 0 14%;flex:1 0 14%;margin-bottom:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.5);text-align:center;cursor:pointer}.dhx_calendar-day:nth-last-child(-n+7){margin-bottom:0}.dhx_calendar-day:after,.dhx_calendar-day:before{content:"";position:absolute;top:50%;left:50%;display:block;width:28px;height:28px;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;z-index:-1}.dhx_calendar-day:active,.dhx_calendar-day:focus{outline:none}.dhx_calendar-day:active:before,.dhx_calendar-day:focus:before,.dhx_calendar-day:hover:before{opacity:1;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.dhx_calendar-day--weekend{color:#0288d1}.dhx_calendar-day--hidden{opacity:0;pointer-events:none}.dhx_calendar-day--muffled{opacity:.6}.dhx_calendar-day--selected{color:#fff;position:relative;z-index:1}.dhx_calendar-day--selected:before{opacity:1;background-color:#0288d1}.dhx_calendar-day--disabled{color:rgba(0,0,0,.3);pointer-events:none}.dhx_calendar-day--weekend-disabled{pointer-events:none;color:#6ecbfe}.dhx_calendar-day--in-range:after{opacity:1;background-color:#d3efff;border-radius:0;width:100%;z-index:-3}.dhx_calendar-day--first-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% - 2px);left:auto;border-radius:0;border-top-left-radius:32px;border-bottom-left-radius:32px}.dhx_calendar-day--last-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% + 2px);left:auto;border-radius:0;border-top-right-radius:32px;border-bottom-right-radius:32px}.dhx_calendar-day:nth-child(7n).dhx_calendar-day--first-date:after{width:30px;right:calc(-50% + 1px)}.dhx_calendar-day:nth-child(7n+1).dhx_calendar-day--last-date:after{width:30px;right:calc(-50% + 3px)}.dhx_calendar-month,.dhx_calendar-year{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 25%;-ms-flex:1 0 25%;flex:1 0 25%;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:50px;color:rgba(0,0,0,.7);text-align:center;cursor:pointer}.dhx_calendar-month:nth-last-child(-n+4),.dhx_calendar-year:nth-last-child(-n+4){margin-bottom:0}.dhx_calendar-month:before,.dhx_calendar-year:before{content:"";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block;width:50px;height:50px;background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;-webkit-transition:opacity .2s ease-in,background-color .2s ease-in;transition:opacity .2s ease-in,background-color .2s ease-in;z-index:-1}.dhx_calendar-month:active,.dhx_calendar-month:focus,.dhx_calendar-year:active,.dhx_calendar-year:focus{outline:none}.dhx_calendar-month:active:before,.dhx_calendar-month:focus:before,.dhx_calendar-month:hover:before,.dhx_calendar-year:active:before,.dhx_calendar-year:focus:before,.dhx_calendar-year:hover:before{opacity:1;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.dhx_calendar-month:hover:before,.dhx_calendar-year:hover:before{z-index:-2}.dhx_calendar-month--selected,.dhx_calendar-year--selected{color:#fff}.dhx_calendar-month--selected:before,.dhx_calendar-year--selected:before{opacity:1;-webkit-transition:opacity .2s ease-in,background-color .2s ease-in;transition:opacity .2s ease-in,background-color .2s ease-in;background-color:#0288d1}.dhx_chart{stroke-linecap:square;position:relative;height:100%}.dhx_chart svg{vertical-align:top;overflow:visible}.dhx_chart .chart{-webkit-transition:all .5s ease;transition:all .5s ease}.dhx_chart.not-animate .chart,.dhx_chart.not-animate .tooltip-form,.dhx_chart.not-animate .tooltip-text{-webkit-transition:none;transition:none}.dhx_chart .figure{-webkit-transition:fill,stroke .3s ease;transition:fill,stroke .3s ease}.dhx_chart .active-figure{visibility:visible;-webkit-transition:all .2s ease;transition:all .2s ease}.dhx_chart .active-figure.point-circle,.dhx_chart .active-figure.point-rect,.dhx_chart .active-figure.point-rhombus,.dhx_chart .active-figure.point-triangle{-webkit-filter:url(#dropshadow);filter:url(#dropshadow);-webkit-transition:all .3s ease;transition:all .3s ease}.dhx_chart .area{stroke-linecap:round}.dhx_chart .dash-line{stroke-dasharray:4,6;stroke-linecap:round}.dhx_chart .legend-text,.dhx_chart .scale-text,.dhx_chart .scale-title{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;fill:#898f97}.dhx_chart text{text-anchor:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.dhx_chart .start-text{text-anchor:start}.dhx_chart .end-text{text-anchor:end}.dhx_chart .legend-text{line-height:18px}.dhx_chart .scale-title{fill:#aeb7c2;line-height:16px}.dhx_chart .grid-line{stroke:#e3e9f1}.dhx_chart .main-scale{stroke:#c8d4e4;stroke-width:2px}.dhx_chart .radar-grid{stroke-dasharray:4,6;stroke:#d8e1ec;stroke-linecap:round}.dhx_chart .zebra{fill-rule:evenodd;fill:#f3f6fa}.dhx_chart .radar-scale{stroke:#c4d5e6}.dhx_chart .spec-grid-line{stroke:#898f97;stroke-linecap:round;stroke-dasharray:4,6}.dhx_chart .bar-text{fill:#fff;line-height:14px;font-weight:500;font-size:12px}.dhx_chart .bar-text,.dhx_chart .radar-axis-text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_chart .radar-axis-text{font-size:14px;fill:#666}.dhx_chart .legend-item{cursor:pointer}.dhx_chart .legend-item.not-active .figure{fill:#c8d4e4;fill-opacity:1;stroke:#c8d4e4}.dhx_chart .legend-item.not-active .figure.legend-circle,.dhx_chart .legend-item.not-active .figure.legend-rect{stroke:none}.dhx_chart .legend-item.not-active .figure.legend-circle.with-stroke,.dhx_chart .legend-item.not-active .figure.legend-rect.with-stroke{stroke:#c8d4e4}.dhx_chart .legend-item.not-active .legend-text{fill:#c8d4e4}.dhx_chart.tooltip-container{z-index:2147483647}.dhx_chart.tooltip-container svg{width:4px;height:4px}.dhx_chart .tooltip-form{fill:#555;fill-opacity:.9}.dhx_chart .tooltip-text{font-size:12px;line-height:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;fill:#fff;font-weight:500}.dhx_chart .active-tooltip{visibility:visible}.dhx_chart .pie-value{font-weight:400;font-size:14px;fill:#898f97}.dhx_chart .pie-inner-value,.dhx_chart .pie-value{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_chart .pie-inner-value{fill:#fff;pointer-events:none;font-weight:500;line-height:14px;font-size:12px}.dhx_chart .pie-value-connector{stroke:#c6c6c6;fill:none}.dhx_chart .donut-value-title{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;fill:#898f97;font-size:14px;line-height:18px}.dhx_chart .donut-value{fill:#555;font-size:12px;line-height:14px}.dhx_chart .donut-value,.dhx_popup{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_popup{position:fixed;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-animation:appear .2s ease-in-out forwards;animation:appear .2s ease-in-out forwards;background:#fff;will-change:transform;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_popup,.dhx_popup--window,.dhx_popup--window_modal{z-index:2147483645}.dhx_popup--window_active{z-index:2147483646}.dhx_popup.hide{-webkit-animation:disappear .2s ease-in-out forwards;animation:disappear .2s ease-in-out forwards}.dhx_popup:focus{outline:none}.dhx_widget--fullscreen .dhx_popup{z-index:2147483647}@-webkit-keyframes appear{0%{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes appear{0%{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@-webkit-keyframes disappear{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}}@keyframes disappear{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}}.dhx_colorpicker{font-family:Roboto,sans-serif;font-weight:500;overflow:hidden;padding:8px;border:1px solid #e4e4e4;background-color:#fff;border-radius:2px}.dhx_colorpicker,.dhx_colorpicker *{-webkit-box-sizing:border-box;box-sizing:border-box}.dhx_popup .dhx_colorpicker{-webkit-box-shadow:0 2px 5px rgba(0,0,0,.3);box-shadow:0 2px 5px rgba(0,0,0,.3);border:none}.dhx_palette{overflow:hidden;width:100%;height:100%;margin:0;white-space:nowrap}.dhx_palette--custom{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:236px}.dhx_palette--custom .dhx_custom-color__cell{margin-bottom:2px}.dhx_palette__col{display:inline-block}.dhx_palette__col:last-child .dhx_palette_cell{margin-right:0}.dhx_palette__row .dhx_palette__cell{display:inline-block;margin-bottom:6px}.dhx_palette__row .dhx_palette__cell:last-child{margin-right:0}.dhx_palette__row--last{margin-bottom:0}.dhx_palette__cell{position:relative;width:20px;height:20px;margin:0 2px 2px 0;vertical-align:top;border:2px solid transparent}.dhx_palette__cell,.dhx_palette__cell:after{-webkit-transition:border .2s ease-in;transition:border .2s ease-in}.dhx_palette__cell:after{content:"";display:block;position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:1px solid transparent}.dhx_palette__cell:last-child{margin-bottom:0}.dhx_palette__cell--selected,.dhx_palette__cell:hover{border:2px solid hsla(0,0%,100%,.6);-webkit-transition:border .2s ease-out;transition:border .2s ease-out}.dhx_palette__cell--selected:after,.dhx_palette__cell:hover:after{border:1px solid rgba(0,0,0,.6);-webkit-transition:border .2s ease-out;transition:border .2s ease-out}.dhx_colorpicker-custom-colors{font-size:14px;color:#909cad}.dhx_colorpicker-custom-colors__header{font-size:14px;padding:12px 0 4px;letter-spacing:-.2px;position:relative}.dhx_colorpicker-custom-colors__picker{display:inline-block;width:20px;height:20px;cursor:pointer;color:#909cad;-webkit-box-shadow:inset 0 0 0 1px #909cad;box-shadow:inset 0 0 0 1px #909cad}.dhx_colorpicker-picker__palette{position:relative;width:100%;border-radius:2px;overflow:hidden}.dhx_colorpicker-picker__palette:before{content:"";height:100%;width:100%;position:absolute;top:0;left:0;background-image:-webkit-gradient(linear,left bottom,left top,from(#000),to(hsla(0,0%,100%,0)));background-image:-webkit-linear-gradient(bottom,#000,hsla(0,0%,100%,0));background-image:linear-gradient(0deg,#000,hsla(0,0%,100%,0));z-index:2}.dhx_colorpicker-picker__palette:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0;background-image:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(204,154,129,0)));background-image:-webkit-linear-gradient(left,#fff,rgba(204,154,129,0));background-image:linear-gradient(90deg,#fff,rgba(204,154,129,0));z-index:1}.dhx_colorpicker-picker__buttons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:12px 0 0;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_colorpicker-picker__buttons .dhx_button:first-child{margin-right:4px}.dhx_colorpicker-hue-range{position:relative;width:100%;margin:4px 0 8px;border-radius:2px;background-image:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background-image:-webkit-linear-gradient(left,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);background-image:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.dhx_colorpicker-hue-range__grip{width:6px;height:100%}.dhx_colorpicker-hue-range__grip,.dhx_palette_grip{position:absolute;top:0;left:0;border:1px solid #fff;background:transparent;-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,.3);box-shadow:0 2px 5px 0 rgba(0,0,0,.3)}.dhx_palette_grip{width:10px;height:10px;border-radius:50%;z-index:10}.dhx_colorpicker-value{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;height:32px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_colorpicker-value__color{width:100px;border:1px solid transparent;border-radius:2px;margin-right:8px}.dhx_colorpicker-value__input-wrapper{position:relative;border:1px solid #d4dde7}.dhx_colorpicker-value__input-wrapper:before{content:"#";position:absolute;height:100%;line-height:30px;left:8px;color:#909cad;font-size:15px}.dhx_colorpicker-value__input{width:100px;height:100%;padding:0 0 0 24px;line-height:20px;font-size:14px;color:rgba(0,0,0,.7);border:none;border-radius:2px;outline:none}.dhx_list{margin:0;padding:0;height:100%;list-style:none;overflow:auto;max-height:100%}.dhx_list--virtual{overflow:visible;max-height:unset;border:none}.dhx_list-item{overflow:hidden;position:relative;padding:8px 12px;border-bottom:1px solid #e4e4e4}.dhx_list-item,.dhx_list-item--text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_list-item--text{font-size:14px;font-weight:400;line-height:20px;-webkit-transition:background-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in,-webkit-box-shadow .2s ease-in}.dhx_list-item--selected{background-color:#f7f7f7;-webkit-box-shadow:inset 2px 0 0 0 #0288d1;box-shadow:inset 2px 0 0 0 #0288d1}.dhx_list-item--focus,.dhx_list-item--selected:hover,.dhx_list-item:hover{background-color:#ededed;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_list-item--drophere:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;background-color:#f7f7f7}.dhx_list-item--dragtarget{opacity:.6}.dhx_list-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_list-input{width:100%;padding-left:5px}.dhx_virtual-list-wrapper{overflow:auto;max-height:100%;border:1px solid #e4e4e4}.dhx_drag-ghost .dhx_list-item{border:1px solid #e4e4e4!important;background-color:#fff;list-style-type:none}.dhx_drag-ghost .dhx_list-item--selected{background-color:#fff;-webkit-box-shadow:inset 0 0 0 0 #0288d1;box-shadow:inset 0 0 0 0 #0288d1}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:#fff;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_combobox{margin-bottom:16px}.dhx_combobox__options{margin-top:2px;width:100%}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_combobox--label-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;position:relative}.dhx_combobox--label-inline .dhx_combobox__label{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;text-align:right;margin-right:16px;width:100%}.dhx_combobox--label-inline .dhx_combobox-input-box{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;width:300%}.dhx_combobox-input-box{position:relative;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;background-color:#f7f7f7;background-clip:padding-box;border-radius:2px;-webkit-box-shadow:inset 0 0 0 1px #dfdfdf;box-shadow:inset 0 0 0 1px #dfdfdf;-webkit-transition:border-color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:border-color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:border-color .2s ease-out,box-shadow .2s ease-out;transition:border-color .2s ease-out,box-shadow .2s ease-out,-webkit-box-shadow .2s ease-out}.dhx_combobox-input-box--readonly,.dhx_combobox-input-box--readonly *{cursor:pointer}.dhx_combobox-input-box--disabled{cursor:not-allowed;opacity:.8}.dhx_combobox-input-box--disabled *{cursor:not-allowed;pointer-events:none}.dhx_combobox-input-box--active,.dhx_combobox-input-box:focus-within{-webkit-box-shadow:inset 0 0 0 1px #67b8e3;box-shadow:inset 0 0 0 1px #67b8e3}.dhx_combobox-input-box--state_success{-webkit-box-shadow:inset 0 0 0 1px #6cd0a5;box-shadow:inset 0 0 0 1px #6cd0a5}.dhx_combobox-input-box--state_error{-webkit-box-shadow:inset 0 0 0 1px #ff9797;box-shadow:inset 0 0 0 1px #ff9797}.dhx_combobox-input{min-height:30px;display:block;width:100%;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.dhx_combobox-input:active,.dhx_combobox-input:focus{outline:none}.dhx_combobox-input__wrapper{position:static;padding-bottom:0}.dhx_combobox-input__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;cursor:pointer;-webkit-box-flex:0;-webkit-flex:0;-ms-flex:0;flex:0;position:absolute;top:50%;right:4px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:16px;z-index:1;color:rgba(0,0,0,.5)}.dhx_combobox-input-list-wrapper{height:100%;width:100%;overflow:hidden}.dhx_combobox-input-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;list-style:none;margin:0;border-top:1px solid transparent;border-bottom:1px solid transparent;min-height:30px;max-height:96px;width:calc(100% - 32px);overflow-y:scroll;padding:0 41px 0 8px;-webkit-box-sizing:content-box!important;box-sizing:content-box!important}.dhx_combobox-input-list__item{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_combobox-input-list__item--input{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.dhx_combobox-tag{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:0 8px;margin-top:2px;margin-bottom:2px;border:1px solid #e4e4e4;border-radius:16px;background-color:#fff;margin-right:8px}.dhx_combobox-tag__value{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap}.dhx_combobox-tag__icon,.dhx_combobox-tag__image{margin-right:4px}.dhx_combobox-tag__image{width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-tag__action{height:20px;margin-left:4px;margin-right:-6px;color:rgba(0,0,0,.5);padding:0;background-color:transparent;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.dhx_combobox-tag__action:hover{color:rgba(0,0,0,.7);-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.dhx_combobox-options{background-color:#fff;border-radius:2px;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.3);box-shadow:0 2px 5px rgba(0,0,0,.3)}.dhx_combobox-options__icon{padding-right:4px}.dhx_combobox-options__image{padding-right:4px;width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-options__item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;padding:6px 8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_combobox-options__item--select-all{color:#0288d1;line-height:20px;border-bottom:1px solid #e4e4e4}.dhx_dataview{position:relative;overflow-y:auto;height:100%;max-height:100%}.dhx_dataview--has-scroll .dhx_dataview-row:last-child .dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-bottom:0}.dhx_dataview-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.dhx_dataview-row .dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-top:0}.dhx_dataview-item{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;border:1px solid #e4e4e4;padding:8px;-webkit-transition:-webkit-box-shadow .2s ease-in;transition:-webkit-box-shadow .2s ease-in;transition:box-shadow .2s ease-in;transition:box-shadow .2s ease-in,-webkit-box-shadow .2s ease-in}.dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-left:0}.dhx_dataview-item--last-item-in-row:not(.dhx_dataview-item--with-gap){border-right:0}.dhx_dataview-item:focus{outline:none}.dhx_dataview-item:after{content:"";display:block;position:absolute;left:0;right:0;bottom:0;top:0;z-index:1;border:1px solid transparent;-webkit-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;pointer-events:none}.dhx_dataview-item--focus{-webkit-box-shadow:inset 0 0 0 1px #a6a6a6;box-shadow:inset 0 0 0 1px #a6a6a6}.dhx_dataview-item--focus,.dhx_dataview-item--selected{-webkit-transition:-webkit-box-shadow .2s ease-out;transition:-webkit-box-shadow .2s ease-out;transition:box-shadow .2s ease-out;transition:box-shadow .2s ease-out,-webkit-box-shadow .2s ease-out}.dhx_dataview-item--selected{-webkit-box-shadow:inset 0 0 0 1px #0288d1;box-shadow:inset 0 0 0 1px #0288d1}.dhx_dataview-item--drophere:after{background-color:#f7f7f7}.dhx_dataview-item--dragtarget{opacity:.6}.dhx_dataview-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_dataview-input{padding-left:5px}.dhx_drag-ghost{z-index:999;opacity:.6}.dhx_drag-ghost .dhx_dataview-item{border:1px solid #e4e4e4!important;background-color:#fff}.dhx_footer-wrapper,.dhx_header-wrapper{position:relative;font-size:14px;font-weight:500;color:rgba(0,0,0,.7);z-index:10;overflow:hidden}.dhx_footer-wrapper.dhx_compatible-header,.dhx_header-wrapper.dhx_compatible-header{border-right:none}.dhx_footer-wrapper:last-child,.dhx_header-wrapper:last-child{border-bottom:none}.dhx_grid-header{position:relative;height:100%;white-space:nowrap;z-index:10}.dhx_grid-footer-cell,.dhx_grid-header-cell{display:inline-block;height:100%;padding:0 8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;vertical-align:top;white-space:nowrap;overflow:hidden;position:relative;font-weight:500;background-color:#f7f7f7;border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;border-left:none;text-overflow:ellipsis;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_grid-footer-cell:not(.dhx_cell_first),.dhx_grid-header-cell:not(.dhx_cell_first){border-left:1px solid #e4e4e4}.dhx_grid-footer-cell:first-child,.dhx_grid-header-cell:first-child{border-left:none}.dhx_grid-header-cell--sortable:hover .dhx_grid-sort-icon{opacity:1}.dhx_grid-header-cell--sortable:hover:after,.dhx_grid-header-cell--sorted:after{content:"";display:block;width:24px;position:absolute;top:0;bottom:0;background-color:#f7f7f7;opacity:.8}.dhx_grid-header-cell--align_right{text-align:right;padding-left:24px}.dhx_grid-header-cell--align_right .dhx_grid-sort-icon{left:4px}.dhx_grid-header-cell--align_right:after{left:0}.dhx_grid-header-cell--align_left{text-align:left}.dhx_grid-header-cell--align_left .dhx_grid-sort-icon{right:4px}.dhx_grid-header-cell--align_left:after{right:0}.dhx_grid-sort-icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);opacity:0;color:rgba(0,0,0,.5);z-index:1;-webkit-transition:all .2s ease-in;transition:all .2s ease-in;cursor:pointer}.dhx_grid-sort-icon:before{font-size:16px;display:inline-block;-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.dhx_grid-sort-icon--asc,.dhx_grid-sort-icon--desc{opacity:1;color:#0288d1;-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.dhx_grid-sort-icon--asc:before{-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}.dhx_cell_empty{border-top:none}.dhx_header-row{white-space:nowrap;background:#f7f7f7}.dhx_header-row:last-child .dhx_cell-first{border-bottom:1px solid #f7f7f7}.dhx_header-row:first-child .dhx_grid-footer-cell,.dhx_header-row:first-child .dhx_grid-header-cell{border-top:none}.dhx_header-row:not(:last-child) .dhx_grid-footer-cell,.dhx_header-row:not(:last-child) .dhx_grid-header-cell{border-bottom:none}.dhx_header-row .dhx_grid-custom-content-cell{padding:5px}.dhx_header-spans{position:absolute;top:0}.dhx_header-spans .dhx_span-cell{background:#f7f7f7;font-weight:500}.dhx_grid-filter__label{display:block;width:100%;height:100%;position:relative}.dhx_grid-filter__label:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:10}.dhx_grid-filter{height:100%;padding:0 25px 0 4px;color:rgba(0,0,0,.7);background:#fff;border-radius:2px;outline:none;position:relative}.dhx_grid-filter::-ms-expand{display:none}.dhx_header-fixed-cols{background:#f7f7f7;z-index:999}.dhx_header-fixed-cols .dhx_last-column-cell{border-right:1px solid #e4e4e4}.dhx_footer-wrapper{-webkit-box-shadow:0 1px 0 0 #f7f7f7;box-shadow:0 1px 0 0 #f7f7f7}.dhx_grid-footer{position:relative;background-color:#f7f7f7}.dhx_grid-footer-cell{border-top:1px solid #e4e4e4}.dhx_grid-footer-cell:after{display:none}.dhx_grid-footer-cell.dhx_number-cell{text-align:right}.dhx_grid-footer-cell.dhx_string-cell{text-align:left}.dhx_footer-row{white-space:nowrap;background:#f7f7f7}.dhx_footer-row:last-child .dhx_cell-first{border-bottom:1px solid #f7f7f7}.dhx_footer-row .dhx_grid-footer-cell{border-bottom:none}.dhx_footer-spans .dhx_span-cell{background-color:#f7f7f7}.dhx_footer-spans .dhx_span-row .dhx_span-cell{border-top:1px solid #e4e4e4}.dhx_footer-fixed-cols{background:#f7f7f7;z-index:999}.dhx_footer-fixed-cols .dhx_last-column-cell{border-right:1px solid #e4e4e4}.dhx_grid-row{width:100%;white-space:nowrap;overflow:hidden}.dhx_grid-row:first-child .dhx_grid-cell{border-top:none}.dhx_grid-cell{font-size:14px;color:rgba(0,0,0,.7);text-align:right;position:relative;display:inline-block;height:100%;padding:0 8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;vertical-align:top;white-space:nowrap;border-top:1px solid #e4e4e4;border-left:1px solid #e4e4e4;overflow:hidden}.dhx_grid-cell .dhx_cell-content{width:100%;height:100%;overflow:hidden}.dhx_grid-cell:first-child{border-left:none}.dhx_grid-cell--first{border-top:none}.dhx_grid-cell--title{font-size:14px;font-weight:400;color:rgba(0,0,0,.7);text-align:left;border-bottom:none}.dhx_grid-cell--after-title,.dhx_grid-cell--title{border-top:1px solid #e4e4e4}.dhx_grid-cell__editable{padding-right:0;padding-left:0}.dhx_number-cell{text-align:right}.dhx_string-cell,.dhx_tree-cell{text-align:left}.dhx_tree-cell{font-weight:14px;color:rgba(0,0,0,.5)}.dhx_tree-cell .dhx_grid-expand-cell-icon{position:absolute;top:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:20px;height:100%;padding:0 0 0 4px;font-size:14px;cursor:pointer}.dhx_tree-cell .dhx_tree-cell{display:inline-block;padding:0 8px}.dhx_grid-expand-cell{cursor:pointer}.dhx_grid-expand-cell .dhx_tree-cell{padding:0 10px 0 30px}.dhx_grid-fixed-cols-wrap{position:absolute;top:0;left:0;background:#fff;overflow:hidden}.dhx_frozen-cols-border{width:1px;position:absolute;right:0;top:0;height:100%;background:#e4e4e4;z-index:999999}.dhx_grid-fixed-cols,.dhx_grid-selection{position:absolute;top:0}.dhx_grid-selection{left:0}.dhx_grid-selected-row{border-left:2px solid #0288d1;background:rgba(77,77,77,.08);pointer-events:none}.dhx_grid-selected-cell{border:2px solid #0288d1;background-color:transparent;pointer-events:none}.dhx_cell-editor{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;width:100%;height:100%;text-align:inherit;color:rgba(0,0,0,.7);border:none;background:transparent;-webkit-box-shadow:inset 0 0 0 1px #0288d1;box-shadow:inset 0 0 0 1px #0288d1;outline:none}.dhx_cell-editor__input{padding:0 8px;border-radius:0}.dhx_span-cell{position:relative;display:inline-block;height:100%;padding:0 8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;vertical-align:top;white-space:nowrap;border-left:1px solid #e4e4e4;overflow:hidden;position:absolute;display:block;height:auto;font-weight:500;border-top:1px solid #e4e4e4;border-bottom:none;z-index:10}.dhx_span-cell--title{color:rgba(0,0,0,.5)}.dhx_span-row .dhx_first-column-cell{border-left:none}.dhx_span-row .dhx_last-column-cell{border-right:1px solid #e4e4e4}.dhx_span-row:first-child .dhx_span-cell{border-top:none}.dhx_span-spans{position:absolute;top:0;left:0}.dhx_span-spans .dhx_span-cell{font-weight:400;color:rgba(0,0,0,.7);line-height:normal;text-align:left;white-space:normal;border-right:none;background:#fff}.dhx_span-spans .dhx_span-cell.dhx_span-first-row{border-top:none}.dhx_span-spans .dhx_span-cell.dhx_span-first-col{border-left:none}.dhx_span-spans .dhx_span-string-cell{text-align:left}.dhx_span-spans .dhx_span-number-cell{text-align:right}.dhx_grid{width:100%;height:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;overflow:hidden}.dhx_grid,.dhx_grid-content{position:relative;background:#fff}.dhx_grid-content{border:1px solid #dfdfdf}.dhx_grid-less-width .dhx_grid-cell:last-child,.dhx_grid-less-width .dhx_grid-footer-cell:last-child,.dhx_grid-less-width .dhx_grid-header-cell:last-child,.dhx_grid-less-width .dhx_grid_footer_cell:last-child,.dhx_grid-less-width .dhx_last-column-cell,.dhx_grid-less-width .dhx_span-last-col{border-right:1px solid #e4e4e4}.dhx_grid-less-height .dhx_footer-row:last-child .dhx_grid-footer-cell,.dhx_grid-less-height .dhx_grid-row:last-child{border-bottom:1px solid #e4e4e4}.dhx_grid-less-height .dhx_footer-row:first-child .dhx_grid-footer-cell{border-top:none}.dhx_grid-less-height .dhx_span-row:last-child .dhx_span-cell{border-bottom:1px solid #e4e4e4}.dhx_grid-less-height .dhx_span-row:first-child .dhx_span-cell{border-top:none}.dhx_grid-body{overflow:auto}.dhx_data-wrap,.dhx_grid-body{position:relative;width:100%;height:100%}.dhx_data-wrap{overflow:hidden}.dhx_menu-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;margin:0;padding:0;width:100%;list-style:none;overflow-x:auto;background-color:#ededed}.dhx_menu-nav__item--separator{pointer-events:none;width:1px;background-color:#dfdfdf;margin-top:8px;margin-bottom:8px}.dhx_menu-nav__item--spacer{pointer-events:none;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.dhx_nav-menu-button{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:8px 12px;font-weight:500;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:transparent;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in}.dhx_nav-menu-button--active:not(:disabled),.dhx_nav-menu-button:active:not(:disabled),.dhx_nav-menu-button:hover:not(:disabled){background-color:rgba(0,0,0,.07);-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_nav-menu-button--disabled,.dhx_nav-menu-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_nav-menu-button--disabled *,.dhx_nav-menu-button:disabled *{color:rgba(0,0,0,.3)}.dhx_menu{padding:0;margin:0;background:#fff;list-style:none;border-radius:2px;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.3);box-shadow:0 2px 5px rgba(0,0,0,.3);overflow:hidden;z-index:999}.dhx_menu-item{min-width:180px}.dhx_menu-item--separator{pointer-events:none;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;height:1px;margin:2px 8px;background-color:#e4e4e4}.dhx_menu-item--spacer{pointer-events:none;height:16px}.dhx_menu-item--left-gap .dhx_menu-button{padding-left:38px}.dhx_menu-button{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:8px;text-align:left;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:rgba(0,0,0,.7);background-color:transparent;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in}.dhx_menu-button--active:not(:disabled),.dhx_menu-button:active:not(:disabled),.dhx_menu-button:focus:not(:disabled),.dhx_menu-button:hover:not(:disabled){background-color:#ededed;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_menu-button--disabled,.dhx_menu-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_menu-button--disabled *,.dhx_menu-button:disabled *{color:rgba(0,0,0,.3)}.dhx_menu-button__icon{color:rgba(0,0,0,.5)}.dhx_widget .dhx_menu-button__icon{line-height:0}.dhx_widget .dhx_menu-button__icon:before{font-size:20px;line-height:20px}.dhx_menu-button__icon+.dhx_menu-button__text{margin-left:8px}.dhx_menu-button__block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_menu-button__block--left{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.dhx_menu-button__block--right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_menu-button__count{margin-left:8px;margin-top:-2px;margin-bottom:-2px}.dhx_menu-button__hotkey{margin-left:8px;color:rgba(0,0,0,.3)}.dhx_menu-button__caret{margin-left:8px;color:rgba(0,0,0,.5)}.dhx_widget--fullscreen .dhx_menu{z-index:2147483647}.dhx_ribbon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:10px;list-style:none}.dhx_ribbon:focus{outline:none}.dhx_ribbon__item{margin:2px}.dhx_ribbon__item--auto,.dhx_ribbon__item--medium{min-width:68px;min-height:68px}.dhx_ribbon__item--auto,.dhx_ribbon__item--icon,.dhx_ribbon__item--medium,.dhx_ribbon__item--spacer{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.dhx_ribbon__item--separator{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;width:1px;margin:8px 4px;background-color:#dfdfdf}.dhx_ribbon-button__icon+.dhx_ribbon-button__text{margin-left:4px}.dhx_widget .dhx_ribbon-button__icon{line-height:0}.dhx_widget .dhx_ribbon-button__icon:before{font-size:20px;line-height:20px}.dhx_ribbon-button,.dhx_ribbon-button-image{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;width:100%;padding:6px 12px;-webkit-box-shadow:inset 0 0 0 1px #dfdfdf;box-shadow:inset 0 0 0 1px #dfdfdf;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;font-weight:400;color:rgba(0,0,0,.7);background-color:transparent;border-radius:2px;-webkit-transition:background-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in,-webkit-box-shadow .2s ease-in}.dhx_ribbon-button-image__icon,.dhx_ribbon-button__icon{color:rgba(0,0,0,.5);line-height:0}.dhx_ribbon-button-image__count,.dhx_ribbon-button__count{margin-left:8px;margin-top:-10px;margin-bottom:-10px}.dhx_ribbon-button--auto,.dhx_ribbon-button--medium,.dhx_ribbon-button-image--auto,.dhx_ribbon-button-image--medium{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;min-width:68px;min-height:68px;height:100%}.dhx_ribbon-button--auto .dhx_ribbon-button-image__count,.dhx_ribbon-button--auto .dhx_ribbon-button__count,.dhx_ribbon-button--medium .dhx_ribbon-button-image__count,.dhx_ribbon-button--medium .dhx_ribbon-button__count,.dhx_ribbon-button-image--auto .dhx_ribbon-button-image__count,.dhx_ribbon-button-image--auto .dhx_ribbon-button__count,.dhx_ribbon-button-image--medium .dhx_ribbon-button-image__count,.dhx_ribbon-button-image--medium .dhx_ribbon-button__count{margin-left:0;position:absolute;top:4px;right:4px}.dhx_ribbon-button--auto .dhx_ribbon-button__icon+.dhx_ribbon-button__text,.dhx_ribbon-button--medium .dhx_ribbon-button__icon+.dhx_ribbon-button__text,.dhx_ribbon-button-image--auto .dhx_ribbon-button__icon+.dhx_ribbon-button__text,.dhx_ribbon-button-image--medium .dhx_ribbon-button__icon+.dhx_ribbon-button__text{margin-left:0;margin-top:2px}.dhx_ribbon-button--icon,.dhx_ribbon-button-image--icon{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_ribbon-button--select,.dhx_ribbon-button-image--select{padding-right:8px}.dhx_ribbon-button--select .dhx_ribbon-button__text,.dhx_ribbon-button-image--select .dhx_ribbon-button__text{margin-right:8px}.dhx_ribbon-button-image:hover,.dhx_ribbon-button:hover{background-color:rgba(0,0,0,.07);-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_ribbon-button--active,.dhx_ribbon-button-image--active,.dhx_ribbon-button-image:active,.dhx_ribbon-button:active{background-color:#f2f9fd;-webkit-transition:background-color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:background-color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:background-color .2s ease-out,box-shadow .2s ease-out;transition:background-color .2s ease-out,box-shadow .2s ease-out,-webkit-box-shadow .2s ease-out;-webkit-box-shadow:inset 0 0 0 1px #b3dbf1;box-shadow:inset 0 0 0 1px #b3dbf1}.dhx_ribbon-button--disabled,.dhx_ribbon-button-image--disabled,.dhx_ribbon-button-image:disabled,.dhx_ribbon-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_ribbon-button--disabled:hover,.dhx_ribbon-button-image--disabled:hover,.dhx_ribbon-button-image:disabled:hover,.dhx_ribbon-button:disabled:hover{background-color:transparent}.dhx_ribbon-button--disabled *,.dhx_ribbon-button-image--disabled *,.dhx_ribbon-button-image:disabled *,.dhx_ribbon-button:disabled *{color:rgba(0,0,0,.3)}.dhx_ribbon-button-image__text+.dhx_ribbon-button-image__image{margin-right:4px}.dhx_ribbon-button-image{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-flow:row-reverse;-ms-flex-flow:row-reverse;flex-flow:row-reverse;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_ribbon-button-image__count{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.dhx_ribbon-button-image__image{width:20px;height:20px;background-size:cover;background-position:50%;background-repeat:no-repeat}.dhx_ribbon-button-image--icon{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_ribbon-button-image__count{margin-left:8px}.dhx_ribbon-button-image--auto .dhx_ribbon-button__count,.dhx_ribbon-button-image--medium .dhx_ribbon-button__count{margin-left:0;position:absolute;top:4px;right:4px}.dhx_ribbon-button-image--auto,.dhx_ribbon-button-image--medium{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-flow:column-reverse;-ms-flex-flow:column-reverse;flex-flow:column-reverse;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;min-width:68px;min-height:68px;height:100%}.dhx_ribbon-button-image--auto .dhx_ribbon-button-image__image,.dhx_ribbon-button-image--medium .dhx_ribbon-button-image__image{margin-right:0;width:32px;height:32px}.dhx_ribbon-button-image__caret,.dhx_ribbon-button__caret{margin-left:auto;color:rgba(0,0,0,.5);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.dhx_ribbon-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;text-align:center}.dhx_ribbon-block--root{width:100%}.dhx_ribbon-block--title{position:relative;padding-bottom:20px}.dhx_ribbon-block--indented{margin-right:4px;margin-left:4px}.dhx_ribbon-block--indented:first-child{margin-left:0}.dhx_ribbon-block--indented:last-child{margin-right:0}.dhx_ribbon-block--col>.dhx_ribbon-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.dhx_ribbon-block--row>.dhx_ribbon-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.dhx_ribbon-block--row .dhx_ribbon-button--auto,.dhx_ribbon-block--row .dhx_ribbon-button-image--auto{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_ribbon-content{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;padding:0;list-style:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.dhx_ribbon-content-label-wrapper{display:block;position:absolute;bottom:-6px;left:0;right:0;overflow:hidden}.dhx_ribbon-content-label{position:relative;display:inline;font-family:Roboto;font-style:normal;font-weight:400;font-size:14px;line-height:16px;text-align:center;color:rgba(0,0,0,.38)}.dhx_ribbon-content-label:after,.dhx_ribbon-content-label:before{content:"";position:absolute;top:50%;display:block;height:1px;background:rgba(0,0,0,.07);width:1000%}.dhx_ribbon-content-label:before{left:calc(100% + 4px)}.dhx_ribbon-content-label:after{right:calc(100% + 4px)}.dhx_sidebar{height:100%;position:relative;background-color:#fff;z-index:1}.dhx_sidebar:focus{outline:none}.dhx_sidebar__item--spacer{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.dhx_sidebar__item--separator{height:1px;width:100%;background-color:#dfdfdf;margin:2px 0}.dhx_sidebar--minimized .dhx_navbar-title{opacity:0;pointer-events:none}.dhx_sidebar--minimized .dhx_sidebar-button__icon{margin-left:auto;margin-right:auto}.dhx_sidebar--minimized .dhx_sidebar-button--select{padding-right:12px}.dhx_sidebar--minimized .dhx_sidebar-button__count{position:absolute;max-width:24px;overflow:hidden;top:-4px;right:4px}.dhx_sidebar--minimized .dhx_sidebar-button--select .dhx_sidebar-button__count{margin-right:0}.dhx_sidebar--minimized .dhx_sidebar-button__caret,.dhx_sidebar--minimized .dhx_sidebar-button__text{display:none}.dhx_sidebar-button__icon+.dhx_sidebar-button__text{margin-left:12px}.dhx_sidebar-button{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;font-weight:400;color:rgba(0,0,0,.7);background-color:transparent;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in}.dhx_sidebar-button--select{padding-right:8px}.dhx_sidebar-button--select .dhx_sidebar-button__count{margin-right:8px}.dhx_sidebar-button--icon{padding-right:12px}.dhx_sidebar-button:hover{background-color:rgba(0,0,0,.07)}.dhx_sidebar-button--active,.dhx_sidebar-button:active,.dhx_sidebar-button:hover{-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_sidebar-button--active,.dhx_sidebar-button:active{background-color:rgba(0,0,0,.15)}.dhx_sidebar-button--active{-webkit-box-shadow:inset 2px 0 0 0 #0288d1;box-shadow:inset 2px 0 0 0 #0288d1}.dhx_sidebar-button--disabled,.dhx_sidebar-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_sidebar-button--disabled:hover,.dhx_sidebar-button:disabled:hover{background-color:transparent}.dhx_sidebar-button--disabled *,.dhx_sidebar-button:disabled *{color:rgba(0,0,0,.3)}.dhx_sidebar-button__icon{color:rgba(0,0,0,.5)}.dhx_widget .dhx_sidebar-button__icon{line-height:0}.dhx_widget .dhx_sidebar-button__icon:before{font-size:20px;line-height:20px}.dhx_sidebar-button__text{width:100%;text-align:left}.dhx_sidebar-button__count+.dhx_sidebar-button__caret{margin-left:0}.dhx_sidebar-button__count{min-width:24px;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:auto;margin:-4px 0 -4px auto}.dhx_sidebar-button__caret{margin-right:0;margin-left:auto}.dhx_toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:12px 0}.dhx_toolbar__item--spacer{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.dhx_toolbar__item--separator{width:1px;height:100%;background-color:#dfdfdf;margin:0 2px;height:28px}.dhx_toolbar__item:first-child .dhx_form-group,.dhx_toolbar__item:first-child .dhx_navbar-title,.dhx_toolbar__item:first-child button:not(.dhx_toolbar-button){margin-left:12px}.dhx_toolbar__item:first-child button.dhx_button--view_link,.dhx_toolbar__item:not(:first-child) .dhx_form-group,.dhx_toolbar__item:not(:first-child) .dhx_navbar-title,.dhx_toolbar__item:not(:first-child) button:not(.dhx_toolbar-button){margin-left:4px}.dhx_toolbar__item:last-child .dhx_form-group,.dhx_toolbar__item:last-child .dhx_navbar-title,.dhx_toolbar__item:last-child button:not(.dhx_toolbar-button){margin-right:12px}.dhx_toolbar__item:last-child button.dhx_button--view_link,.dhx_toolbar__item:not(:last-child) .dhx_form-group,.dhx_toolbar__item:not(:last-child) .dhx_navbar-title,.dhx_toolbar__item:not(:last-child) button:not(.dhx_toolbar-button){margin-right:4px}.dhx_toolbar .dhx_button__icon--menu{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.dhx_toolbar__input{height:32px}@supports (display:block){.dhx_toolbar__input{height:unset}}.dhx_toolbar__input .dhx_input{height:32px}@supports (display:block){.dhx_toolbar__input .dhx_input{height:unset}}.dhx_toolbar-button{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:6px 12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;font-weight:500;color:rgba(0,0,0,.7);background-color:transparent;border-radius:2px;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in}.dhx_toolbar-button--select{padding-right:8px}.dhx_toolbar-button--icon{padding-right:12px}.dhx_toolbar-button--circle{border-radius:32px}.dhx_toolbar-button--circle.dhx_toolbar-button--icon{padding-left:6px;padding-right:6px}.dhx_toolbar-button:hover{background-color:rgba(0,0,0,.07)}.dhx_toolbar-button--active,.dhx_toolbar-button:active,.dhx_toolbar-button:hover{-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_toolbar-button--active,.dhx_toolbar-button:active{background-color:rgba(0,0,0,.15)}.dhx_toolbar-button--disabled,.dhx_toolbar-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_toolbar-button--disabled:hover,.dhx_toolbar-button:disabled:hover{background-color:transparent}.dhx_toolbar-button--disabled *,.dhx_toolbar-button:disabled *{color:rgba(0,0,0,.3)}.dhx_toolbar-button__icon{color:rgba(0,0,0,.5)}.dhx_widget .dhx_toolbar-button__icon{line-height:0}.dhx_widget .dhx_toolbar-button__icon:before{font-size:20px;line-height:20px}.dhx_toolbar-button__icon+.dhx_toolbar-button__text{margin-left:8px}.dhx_toolbar-button__count{position:absolute;top:-10px;right:-10px}.dhx_toolbar-button__caret{margin-left:8px;color:rgba(0,0,0,.5);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.dhx_toolbar-button-image{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;width:44px;height:44px;padding:0;margin-top:-8px;margin-bottom:-8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);border-radius:50%;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.dhx_toolbar-button-image:hover{opacity:.8;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.dhx_toolbar-button-image__image{position:absolute;border-radius:50%;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:50%;background-repeat:no-repeat;z-index:1}.dhx_toolbar-button-image__text{text-align:center;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dhx_toolbar-button-image__count{position:absolute;top:-4px;right:-4px}.dhx_tabbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-height:100%;height:100%;max-width:100%}.dhx_tabbar--top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.dhx_tabbar--top .dhx_tabbar-header__wrapper:after{left:0;height:1px;width:100%;bottom:0}.dhx_tabbar--top .dhx_layout-cell{height:100%;overflow:auto;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_tabbar--top .dhx_tabbar-header{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.dhx_tabbar--top .dhx_tabbar-header-active{bottom:0}.dhx_tabbar--top .dhx_tabbar-tab{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.dhx_tabbar--top .dhx_tabbar-tab-button{text-align:center}.dhx_tabbar--bottom{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.dhx_tabbar--bottom .dhx_tabbar-header__wrapper:after{left:0;height:1px;width:100%;top:0}.dhx_tabbar--bottom .dhx_layout-cell{height:100%;overflow:auto;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_tabbar--bottom .dhx_tabbar-header{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.dhx_tabbar--bottom .dhx_tabbar-header-active{top:0}.dhx_tabbar--bottom .dhx_tabbar-tab{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.dhx_tabbar--bottom .dhx_tabbar-tab-button{text-align:center}.dhx_tabbar--left{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.dhx_tabbar--left .dhx_tabbar-header__wrapper:after{right:0;height:100%;width:1px;bottom:0}.dhx_tabbar--left .dhx_layout-cell{height:100%;overflow:auto;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_tabbar--left .dhx_tabbar-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.dhx_tabbar--left .dhx_tabbar-header-active{right:0}.dhx_tabbar--left .dhx_tabbar-tab{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_tabbar--left .dhx_tabbar-tab-button{text-align:right}.dhx_tabbar--right{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.dhx_tabbar--right .dhx_tabbar-header__wrapper:after{left:0;height:100%;width:1px;bottom:0}.dhx_tabbar--right .dhx_layout-cell{height:100%;overflow:auto;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_tabbar--right .dhx_tabbar-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.dhx_tabbar--right .dhx_tabbar-header-active{left:0}.dhx_tabbar--right .dhx_tabbar-tab{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_tabbar--right .dhx_tabbar-tab-button{text-align:left}.dhx_tabbar .dhx_layout-cell--content{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;overflow:auto}.dhx_tabbar-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0;padding:0;list-style:none}.dhx_tabbar-header__wrapper{position:relative;overflow:auto;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.dhx_tabbar-header__wrapper:after{content:"";display:block;position:absolute;background:#e4e4e4}.dhx_tabbar-header-active{position:absolute;-webkit-transition:-webkit-transform .1s ease-in-out;transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out;background-color:#0288d1;z-index:1}.dhx_tabbar-tab{position:relative}.dhx_tabbar-tab__close{position:absolute;top:50%;right:8px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:1;opacity:.7;color:#0288d1;cursor:pointer}.dhx_tabbar-tab__close:hover{opacity:1}.dhx_tabbar-tab__close:focus{outline:none}.dhx_tabbar-tab-button{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;position:relative;padding:12px 24px;border-radius:0;color:#0288d1;text-transform:uppercase;background-color:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in}.dhx_tabbar-tab-button .dhx_button__text{opacity:.7}.dhx_tabbar-tab-button:active,.dhx_tabbar-tab-button:hover,.dhx_tabbar-tab-button:hover:active{background-color:#ededed;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_tabbar-tab-button--active .dhx_button__text{opacity:1}.dhx_drag-ghost{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_tree{list-style:none;margin:0;padding:0;position:relative;z-index:1}.dhx_tree--no-selection{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_tree--no-selection .dhx_tree-folder:hover:before,.dhx_tree--no-selection .dhx_tree-list-item:hover:before{-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;background-color:transparent}.dhx_tree-list{list-style:none;margin:0;padding:0 0 0 20px}.dhx_tree-folder{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding-top:2px;padding-bottom:2px}.dhx_tree-folder .dhx_tree-list-item__content{padding-left:20px}.dhx_tree-folder .dhx_tree-toggle-button+.dhx_tree-list-item__content{padding-left:0}.dhx_tree-list-item{cursor:pointer;padding-top:2px;padding-bottom:2px;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_tree-list-item,.dhx_tree-list-item__content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_tree-list-item__content{padding-left:20px;position:relative}.dhx_tree-list-item__content:before{content:"";display:block;position:absolute;top:-1.5px;bottom:-1.5px;right:inherit;left:inherit;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in;z-index:-1}.dhx_tree-list-item__text{padding-left:4px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:normal;color:rgba(0,0,0,.7)}.dhx_tree-list-item__icon{color:rgba(0,0,0,.3);line-height:1;font-size:0}.dhx_tree-list-item__icon:before{font-size:20px;line-height:1}.dhx_tree-list-item--parent{display:block;padding-top:0;padding-bottom:0}.dhx_tree-list-item .dhx_widget .dhx_tree-list-item__icon{line-height:0}.dhx_tree-list-item .dhx_widget .dhx_tree-list-item__icon:before{font-size:20px;line-height:20px}.dhx_tree-folder,.dhx_tree-list-item{position:relative}.dhx_tree-folder:before,.dhx_tree-list-item:before{content:"";display:block;position:absolute;top:0;bottom:0;right:inherit;left:inherit;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in;z-index:-1}.dhx_tree-folder--focused:before,.dhx_tree-folder:hover:before,.dhx_tree-list-item--focused:before,.dhx_tree-list-item:hover:before{-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;background-color:#ededed}.dhx_tree-folder--selected:before,.dhx_tree-list-item--selected:before{-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;-webkit-box-shadow:inset 2px 0 0 0 #0288d1;box-shadow:inset 2px 0 0 0 #0288d1;background-color:#f7f7f7}.dhx_tree-toggle-button{cursor:pointer;color:rgba(0,0,0,.5)}.dhx_tree-toggle-button+.dhx_tree-list-item__content{margin-left:0}.dhx_tree-checkbox{padding-right:4px;color:#0288d1}.dhx_tree-checkbox.dxi-checkbox-blank-outline{color:rgba(0,0,0,.5)}.dhx_tree-input{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);padding-left:4px;padding-top:0;padding-bottom:0;margin:0;background-color:#f7f7f7;border:none}.dhx_tree-input:focus{outline:none}.dhx_tree-folder.dhx_tree-drop--top .dhx_tree-list-item__content:before{left:-20px;right:0;-webkit-box-shadow:0 -1px 0 0 #81c4e8;box-shadow:0 -1px 0 0 #81c4e8}.dhx_tree-folder.dhx_tree-drop--top:hover:before{background-color:transparent}.dhx_tree-folder.dhx_tree-drop--bottom .dhx_tree-list-item__content:before{left:-20px;right:0;-webkit-box-shadow:0 1px 0 0 #81c4e8;box-shadow:0 1px 0 0 #81c4e8}.dhx_tree-folder.dhx_tree-drop--bottom:hover:before{background-color:transparent}.dhx_tree-folder.dhx_tree-drop--in-folder .dhx_tree-list-item__content:before{left:-20px;right:0;-webkit-box-shadow:0 1px 0 0 #81c4e8,0 -1px 0 0 #81c4e8;box-shadow:0 1px 0 0 #81c4e8,0 -1px 0 0 #81c4e8}.dhx_tree-folder.dhx_tree-drop--in-folder:hover:before{background-color:transparent}.dhx_tree-list-item.dhx_tree-drop--top .dhx_tree-list-item__content:before{left:20px;right:0;-webkit-box-shadow:0 -1px 0 0 #81c4e8;box-shadow:0 -1px 0 0 #81c4e8}.dhx_tree-list-item.dhx_tree-drop--top:hover:before{background-color:transparent}.dhx_tree-list-item.dhx_tree-drop--bottom .dhx_tree-list-item__content:before{left:20px;right:0;-webkit-box-shadow:0 1px 0 0 #81c4e8;box-shadow:0 1px 0 0 #81c4e8}.dhx_tree-list-item.dhx_tree-drop--bottom:hover:before{background-color:transparent}.dhx_tree-list-item.dhx_tree-drop--in-folder .dhx_tree-list-item__content:before{left:20px;right:0;-webkit-box-shadow:0 1px 0 0 #81c4e8,0 -1px 0 0 #81c4e8;box-shadow:0 1px 0 0 #81c4e8,0 -1px 0 0 #81c4e8}.dhx_tree-list-item.dhx_tree-drop--in-folder:hover:before{background-color:transparent}.dhx_drag-ghost .dhx_tree-list-item__icon{position:relative;display:inline;vertical-align:middle;color:rgba(0,0,0,.3);font-size:20px;top:2px}.dhx_drag-ghost .dhx_tree-list-item__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;vertical-align:middle;line-height:20px;color:rgba(0,0,0,.7)}.dhx_window{border-radius:2px;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.3);box-shadow:0 2px 5px rgba(0,0,0,.3);will-change:transform;overflow:visible}.dhx_window--stop_selection{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_window__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2147483645}.dhx_window-header{margin-bottom:20px}.dhx_window-header--movable{cursor:all-scroll}.dhx_window-header:before{content:"";display:block;position:absolute;top:0;left:0;right:0;width:100%;height:16px;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.dhx_window-header .dhx_navbar-title{margin-left:0!important;font-size:18px}.dhx_window-content{padding-left:28px;padding-right:28px;padding-bottom:28px}.dhx_window-content,.dhx_window-content-without-header{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;color:rgba(0,0,0,.5);line-height:1.3;overflow-y:auto;overflow-wrap:break-word;word-wrap:break-word}.dhx_window-content-without-header{padding:28px}.dhx_window-footer{margin-top:20px}.dhx_window__inner-html-content :first-child{margin-top:0}.dhx_window--no-scroll{width:100vw;height:100vh;overflow:hidden}.dhx_window .dhx_cell_content,.dhx_window .dhx_toolbar{width:100%}.dhx_window .dhx_toolbar__list{min-height:auto}.dhx_window .dhx_window-header .dhx_toolbar{padding:28px 28px 0}.dhx_window .dhx_window-footer .dhx_toolbar{padding:0 28px 28px}.dhx_window .dhx_cell_content{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.dhx_window-resizer{position:absolute;background:transparent}.dhx_window-resizer--left{left:-6px;top:0;height:100%;width:12px}.dhx_window-resizer--left:hover{cursor:ew-resize}.dhx_window-resizer--right{right:-6px;top:0;height:100%;width:12px}.dhx_window-resizer--right:hover{cursor:ew-resize}.dhx_window-resizer--top{left:0;top:-6px;height:12px;width:100%}.dhx_window-resizer--top:hover{cursor:ns-resize}.dhx_window-resizer--bottom{left:0;bottom:-6px;height:12px;width:100%}.dhx_window-resizer--bottom:hover{cursor:ns-resize}.dhx_window-resizer--top_right{right:-6px;top:-6px;width:12px;height:12px}.dhx_window-resizer--top_right:hover{cursor:nesw-resize}.dhx_window-resizer--top_left{left:-6px;top:-6px;width:12px;height:12px}.dhx_window-resizer--top_left:hover{cursor:nwse-resize}.dhx_window-resizer--bottom_right{right:-6px;bottom:-6px;width:12px;height:12px}.dhx_window-resizer--bottom_right:hover{cursor:nwse-resize}.dhx_window-resizer--bottom_left{left:-6px;bottom:-6px;width:12px;height:12px}.dhx_window-resizer--bottom_left:hover{cursor:nesw-resize}.dhx_window-body-pointer--left,.dhx_window-body-pointer--right{cursor:ew-resize}.dhx_window-body-pointer--bottom,.dhx_window-body-pointer--top{cursor:ns-resize}.dhx_window-body-pointer--top_right{cursor:nesw-resize}.dhx_window-body-pointer--bottom_right,.dhx_window-body-pointer--top_left{cursor:nwse-resize}.dhx_window-body-pointer--bottom_left{cursor:nesw-resize} +.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:-webkit-grab!important;cursor:grab!important}.dhx_no-select--pointer{cursor:pointer}.dhx_no-select--pointer,.dhx_no-select--resize{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{box-sizing:border-box}.dhx_widget * :not(output):-moz-ui-invalid,.dhx_widget :not(output):-moz-ui-invalid{box-shadow:none}body{margin:0}.dhx_widget{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_widget--bordered{border:1px solid #e4e4e4}.dhx_widget--border_top{border-top:1px solid #e4e4e4}.dhx_widget--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_widget--border_left{border-left:1px solid #e4e4e4}.dhx_widget--border_right{border-right:1px solid #e4e4e4}.dhx_widget--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget.dhx_widget--bg_white{background-color:#fff}.dhx_widget.dhx_widget--bg_gray{background-color:#f7f7f7}.dhx_drag-ghost{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;z-index:999;opacity:.6}.dhx_drag-ghost *{box-sizing:border-box}.dhx_drag-ghost .dhx_list-item{list-style-type:none}.dhx_drag-ghost .dhx_list-item--selected{background-color:#fff;box-shadow:inset 0 0 0 0 #0288d1}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:#fff;transition:background-color .2s ease-out}.dhx_drag-ghost .dhx_tree-list-item__icon{position:relative;display:inline;vertical-align:middle;color:rgba(0,0,0,.3);font-size:20px;top:2px}.dhx_drag-ghost .dhx_tree-list-item__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;vertical-align:middle;line-height:20px;color:rgba(0,0,0,.7)}.dhx_drag-ghost .dhx_dataview-item,.dhx_drag-ghost .dhx_grid-cell,.dhx_drag-ghost .dhx_list-item{background-color:#fff;border:1px solid #e4e4e4!important}@font-face{font-family:Roboto;src:url(./fonts/roboto-regular-webfont.woff2) format("woff2"),url(./fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(./fonts/roboto-medium-webfont.woff2) format("woff2"),url(./fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(./fonts/roboto-bold-webfont.woff2) format("woff2"),url(./fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}@font-face{font-family:dhxicons;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff")}.dxi:before{font-family:dhxicons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dxi.dxi-alert-circle:before{content:"\F101"}.dxi.dxi-arrow-collapse:before{content:"\F102"}.dxi.dxi-arrow-expand:before{content:"\F103"}.dxi.dxi-blur-off:before{content:"\F104"}.dxi.dxi-blur:before{content:"\F105"}.dxi.dxi-calendar-today:before{content:"\F106"}.dxi.dxi-check:before{content:"\F107"}.dxi.dxi-checkbox-blank-outline:before{content:"\F108"}.dxi.dxi-checkbox-marked-circle:before{content:"\F109"}.dxi.dxi-checkbox-marked:before{content:"\F10A"}.dxi.dxi-chevron-down:before{content:"\F10B"}.dxi.dxi-chevron-left:before{content:"\F10C"}.dxi.dxi-chevron-right:before{content:"\F10D"}.dxi.dxi-chevron-up:before{content:"\F10E"}.dxi.dxi-clock-outline:before{content:"\F10F"}.dxi.dxi-clock:before{content:"\F110"}.dxi.dxi-close-circle:before{content:"\F111"}.dxi.dxi-close:before{content:"\F112"}.dxi.dxi-delete-forever:before{content:"\F113"}.dxi.dxi-delete:before{content:"\F114"}.dxi.dxi-dots-horizontal:before{content:"\F115"}.dxi.dxi-dots-vertical:before{content:"\F116"}.dxi.dxi-download:before{content:"\F117"}.dxi.dxi-empty:before{content:"\F118"}.dxi.dxi-eraser:before{content:"\F119"}.dxi.dxi-eye-off:before{content:"\F11A"}.dxi.dxi-eye:before{content:"\F11B"}.dxi.dxi-eyedropper-variant:before{content:"\F11C"}.dxi.dxi-file-excel:before{content:"\F11D"}.dxi.dxi-file-export:before{content:"\F11E"}.dxi.dxi-file-import:before{content:"\F11F"}.dxi.dxi-file-outline:before{content:"\F120"}.dxi.dxi-filter-variant:before{content:"\F121"}.dxi.dxi-folder-open:before{content:"\F122"}.dxi.dxi-folder:before{content:"\F123"}.dxi.dxi-format-align-center:before{content:"\F124"}.dxi.dxi-format-align-left:before{content:"\F125"}.dxi.dxi-format-align-right:before{content:"\F126"}.dxi.dxi-format-bold:before{content:"\F127"}.dxi.dxi-format-color-fill:before{content:"\F128"}.dxi.dxi-format-color-text:before{content:"\F129"}.dxi.dxi-format-italic:before{content:"\F12A"}.dxi.dxi-format-line-spacing:before{content:"\F12B"}.dxi.dxi-format-quote-close:before{content:"\F12C"}.dxi.dxi-format-quote-open:before{content:"\F12D"}.dxi.dxi-format-strikethrough:before{content:"\F12E"}.dxi.dxi-format-underline:before{content:"\F12F"}.dxi.dxi-format-vertical-align-bottom:before{content:"\F130"}.dxi.dxi-format-vertical-align-center:before{content:"\F131"}.dxi.dxi-format-vertical-align-top:before{content:"\F132"}.dxi.dxi-function-variant:before{content:"\F133"}.dxi.dxi-help-circle-outline:before{content:"\F134"}.dxi.dxi-information-outline:before{content:"\F135"}.dxi.dxi-key:before{content:"\F136"}.dxi.dxi-link-variant-off:before{content:"\F137"}.dxi.dxi-link-variant:before{content:"\F138"}.dxi.dxi-loading:before{content:"\F139"}.dxi.dxi-magnify:before{content:"\F13A"}.dxi.dxi-menu-down:before{content:"\F13B"}.dxi.dxi-menu-left:before{content:"\F13C"}.dxi.dxi-menu-right:before{content:"\F13D"}.dxi.dxi-menu-up:before{content:"\F13E"}.dxi.dxi-minus-box:before{content:"\F13F"}.dxi.dxi-minus:before{content:"\F140"}.dxi.dxi-numeric:before{content:"\F141"}.dxi.dxi-pencil:before{content:"\F142"}.dxi.dxi-plus-circle:before{content:"\F143"}.dxi.dxi-plus:before{content:"\F144"}.dxi.dxi-printer:before{content:"\F145"}.dxi.dxi-redo:before{content:"\F146"}.dxi.dxi-rotate-right:before{content:"\F147"}.dxi.dxi-select-all:before{content:"\F148"}.dxi.dxi-sort-variant:before{content:"\F149"}.dxi.dxi-table-column-plus-before:before{content:"\F14A"}.dxi.dxi-table-column-remove:before{content:"\F14B"}.dxi.dxi-table-column:before{content:"\F14C"}.dxi.dxi-table-row-plus-before:before{content:"\F14D"}.dxi.dxi-table-row-remove:before{content:"\F14E"}.dxi.dxi-table-row:before{content:"\F14F"}.dxi.dxi-undo:before{content:"\F150"}.dxi.dxi-unfold-more-horizontal:before{content:"\F151"}.dxi.dxi-vault:before{content:"\F152"}.dxi.dxi-view-grid:before{content:"\F153"}.dxi.dxi-view-sequential:before{content:"\F154"}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:20px}.dxi--small:before{font-size:16px}.dxi--medium:before{font-size:20px}.dxi--large:before{font-size:24px}@-webkit-keyframes button-loading{0%{transform:rotate(0deg);transform-origin:center center}to{transform:rotate(1439deg);transform-origin:center center}}@keyframes button-loading{0%{transform:rotate(0deg);transform-origin:center center}to{transform:rotate(1439deg);transform-origin:center center}}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;touch-action:manipulation;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:4px}.dhx_button__loading{display:none;position:absolute;left:0;top:0;right:0;bottom:0;justify-content:center;align-items:center}.dhx_button__loading-icon{-webkit-animation:button-loading .9s linear infinite;animation:button-loading .9s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:28px}.dhx_button--circle.dhx_button--size_medium{border-radius:32px}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:6px;padding-right:6px}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:4px;padding-right:4px}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__loading{display:flex}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:4px 12px;font-size:14px;line-height:20px}.dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:16px;margin-top:-8px;margin-left:-8px}.dhx_button--size_medium{padding:6px 16px;text-transform:uppercase;line-height:20px}.dhx_button--size_medium .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:20px;margin-top:-10px;margin-left:-10px}.dhx_button--view_flat{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;color:#fff;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_flat.dhx_button--color_primary{background-color:#0288d1;outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:#35a0da}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:#0288d1;box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_primary:disabled{background-color:#81c4e8}.dhx_button--view_flat.dhx_button--color_secondary{background-color:#4d4d4d;outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:#717171}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:#4d4d4d;box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_secondary:disabled{background-color:#a6a6a6}.dhx_button--view_flat.dhx_button--color_danger{background-color:#ff5252;outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:#ff7575}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:#ff5252;box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_danger:disabled{background-color:#ffa9a9}.dhx_button--view_flat.dhx_button--color_success{background-color:#0ab169;outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:#3bc187}.dhx_button--view_flat.dhx_button--color_success:active{background-color:#0ab169;box-shadow:none}.dhx_button--view_flat.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_success:disabled{background-color:#85d8b4}.dhx_button--view_link{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;border-radius:2px;background:transparent;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_link:focus,.dhx_button--view_link:hover{transition:background-color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_link.dhx_button--color_primary{color:#0288d1;outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:#d9edf8}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:#b8def2}.dhx_button--view_link.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_primary:disabled{color:#81c4e8}.dhx_button--view_link.dhx_button--color_secondary{color:#4d4d4d;outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:#e4e4e4}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:#cdcdcd}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_secondary:disabled{color:#a6a6a6}.dhx_button--view_link.dhx_button--color_danger{color:#ff5252;outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:#ffe5e5}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:#ffcfcf}.dhx_button--view_link.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_danger:disabled{color:#ffa9a9}.dhx_button--view_link.dhx_button--color_success{color:#0ab169;outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:#daf3e9}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:#bae9d5}.dhx_button--view_link.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_success:disabled{color:#85d8b4}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:8px;margin-right:auto}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_form-group{position:relative;display:block;text-align:left;padding-bottom:16px}.dhx_form-group--simplevault{line-height:0;height:100%}.dhx_form-group--simplevault .dhx_label{margin-bottom:4px}.dhx_form-group--textarea{display:flex;flex-direction:column;height:100%}.dhx_form-group--textarea .dhx_input--textarea,.dhx_form-group--textarea .dhx_input__wrapper{height:100%}.dhx_form-group--textarea .dhx_label{min-height:20px;line-height:20px;margin-bottom:4px}.dhx_form-group--inline{display:flex;flex-direction:row;width:100%;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;flex:0 1 auto;max-height:40px;margin-right:16px;margin-bottom:0;text-align:right;width:100%;margin-top:6px;align-self:flex-start}.dhx_form-group--inline .dhx_input__wrapper{flex:0 1 auto;width:300%;height:100%}.dhx_form-group--inline .dhx_label--with-help{justify-content:flex-end}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative;margin-bottom:0}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--no-message-holder{padding-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input__caption,.dhx_form-group--state_error .dhx_label{color:#ff5252}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{box-shadow:inset 0 0 0 1px #ffbaba}.dhx_form-group--state_error .dhx_simplevault-files,.dhx_form-group--state_error .dhx_simplevault-files:focus,.dhx_form-group--state_error .dhx_simplevault__drop-area,.dhx_form-group--state_error .dhx_simplevault__drop-area:focus{border-color:#ffbaba}.dhx_form-group--state_success .dhx_input__caption,.dhx_form-group--state_success .dhx_label{color:#0ab169}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{box-shadow:inset 0 0 0 1px #9de0c3}.dhx_form-group--state_success .dhx_simplevault__drop-area,.dhx_form-group--state_success .dhx_simplevault__drop-area:focus{border-top-color:#9de0c3;border-left-color:#9de0c3;border-right-color:#9de0c3}.dhx_form-group--state_success .dhx_simplevault-files,.dhx_form-group--state_success .dhx_simplevault-files:focus{border-right-color:#9de0c3;border-left-color:#9de0c3;border-bottom-color:#9de0c3}.dhx_form-group--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_form-group .dhx_combobox{margin:0}.dhx_form-group .dhx_slider{padding-bottom:0}.dhx_input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:#f6f6f6;background-clip:padding-box;box-shadow:inset 0 0 0 1px #dfdfdf;border:0;border-radius:2px;outline:0;transition:border-color .2s ease-in,box-shadow .2s ease-in}.dhx_input::-webkit-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::-moz-placeholder{color:rgba(0,0,0,.5)}.dhx_input:-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::placeholder{color:rgba(0,0,0,.5)}.dhx_input:focus{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_input--icon-padding{padding-right:24px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{box-shadow:none;background:none;padding-left:0}.dhx_input--textinput:focus{box-shadow:none}.dhx_input__wrapper{width:100%;display:flex;flex-direction:column;position:relative}.dhx_input__wrapper:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;transform:translateY(-50%)}.dhx_input__container{width:100%;display:inline-block;position:relative}.dhx_input__caption{left:0;bottom:0;max-width:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;font-weight:400;line-height:16px;color:rgba(0,0,0,.5);white-space:wrap;overflow-x:hidden;text-overflow:ellipsis;cursor:default}.dhx_input__icon{position:absolute;top:50%;transform:translateY(-50%);right:4px;z-index:1;color:rgba(0,0,0,.5);pointer-events:none}.dhx_input__icon--color-selected{border-radius:2px}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:20px;line-height:20px}.dhx_label{display:inline-block;width:auto;flex:0 1 auto;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;cursor:pointer;transition:color .2s ease-in,opacity .2s ease-in}.dhx_label:hover{opacity:.8;transition:color .2s ease-out,opacity .2s ease-out}.dhx_label__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_label--with-help{display:flex;align-items:center}.dhx_label-help{margin-left:4px;color:#0288d1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_label-help:focus{outline:none}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__visual-input{display:block;border:2px solid rgba(0,0,0,.5);min-width:20px;min-height:20px;max-width:20px;max-height:20px;background-color:#fff;border-radius:2px;cursor:pointer}.dhx_checkbox .dhx_label{margin-top:4px;margin-bottom:0;width:auto}.dhx_checkbox .dhx_label:after{display:none}.dhx_checkbox .dhx_input__caption{position:static;display:block;transform:none}.dhx_checkbox.dhx_form-group--inline{display:flex;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_checkbox.dhx_form-group--hidden{display:none}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.dhx_checkbox__input:focus+.dhx_checkbox__visual-input{border-color:#0288d1}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input{background-color:#0288d1;background-position:50%;background-size:cover;border-color:#0288d1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);transition:background-color .2s ease-out}.dhx_radiobutton{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_radiobutton__visual-input{display:block;border:2px solid rgba(0,0,0,.5);bottom:4px;left:0;min-width:20px;min-height:20px;max-width:20px;max-height:20px;background-color:#fff;border-radius:50%}.dhx_radiobutton .dhx_label{margin-top:4px;margin-bottom:0;width:auto;cursor:pointer}.dhx_radiobutton .dhx_input__caption{position:static;display:block}.dhx_radiobutton.dhx_form-group--inline{white-space:nowrap;display:flex;align-items:center}.dhx_radiobutton.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0;padding-top:2px;padding-bottom:2px}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.dhx_radiobutton__input:focus+.dhx_radiobutton__visual-input{border-color:#0288d1}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:#0288d1;border-color:#0288d1;box-shadow:inset 0 0 0 4px #fff;transition:background-color .2s ease-out}.dhx_select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:8px;top:50%;transform:translateY(-50%);pointer-events:none;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{border:none;border-radius:2px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;font-weight:400;text-align:center;overflow:hidden;position:relative}.dhx_simplevault__drop-area{background-color:#f6f6f6;border:1px solid #dfdfdf;transition:all .2s ease-in;display:flex;height:115px;width:100%;flex-direction:column;justify-content:center;align-items:center;padding:0 20px}.dhx_simplevault__drop-area--on-drag{border-style:dashed;transition:border .2s ease-out}.dhx_simplevault__icon:before{font-size:40px;color:rgba(0,0,0,.3);transition:color .2s ease-in}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:#0288d1;cursor:pointer}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;transform:translateY(0);transition:opacity .2s ease-in,transform .2s ease-in}.dhx_simplevault-files{background-color:#f6f6f6;border:1px solid #dfdfdf;border-top:none;transition:all .2s ease-in;width:100%;margin:0;padding:0;list-style:none;max-height:calc(100% - 115px);height:calc(100% - 115px);overflow-y:auto}.dhx_simplevault-files__fixed{max-height:276px}.dhx_simplevault-files__item{position:relative;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;text-align:left;color:rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:1px solid #e4e4e4}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;transform:translateY(-50%)}.dhx_simplevault-loader{display:flex;justify-content:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:#ededed;transform:translateY(100%);opacity:0;will-change:transform;transition:0ms;z-index:1}.dhx_simplevault-loader .dhx_simplevault__icon:before{color:#0288d1}.dhx_slider{position:relative;display:flex;flex-direction:column;padding-bottom:16px}.dhx_slider--label-inline{flex-direction:row;align-items:center}.dhx_slider--label-inline .dhx_slider__label{text-align:right;flex:0 1 auto;margin-right:16px;margin-bottom:0;width:100%}.dhx_slider--label-inline .dhx_label--with-help{justify-content:flex-end}.dhx_slider--label-inline .dhx_slider__track-holder{width:300%;flex:0 1 auto}.dhx_slider--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_slider--mode_vertical{height:100%;display:inline-flex}.dhx_slider--mode_vertical .dhx_slider__label{align-self:flex-start}.dhx_slider--mode_vertical .dhx_slider__track-holder{height:100%;display:flex;padding:8px 0}.dhx_slider--mode_vertical .dhx_slider__track{align-self:stretch;padding:0 8px}.dhx_slider--mode_vertical .dhx_slider__track:before{width:2px;height:100%}.dhx_slider--mode_vertical .dhx_slider__range{width:2px;left:50%;transform:translate(-50%)}.dhx_slider--mode_vertical .dhx_slider__thumb{left:50%}.dhx_slider--mode_vertical .dhx_slider__tick{height:1px;width:4px}.dhx_slider--mode_vertical .dhx_slider__tick:not(:first-child){transform:translateY(-.5px)}.dhx_slider--mode_vertical .dhx_slider__tick--major{width:8px}.dhx_slider--mode_vertical .dhx_slider__tick-label{top:50%;left:100%;transform:translateY(-50%);padding-left:2px}.dhx_slider--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_slider--ticks .dhx_slider__ticks-holder{height:4px}.dhx_slider--ticks.dhx_slider--mode_vertical .dhx_slider__ticks-holder{height:100%;width:4px}.dhx_slider__track-holder{position:relative;flex:1}.dhx_slider__track{position:relative;padding-top:8px;padding-bottom:8px;cursor:pointer;z-index:1}.dhx_slider__track:before{content:"";display:block;height:2px;background-color:#b3b3b3}.dhx_slider__thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background-color:#0288d1;transition:transform .1s ease-out,border-color .2s ease-out,background-color .2s ease-out;will-change:transform;cursor:pointer}.dhx_slider__thumb:after,.dhx_slider__thumb:before{content:"";display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);border-radius:50%;will-change:transform}.dhx_slider__thumb:before{width:28px;height:28px;background-color:rgba(2,136,209,.15)}.dhx_slider__thumb:after,.dhx_slider__thumb:before{transition:transform .2s ease-out,background-color .2s ease-out}.dhx_slider__thumb:after{width:16px;height:16px;background-color:#0288d1}.dhx_slider__thumb:focus,.dhx_slider__thumb:hover{outline:none}.dhx_slider__thumb:focus:before,.dhx_slider__thumb:hover:before{transform:translate(-50%,-50%) scale(1);transition:transform .2s ease-in,background-color .2s ease-in}.dhx_slider__thumb--active,.dhx_slider__thumb:active{z-index:1}.dhx_slider__thumb--active:after,.dhx_slider__thumb:active:after{transform:translate(-50%,-50%) scale(1);transition:transform .2s ease-in,background-color .2s ease-in}.dhx_slider__thumb--nullable{background-color:#b3b3b3}.dhx_slider__thumb--nullable:after{width:8px;height:8px;transform:translate(-50%,-50%) scale(1);background:#fff}.dhx_slider__thumb--nullable:before{background-color:rgba(77,77,77,.15)}.dhx_slider__thumb--disabled{background-color:#b3b3b3;border:2px solid #fff}.dhx_slider__thumb--disabled:after,.dhx_slider__thumb--disabled:before{display:none}.dhx_slider__thumb-label{position:absolute;padding:6px 12px;transform:translate(-50%,-50%);border-radius:2px;background-color:#333;box-shadow:0 2px 5px rgba(0,0,0,.3);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#fff;transition:opacity transform .01s ease-in;pointer-events:none;z-index:1}.dhx_slider__thumb-label--vertical{left:50px}.dhx_slider__thumb-label--horizontal{top:-30px}.dhx_slider__thumb-label--active{z-index:10}.dhx_slider__range{position:absolute;top:50%;transform:translateY(-50%);height:2px;background-color:#0288d1;pointer-events:none}.dhx_slider__ticks-holder{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_slider__tick{position:absolute;top:0;width:1px;height:4px;background-color:#b3b3b3}.dhx_slider__tick:not(:first-child){transform:translateX(-.5px)}.dhx_slider__tick--major{height:8px}.dhx_slider__tick-label{position:absolute;top:10px;transform:translateX(-50%);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:10px;color:rgba(0,0,0,.7);line-height:1}.dhx_message-container{display:flex;flex-direction:column;align-items:flex-end;position:absolute;padding:20px;max-height:100%;-ms-scroll-chaining:none;overscroll-behavior:contain;width:auto;overflow:hidden;border:2px solid transparent;z-index:2147483647}.dhx_message-container *{box-sizing:border-box}.dhx_message-container--top-left{top:0;left:0}.dhx_message-container--top-right{top:0;right:0}.dhx_message-container--bottom-left{align-items:flex-start;bottom:0;left:0}.dhx_message-container--bottom-right{align-items:flex-start;bottom:0;right:0}.dhx_message-container--in-body{position:fixed}.dhx_message{display:flex;justify-content:space-between;width:240px;flex-shrink:0;padding:12px;margin-bottom:4px;margin-top:4px;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.1),0 10px 20px rgba(0,0,0,.1);background-color:#fff;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_message,.dhx_message__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;line-height:20px;font-size:14px;color:rgba(0,0,0,.7)}.dhx_message__text{overflow-wrap:break-word;word-wrap:break-word;word-break:break-all}.dhx_message__icon{align-self:center;padding-left:8px;color:rgba(0,0,0,.5)}.dhx_message--error .dhx_message__icon,.dhx_message--error .dhx_message__text,.dhx_message--success .dhx_message__icon,.dhx_message--success .dhx_message__text{color:#fff}.dhx_message--error{background-color:#ff5252}.dhx_message--success{background-color:#0ab169}.dhx_alert{display:flex;flex-direction:column;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;padding:24px;background:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3);will-change:transform;z-index:2147483647}.dhx_alert__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2147483646}.dhx_alert__header{position:relative;margin-bottom:20px;font-weight:500;line-height:20px;color:rgba(0,0,0,.7)}.dhx_alert__content,.dhx_alert__header{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px}.dhx_alert__content{height:100%;font-weight:400;color:rgba(0,0,0,.5);line-height:1.3;overflow-y:auto;overflow-wrap:break-word;word-wrap:break-word}.dhx_alert__footer{margin-top:20px;display:flex;justify-content:flex-start}.dhx_alert__footer--center{justify-content:center}.dhx_alert__footer--right{justify-content:flex-end}.dhx_alert__footer .dhx_button:not(:last-child){margin-right:16px}.dhx_tooltip{pointer-events:none;border-radius:2px;background-color:#333;box-shadow:0 2px 5px rgba(0,0,0,.3);padding:6px 12px;transition:opacity .01s ease,transform .01s ease;opacity:0;z-index:999;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_tooltip--animate{opacity:1;transition:opacity .15s ease-out}.dhx_tooltip--forced{opacity:1}.dhx_tooltip--bottom{margin:8px 0 0}.dhx_tooltip--top{margin:-8px 0 0}.dhx_tooltip--left{margin:0 0 -8px}.dhx_tooltip--right{margin:0 0 0 8px}.dhx_tooltip--light{background-color:#fff}.dhx_tooltip--light .dhx_tooltip__text{color:rgba(0,0,0,.7)}.dhx_widget--fullscreen .dhx_tooltip{z-index:2147483647}.dhx_tooltip__text{color:#fff;font-size:14px;font-weight:500;line-height:20px}.dhx_layout{max-width:100%;max-height:100%;width:100%;height:100%}.dhx_layout-columns{display:flex;flex-direction:row;overflow:hidden}.dhx_layout-columns>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){flex:0 1 auto}.dhx_layout-columns>.dhx_layout-cell--resizeble{overflow-x:hidden}.dhx_layout-rows{display:flex;flex-direction:column;overflow:hidden}.dhx_layout-rows>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){flex:0 1 auto}.dhx_layout-rows>.dhx_layout-cell--resizeble{overflow-y:hidden}.dhx_layout-cell--start,.dhx_layout-columns--start,.dhx_layout-rows--start{justify-content:flex-start}.dhx_layout-cell--center,.dhx_layout-columns--center,.dhx_layout-rows--center{justify-content:center}.dhx_layout-cell--end,.dhx_layout-columns--end,.dhx_layout-rows--end{justify-content:flex-end}.dhx_layout-cell--between,.dhx_layout-columns--between,.dhx_layout-rows--between{justify-content:space-between}.dhx_layout-cell--around,.dhx_layout-columns--around,.dhx_layout-rows--around{justify-content:space-around}.dhx_layout-cell--evenly,.dhx_layout-columns--evenly,.dhx_layout-rows--evenly{justify-content:space-evenly}.dhx_layout-cell{flex-basis:auto;flex-grow:0;flex-shrink:0}.dhx_layout-cell--bordered{border:1px solid #e4e4e4}.dhx_layout-cell--border_top{border-top:1px solid #e4e4e4}.dhx_layout-cell--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_layout-cell--border_left{border-left:1px solid #e4e4e4}.dhx_layout-cell--border_right{border-right:1px solid #e4e4e4}.dhx_layout-cell--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_layout-cell--no-border{border:0}.dhx_layout-cell--no-border_top{border-top:0}.dhx_layout-cell--no-border_bottom{border-bottom:0}.dhx_layout-cell--no-border_left{border-left:0}.dhx_layout-cell--no-border_right{border-right:0}.dhx_layout-cell--gravity{flex:1 1 auto}.dhx_layout-cell--flex{display:flex}.dhx_layout-cell--accordion>.dhx_layout-cell--collapsed{border-bottom:0}.dhx_layout-cell--collapsed{overflow:hidden;flex:0 1 auto}.dhx_layout-cell-content{height:100%}.dhx_layout-cell-header{display:flex;justify-content:flex-start;align-items:center;border-bottom:1px solid #e4e4e4;padding:8px 12px}.dhx_layout-cell-header__title{margin:0;font-size:14px;line-height:20px;font-weight:500;color:rgba(0,0,0,.7);white-space:nowrap;overflow:hidden;text-overflow:clip;transition:color .2s ease-in}.dhx_layout-cell-header__icon{margin-right:16px}.dhx_layout-cell-header__image-wrapper{position:relative;width:20px;height:20px;margin-right:8px}.dhx_layout-cell-header__image{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%}.dhx_layout-cell-header__collapse-icon{margin-left:auto;color:#4d4d4d;transition:transform .2s ease-in,color .2s ease-in}.dhx_layout-cell-header--collapseble{cursor:pointer}.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__title,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__title{color:#0288d1;transition:color .2s ease-out}.dhx_layout-cell-header--collapseble:focus,.dhx_layout-cell-header:focus{outline-width:0}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col{border-bottom:0;position:relative}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col .dhx_layout-cell-header__title{position:absolute;transform-origin:left;transform:rotate(90deg);bottom:-12px;left:50%}.dhx_layout-cell-header+.dhx_layout-cell-content{overflow:auto;height:calc(100% - 37px)}.dhx_layout-resizer{position:relative;overflow:visible;text-align:center}.dhx_layout-resizer .dhx_layout-resizer__icon{position:relative;z-index:1}.dhx_layout-resizer--x{width:0}.dhx_layout-resizer--x .dhx_layout-resizer__icon{width:0;height:100%;display:flex;justify-content:center;flex-direction:column;align-items:center;color:rgba(0,0,0,.5);cursor:ew-resize}.dhx_layout-resizer--x .dhx_layout-resizer__icon:before{font-size:16px}.dhx_layout-resizer--y{height:0}.dhx_layout-resizer--y .dhx_layout-resizer__icon{width:100%;height:0;display:flex;justify-content:center;flex-direction:row;align-items:center;color:rgba(0,0,0,.5);cursor:ns-resize}.dhx_layout-resizer--y .dhx_layout-resizer__icon:before{font-size:16px}.dhx_navbar-count{width:24px;height:24px;border-radius:50%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:24px;color:#fff;text-align:center;z-index:1}.dhx_navbar-count--absolute{margin-left:0;position:absolute;top:-4px;top:-10px;right:-10px}.dhx_navbar-count--button-inline{margin-top:-4px;margin-bottom:-4px;margin-left:12px}.dhx_navbar-count--overlimit{width:auto;border-radius:22px;padding:0 8px}.dhx_navbar-count--color_success{background-color:#0ab169}.dhx_navbar-count--color_danger{background-color:#ff5252}.dhx_navbar-count--color_primary{background-color:#0288d1}.dhx_navbar-count--color_secondary{background-color:#4d4d4d}.dhx_navbar{display:flex;flex-wrap:nowrap;margin:0;padding:0;width:100%;list-style:none}.dhx_navbar:focus{outline:none}.dhx_navbar--horizontal{flex-direction:row;align-items:center}.dhx_navbar--vertical{height:100%;display:flex;flex-direction:column;overflow:auto}.dhx_navbar .dhx_button--color_secondary.dhx_button--view_link .dhx_button__icon{color:rgba(0,0,0,.5)}.dhx_navbar-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);font-weight:500}.dhx_navbar-title--sidebar{display:block;padding:12px}.dhx_timepicker{width:100%;padding:50px 20px;min-width:248px;background-color:#fff}.dhx_timepicker--with-controls{padding:4px 20px 0}.dhx_timepicker__inputs{text-align:center;margin-bottom:28px;margin-top:16px}.dhx_timepicker__close{min-height:32px;display:flex;justify-content:flex-end;margin-bottom:6px}.dhx_timepicker__button-close{text-transform:uppercase;transform:translateX(16px)}.dhx_timepicker__save{padding-top:12px;min-height:76px;display:flex;justify-content:center;align-items:center}.dhx_timepicker-inputs{position:relative;display:inline-block}.dhx_timepicker-input{width:48px;height:38px;font-size:30px;padding-bottom:4px;color:rgba(0,0,0,.7);line-height:30px;text-align:center;outline:none;border:none;border-bottom:1px solid #ededed;transition:border-color .2s ease-in;background-color:transparent}.dhx_timepicker-input:focus{border-bottom:1px solid #81c4e8;transition-timing-function:ease-out}.dhx_timepicker-ampm{position:absolute;right:-32px;bottom:4px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.3);font-size:16px;line-height:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_timepicker-delimer{position:relative;top:-2px;height:30px;width:8px;color:rgba(0,0,0,.7);line-height:30px;font-size:30px}.dhx_calendar{display:flex;justify-content:flex-end;min-height:258px;padding:12px;background-color:#fff}.dhx_calendar--with_timepicker{min-height:310px}.dhx_calendar__wrapper{position:relative;z-index:1;width:100%;min-height:100%;display:flex;flex-direction:column;justify-content:space-between}.dhx_calendar__dates-wrapper{position:relative;padding-left:40px}.dhx_calendar__navigation{display:flex;align-self:stretch;justify-content:space-between;text-align:center;align-items:center;margin:-4px 2px 4px}.dhx_calendar__navigation .dhx_button--color_secondary:focus,.dhx_calendar__navigation .dhx_button--view_link:focus{background:inherit}.dhx_calendar__navigation .dhx_button--color_secondary:hover,.dhx_calendar__navigation .dhx_button--view_link:hover{background:#e4e4e4}.dhx_calendar__timepicker-button{margin-top:8px}.dhx_calendar__actions{display:flex;justify-content:center}.dhx_calendar__week-numbers{position:absolute;left:0;top:-4px;width:32px;padding:4px 0;background-color:#f7f7f7}.dhx_calendar__week-numbers:before{content:"#";display:block;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:16px;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar__weekdays{display:flex;flex-direction:row;justify-content:space-between;margin:0 0 8px}.dhx_calendar__days,.dhx_calendar__months{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.dhx_calendar__months,.dhx_calendar__years{margin-top:auto;margin-bottom:auto}.dhx_calendar__years{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.dhx_calendar-weekday{flex:1 0 14%;font-size:12px;line-height:16px}.dhx_calendar-week-number,.dhx_calendar-weekday{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar-week-number{margin-bottom:12px;font-size:14px;line-height:20px}.dhx_calendar-week-number:last-child{margin-bottom:0}.dhx_calendar-week-number--hidden{opacity:0;pointer-events:none}.dhx_calendar-day{position:relative;flex:1 0 14%;margin-bottom:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.5);text-align:center;cursor:pointer}.dhx_calendar-day:nth-last-child(-n+7){margin-bottom:0}.dhx_calendar-day:after,.dhx_calendar-day:before{content:"";position:absolute;top:50%;left:50%;display:block;width:28px;height:28px;transform:translate(-50%,-50%);background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;z-index:-1}.dhx_calendar-day:active,.dhx_calendar-day:focus{outline:none}.dhx_calendar-day:active:before,.dhx_calendar-day:focus:before,.dhx_calendar-day:hover:before{opacity:1;transition:opacity .2s ease-out}.dhx_calendar-day--weekend{color:#0288d1}.dhx_calendar-day--hidden{opacity:0;pointer-events:none}.dhx_calendar-day--muffled{opacity:.6}.dhx_calendar-day--disabled{color:rgba(0,0,0,.3);pointer-events:none}.dhx_calendar-day--weekend-disabled{pointer-events:none;color:#6ecbfe}.dhx_calendar-day--in-range:after{opacity:1;background-color:#d3efff;border-radius:0;width:100%;z-index:-3}.dhx_calendar-day--selected{color:#fff;position:relative;z-index:1}.dhx_calendar-day--selected:before{opacity:1;background-color:#0288d1}.dhx_calendar-day--selected-first:after{border-radius:50% 0 0 50%}.dhx_calendar-day--selected-last:after{border-radius:0 50% 50% 0}.dhx_calendar-day--first-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% - 2px);left:auto;border-radius:0;border-top-left-radius:32px;border-bottom-left-radius:32px}.dhx_calendar-day--last-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% + 2px);left:auto;border-radius:0;border-top-right-radius:32px;border-bottom-right-radius:32px}.dhx_calendar-day:nth-child(7n).dhx_calendar-day--first-date:after{width:30px;right:calc(-50% + 1px)}.dhx_calendar-day:nth-child(7n+1).dhx_calendar-day--last-date:after{width:30px;right:calc(-50% + 3px)}.dhx_calendar-month,.dhx_calendar-year{position:relative;flex:1 0 25%;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:50px;color:rgba(0,0,0,.7);text-align:center;cursor:pointer}.dhx_calendar-month:nth-last-child(-n+4),.dhx_calendar-year:nth-last-child(-n+4){margin-bottom:0}.dhx_calendar-month:before,.dhx_calendar-year:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;width:50px;height:50px;background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;transition:opacity .2s ease-in,background-color .2s ease-in;z-index:-1}.dhx_calendar-month:active,.dhx_calendar-month:focus,.dhx_calendar-year:active,.dhx_calendar-year:focus{outline:none}.dhx_calendar-month:active:before,.dhx_calendar-month:focus:before,.dhx_calendar-year:active:before,.dhx_calendar-year:focus:before{opacity:1;transition:opacity .2s ease-out}.dhx_calendar-month:hover:before,.dhx_calendar-year:hover:before{opacity:1;transition:opacity .2s ease-out;z-index:-2}.dhx_calendar-month--selected,.dhx_calendar-year--selected{color:#fff}.dhx_calendar-month--selected:before,.dhx_calendar-year--selected:before{opacity:1;transition:opacity .2s ease-in,background-color .2s ease-in;background-color:#0288d1}.dhx_chart{stroke-linecap:square;position:relative;height:100%}.dhx_chart svg{vertical-align:top;overflow:visible}.dhx_chart .chart{transition:all .4s ease}.dhx_chart .chart.donut,.dhx_chart .chart.pie,.dhx_chart .chart.pie3d{transition-property:none}.dhx_chart .chart.dhx_pie-transform-delay{transition-property:all}.dhx_chart.not-animate .chart,.dhx_chart.not-animate .tooltip-form,.dhx_chart.not-animate .tooltip-text{transition:none}.dhx_chart .figure{transition:fill,stroke .3s ease}.dhx_chart .active-figure{visibility:visible;transition:all .2s ease}.dhx_chart .active-figure.point-circle,.dhx_chart .active-figure.point-rect,.dhx_chart .active-figure.point-rhombus,.dhx_chart .active-figure.point-triangle{-webkit-filter:url(#dropshadow);filter:url(#dropshadow);transition:all .3s ease}.dhx_chart .area{stroke-linecap:round}.dhx_chart .dash-line{stroke-dasharray:4,6;stroke-linecap:round}.dhx_chart .legend-text,.dhx_chart .scale-text,.dhx_chart .scale-title{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;fill:#898f97}.dhx_chart text{text-anchor:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.dhx_chart .start-text{text-anchor:start}.dhx_chart .end-text{text-anchor:end}.dhx_chart .legend-text{line-height:18px}.dhx_chart .scale-title{fill:#aeb7c2;line-height:16px}.dhx_chart .grid-line{stroke:#e3e9f1}.dhx_chart .main-scale{stroke:#c8d4e4;stroke-width:2px}.dhx_chart .radar-grid{stroke-dasharray:4,6;stroke:#d8e1ec;stroke-linecap:round}.dhx_chart .zebra{fill-rule:evenodd;fill:#f3f6fa}.dhx_chart .radar-scale{stroke:#c4d5e6}.dhx_chart .spec-grid-line{stroke:#898f97;stroke-linecap:round;stroke-dasharray:4,6}.dhx_chart .bar-text{fill:#fff;line-height:14px;font-weight:500;font-size:12px}.dhx_chart .bar-text,.dhx_chart .radar-axis-text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_chart .radar-axis-text{font-size:14px;fill:#666}.dhx_chart .legend-item{cursor:pointer}.dhx_chart .legend-item.not-active .figure{fill:#c8d4e4;fill-opacity:1;stroke:#c8d4e4}.dhx_chart .legend-item.not-active .figure.legend-circle,.dhx_chart .legend-item.not-active .figure.legend-rect{stroke:none}.dhx_chart .legend-item.not-active .figure.legend-circle.with-stroke,.dhx_chart .legend-item.not-active .figure.legend-rect.with-stroke{stroke:#c8d4e4}.dhx_chart .legend-item.not-active .legend-text{fill:#c8d4e4}.dhx_chart.tooltip-container{z-index:2147483647}.dhx_chart.tooltip-container svg{width:4px;height:4px}.dhx_chart .tooltip-form{fill:#555;fill-opacity:.9}.dhx_chart .tooltip-text{font-size:12px;line-height:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;fill:#fff;font-weight:500}.dhx_chart .active-tooltip{visibility:visible}.dhx_chart .pie-value{font-weight:400;font-size:14px;fill:#898f97}.dhx_chart .pie-inner-value,.dhx_chart .pie-value{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_chart .pie-inner-value{fill:#fff;pointer-events:none;font-weight:500;line-height:14px;font-size:12px}.dhx_chart .pie-value-connector{stroke:#c6c6c6;fill:none}.dhx_chart .donut-value-title{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;fill:#898f97;font-size:14px;line-height:18px}.dhx_chart .donut-value{fill:#555;font-size:12px;line-height:14px}.dhx_chart .donut-value,.dhx_popup{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_popup{position:fixed;box-sizing:border-box;-webkit-animation:appear .2s ease-in-out forwards;animation:appear .2s ease-in-out forwards;background:#fff;will-change:transform;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_popup,.dhx_popup--window,.dhx_popup--window_modal{z-index:2147483645}.dhx_popup--window_active{z-index:2147483646}.dhx_popup.hide{-webkit-animation:disappear .2s ease-in-out forwards;animation:disappear .2s ease-in-out forwards}.dhx_popup:focus{outline:none}.dhx_widget--fullscreen .dhx_popup{z-index:2147483647}@-webkit-keyframes appear{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes appear{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@-webkit-keyframes disappear{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}@keyframes disappear{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}.dhx_colorpicker{font-family:Roboto,sans-serif;font-weight:500;overflow:hidden;padding:8px;border:1px solid #e4e4e4;background-color:#fff;border-radius:2px}.dhx_colorpicker,.dhx_colorpicker *{box-sizing:border-box}.dhx_popup .dhx_colorpicker{box-shadow:0 2px 5px rgba(0,0,0,.3);border:none}.dhx_palette{overflow:hidden;width:100%;height:100%;margin:0;white-space:nowrap}.dhx_palette--custom{display:flex;flex-wrap:wrap;max-width:236px}.dhx_palette--custom.dhx_palette__row .dhx_palette__cell{margin-bottom:0}.dhx_palette__col{display:inline-block}.dhx_palette__col:last-child .dhx_palette_cell{margin-right:0}.dhx_palette__row .dhx_palette__cell{display:inline-block;margin-bottom:6px}.dhx_palette__row .dhx_palette__cell:last-child{margin-right:0}.dhx_palette__row--last{margin-bottom:0}.dhx_palette__cell{position:relative;width:20px;height:20px;margin:0 2px 2px 0;vertical-align:top;border:2px solid transparent;transition:border .2s ease-in}.dhx_palette__cell:after{content:"";display:block;position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:1px solid transparent;transition:border .2s ease-in}.dhx_palette__cell:last-child{margin-bottom:0}.dhx_palette__cell--selected,.dhx_palette__cell:hover{border:2px solid hsla(0,0%,100%,.6);transition:border .2s ease-out}.dhx_palette__cell--selected:after,.dhx_palette__cell:hover:after{border:1px solid rgba(0,0,0,.6);transition:border .2s ease-out}.dhx_colorpicker-custom-colors{font-size:14px;color:#909cad}.dhx_colorpicker-custom-colors__header{font-size:14px;padding:9px 0 4px;letter-spacing:-.2px;position:relative}.dhx_colorpicker-custom-colors__picker{display:inline-block;width:20px;height:20px;cursor:pointer;color:#909cad;box-shadow:inset 0 0 0 1px #909cad}.dhx_colorpicker-picker__palette{position:relative;width:100%;border-radius:2px;overflow:hidden}.dhx_colorpicker-picker__palette:before{content:"";height:100%;width:100%;position:absolute;top:0;left:0;background-image:linear-gradient(0deg,#000,hsla(0,0%,100%,0));z-index:2}.dhx_colorpicker-picker__palette:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0;background-image:linear-gradient(90deg,#fff,rgba(204,154,129,0));z-index:1}.dhx_colorpicker-picker__buttons{display:flex;padding:12px 0 0;justify-content:flex-end}.dhx_colorpicker-picker__buttons .dhx_button:first-child{margin-right:4px}.dhx_colorpicker-hue-range{position:relative;width:100%;margin:4px 0 8px;border-radius:2px;background-image:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.dhx_colorpicker-hue-range__grip{width:6px;height:100%}.dhx_colorpicker-hue-range__grip,.dhx_palette_grip{position:absolute;top:0;left:0;border:1px solid #fff;background:transparent;box-shadow:0 2px 5px 0 rgba(0,0,0,.3)}.dhx_palette_grip{width:10px;height:10px;border-radius:50%;z-index:10}.dhx_colorpicker-value{display:flex;flex-direction:row;height:32px;justify-content:space-between}.dhx_colorpicker-value__color{width:100px;border:1px solid transparent;border-radius:2px;margin-right:8px}.dhx_colorpicker-value__input__wrapper{position:relative;border:1px solid #d4dde7}.dhx_colorpicker-value__input__wrapper:before{content:"#";position:absolute;height:100%;line-height:30px;left:8px;color:#909cad;font-size:15px}.dhx_colorpicker-value__input{width:100px;height:100%;padding:0 0 0 24px;line-height:20px;font-size:14px;color:rgba(0,0,0,.7);border:none;border-radius:2px;outline:none}.dhx_list{margin:0;padding:0;height:100%;list-style:none;overflow:auto;max-height:100%;background-color:#fff}.dhx_list--virtual{overflow:visible;max-height:unset;border:none}.dhx_list-item{overflow:hidden;position:relative;padding:8px 12px;border-bottom:1px solid #e4e4e4}.dhx_list-item,.dhx_list-item--text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_list-item--text{font-size:14px;font-weight:400;line-height:20px;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_list-item--selected{background-color:#f7f7f7;box-shadow:inset 2px 0 0 0 #0288d1}.dhx_list-item--focus,.dhx_list-item--selected:hover,.dhx_list-item:hover{background-color:#ededed;transition:background-color .2s ease-out}.dhx_list-item--drophere:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;background-color:#f7f7f7;opacity:.6}.dhx_list-item--dragtarget{opacity:.6}.dhx_list-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_list-input{width:100%;padding-left:5px}.dhx_virtual-list-wrapper{overflow:auto;max-height:100%;border:1px solid #e4e4e4}.dhx_combobox{margin-bottom:16px}.dhx_combobox__options{margin-top:2px;width:100%}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_combobox--label-inline{display:flex;align-items:center;width:100%;position:relative}.dhx_combobox--label-inline .dhx_combobox__label{flex:0 1 auto;justify-content:flex-end;text-align:right;margin-right:16px;width:100%}.dhx_combobox--label-inline .dhx_combobox-input-box{flex:0 1 auto;width:300%}.dhx_combobox--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_combobox-input-box{position:relative;flex:1;background-color:#f7f7f7;background-clip:padding-box;border-radius:2px;box-shadow:inset 0 0 0 1px #dfdfdf;transition:border-color .2s ease-out,box-shadow .2s ease-out}.dhx_combobox-input-box--readonly,.dhx_combobox-input-box--readonly *{cursor:pointer}.dhx_combobox-input-box--disabled{cursor:not-allowed}.dhx_combobox-input-box--disabled *{cursor:not-allowed;pointer-events:none}.dhx_combobox-input-box--active,.dhx_combobox-input-box:focus-within{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_combobox-input-box--state_success{box-shadow:inset 0 0 0 1px #6cd0a5}.dhx_combobox-input-box--state_error{box-shadow:inset 0 0 0 1px #ff9797}.dhx_combobox-input{min-height:30px;display:block;width:100%;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.dhx_combobox-input:active,.dhx_combobox-input:focus{outline:none}.dhx_combobox-input__wrapper{position:static;padding-bottom:0}.dhx_combobox-input__icon{display:flex;align-items:center;cursor:pointer;flex:0;position:absolute;top:50%;right:4px;transform:translateY(-50%);font-size:16px;z-index:1;color:rgba(0,0,0,.5)}.dhx_combobox-input-list-wrapper{height:100%;width:100%;overflow:hidden}.dhx_combobox-input-list{display:flex;flex-wrap:wrap;flex-flow:row wrap;list-style:none;margin:0;border-top:1px solid transparent;border-bottom:1px solid transparent;min-height:30px;max-height:96px;width:calc(100% - 32px);overflow-y:scroll;padding:0 41px 0 8px;box-sizing:content-box!important}.dhx_combobox-input-list__item{flex:0 1 auto}.dhx_combobox-input-list__item--input{position:relative;flex:1 0 auto}.dhx_combobox-tag{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;padding:0 8px;margin-top:2px;margin-bottom:2px;border:1px solid #e4e4e4;border-radius:16px;background-color:#fff;margin-right:8px}.dhx_combobox-tag__value{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap}.dhx_combobox-tag__icon,.dhx_combobox-tag__image{margin-right:4px}.dhx_combobox-tag__image{width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-tag__action{height:20px;margin-left:4px;margin-right:-6px;color:rgba(0,0,0,.5);padding:0;background-color:transparent;transition:color .2s ease-in}.dhx_combobox-tag__action:hover{color:rgba(0,0,0,.7);transition:color .2s ease-out}.dhx_combobox-options{background-color:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3)}.dhx_combobox-options__icon{padding-right:4px}.dhx_combobox-options__image{padding-right:4px;width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-options__item{display:flex;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;padding:6px 8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_combobox-options__item--select-all{color:#0288d1;line-height:20px;border-bottom:1px solid #e4e4e4}.dhx_dataview{position:relative;overflow-y:auto;height:100%;max-height:100%;background-color:#fff}.dhx_dataview--has-scroll .dhx_dataview-row:last-child .dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-bottom:0}.dhx_dataview-row{display:flex;flex-wrap:nowrap;justify-content:flex-start}.dhx_dataview-row .dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-top:0}.dhx_dataview-item{position:relative;flex:0 1 auto;border:1px solid #e4e4e4;padding:8px;transition:box-shadow .2s ease-in}.dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-left:0}.dhx_dataview-item--last-item-in-row:not(.dhx_dataview-item--with-gap){border-right:0}.dhx_dataview-item:focus{outline:none}.dhx_dataview-item:after{content:"";display:block;position:absolute;left:0;right:0;bottom:0;top:0;z-index:1;border:1px solid transparent;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;pointer-events:none}.dhx_dataview-item--focus{box-shadow:inset 0 0 0 1px #a6a6a6;transition:box-shadow .2s ease-out}.dhx_dataview-item--selected{box-shadow:inset 0 0 0 1px #0288d1;transition:box-shadow .2s ease-out}.dhx_dataview-item--drophere:after{background-color:#f7f7f7;opacity:.6}.dhx_dataview-item--dragtarget{opacity:.6}.dhx_dataview-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_dataview-input{padding-left:5px}.dhx_footer-wrapper,.dhx_header-wrapper{position:relative;font-size:14px;font-weight:500;color:rgba(0,0,0,.7);z-index:11}.dhx_footer-wrapper.dhx_compatible-header,.dhx_header-wrapper.dhx_compatible-header{border-right:none}.dhx_footer-wrapper:last-child,.dhx_header-wrapper:last-child{border-bottom:none}.dhx_footer-wrapper{overflow:hidden}.dhx_grid-header{position:relative;height:100%;white-space:nowrap;z-index:10}.dhx_grid-footer-cell,.dhx_grid-header-cell{display:inline-block;height:100%;padding:0 8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;vertical-align:top;white-space:nowrap;position:relative;font-weight:500;background-color:#f7f7f7;border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;border-left:none;text-overflow:ellipsis;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_grid-footer-cell:not(.dhx_cell_first),.dhx_grid-header-cell:not(.dhx_cell_first){border-left:1px solid #e4e4e4}.dhx_grid-footer-cell:first-child,.dhx_grid-header-cell:first-child{border-left:none}.dhx_grid-header-cell--sortable:hover .dhx_grid-sort-icon{opacity:1}.dhx_grid-header-cell--sortable:hover:after,.dhx_grid-header-cell--sorted:after{content:"";display:block;width:24px;position:absolute;top:0;bottom:0;background-color:#f7f7f7;opacity:.8}.dhx_grid-header-cell--align_right{text-align:right}.dhx_grid-header-cell--align_right .dhx_grid-header-cell-text{padding-left:24px}.dhx_grid-header-cell--align_right .dhx_grid-sort-icon{left:4px}.dhx_grid-header-cell--align_right:after{left:0}.dhx_grid-header-cell--align_left{text-align:left}.dhx_grid-header-cell--align_left .dhx_grid-sort-icon{right:4px}.dhx_grid-header-cell--align_left:after{right:0}.dhx_grid-footer-cell:last-child,.dhx_grid-header-cell:last-child{overflow:hidden}.dhx_grid-sort-icon{position:absolute;top:50%;transform:translateY(-50%);opacity:0;color:rgba(0,0,0,.5);z-index:1;transition:all .2s ease-in;cursor:pointer}.dhx_grid-sort-icon:before{font-size:16px;display:inline-block;transition:all .2s ease-out}.dhx_grid-sort-icon--asc,.dhx_grid-sort-icon--desc{opacity:1;color:#0288d1;transition:color .2s ease-out}.dhx_grid-sort-icon--asc:before{transform:scaleY(-1)}.dhx_cell_empty{border-top:none}.dhx_header-row{white-space:nowrap;background:#f7f7f7}.dhx_header-row:last-child .dhx_cell-first{border-bottom:1px solid #f7f7f7}.dhx_header-row:first-child .dhx_grid-footer-cell,.dhx_header-row:first-child .dhx_grid-header-cell{border-top:none}.dhx_header-row:not(:last-child) .dhx_grid-footer-cell,.dhx_header-row:not(:last-child) .dhx_grid-header-cell{border-bottom:none}.dhx_grid-custom-content-cell{padding:5px}.dhx_header-spans{position:absolute;top:0}.dhx_header-spans .dhx_span-cell{background:#f7f7f7;font-weight:500}.dhx_header-fixed-cols{background:#f7f7f7;z-index:999}.dhx_header-fixed-cols .dhx_last-column-cell{border-right:1px solid #e4e4e4}.dhx_resizer_grip{position:absolute;z-index:100;top:0;right:-5px;display:flex;width:9px;height:100%;cursor:col-resize;justify-content:center}.dhx_resizer_grip:hover .dhx_resizer_grip_line{opacity:1}.dhx_resizer_grip:active{right:-100.5px;width:200px}.dhx_resizer_grip .dhx_resizer_grip_line{z-index:100;background-color:#a6a6a6;width:1px;height:100%;transition:all .2s;pointer-events:none;opacity:0}.dhx_resizer_grip .dhx_header_fixed_cols .dhx_header_row{border:none}.dhx_footer-wrapper{box-shadow:0 1px 0 0 #f7f7f7}.dhx_grid-footer{position:relative;background-color:#f7f7f7}.dhx_grid-footer-cell{border-top:1px solid #e4e4e4;overflow:hidden}.dhx_grid-footer-cell:after{display:none}.dhx_grid-footer-cell.dhx_number-cell{text-align:right}.dhx_grid-footer-cell.dhx_string-cell{text-align:left}.dhx_footer-row{white-space:nowrap;background:#f7f7f7}.dhx_footer-row:last-child .dhx_cell-first{border-bottom:1px solid #f7f7f7}.dhx_footer-row .dhx_grid-footer-cell{border-bottom:none}.dhx_footer-spans .dhx_span-cell{background-color:#f7f7f7}.dhx_footer-spans .dhx_span-row .dhx_span-cell{border-top:1px solid #e4e4e4}.dhx_footer-fixed-cols{background:#f7f7f7;z-index:999}.dhx_footer-fixed-cols .dhx_last-column-cell{border-right:1px solid #e4e4e4}.dhx_grid_data{position:relative;top:-1px}.dhx_grid-row{width:100%}.dhx_grid-cell,.dhx_grid-row{white-space:nowrap;overflow:hidden}.dhx_grid-cell{font-size:14px;color:rgba(0,0,0,.7);text-align:right;position:relative;display:inline-block;height:100%;padding:0 8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;vertical-align:top;border-top:1px solid #e4e4e4;border-left:1px solid #e4e4e4}.dhx_grid-cell--drophere:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;background-color:#f7f7f7;opacity:.6}.dhx_grid-cell--dragtarget{opacity:.6}.dhx_grid-cell--drag{cursor:-webkit-grab;cursor:grab}.dhx_grid-cell .dhx_cell-content{width:100%;height:100%;overflow:hidden}.dhx_grid-cell:first-child{border-left:none}.dhx_grid-cell--first{border-top:none}.dhx_grid-cell--title{font-size:14px;font-weight:400;color:rgba(0,0,0,.7);text-align:left;border-bottom:none}.dhx_grid-cell--after-title,.dhx_grid-cell--title{border-top:1px solid #e4e4e4}.dhx_grid-cell__editable{padding-right:0;padding-left:0}.dhx_number-cell{text-align:right}.dhx_string-cell,.dhx_tree-cell{text-align:left}.dhx_tree-cell:not(.dhx_grid-expand-cell) .dhx_cell-editor{margin:0 -8px}.dhx_tree-cell.dhx_grid-expand-cell{display:inline-flex;padding-left:0}.dhx_tree-cell .dhx_grid-expand-cell-icon{display:inline-flex;width:auto;height:100%;font-size:14px;cursor:pointer}.dhx_tree-cell .dhx_grid-expand-cell-icon:before{display:flex;justify-content:center;flex-direction:column}.dhx_tree-cell .dhx_tree-cell{display:inline-block;padding:0 8px}.dhx_grid-fixed-cols-wrap{position:absolute;top:0;left:0;background:#fff;overflow:hidden}.dhx_frozen-cols-border{width:1px;position:absolute;right:0;top:0;height:100%;background:#e4e4e4;z-index:999999}.dhx_grid-fixed-cols{position:absolute;top:0}.dhx_grid-fixed-cols .dhx_grid-cell__editable:last-child{padding-right:1px}.dhx_grid-selection{position:absolute;top:0;left:0;z-index:10}.dhx_grid-selected-row{border-left:2px solid #0288d1;background:rgba(77,77,77,.08);pointer-events:none}.dhx_grid-selected-cell{border:2px solid #0288d1;background-color:transparent;pointer-events:none}.dhx_grid-resize-line{position:absolute;width:1px;background:#a6a6a6;z-index:10}.dhx_cell-editor{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;width:100%;height:100%;text-align:inherit;color:rgba(0,0,0,.7);border:none;border-radius:0;background:transparent;box-shadow:inset 0 0 0 1px #0288d1;outline:none}.dhx_cell-editor__combobox .dhx_combobox-input-box{padding:0 25px 0 8px;box-shadow:inset 0 0 0 1px #0288d1}.dhx_cell-editor__input{padding:0 8px}.dhx_cell-editor__select{padding:0 4px}.dhx_cell-editor__checkbox{position:relative;width:100%;height:100%;display:flex;justify-content:center;flex-direction:column;align-items:center;cursor:pointer}.dhx_span-cell{position:relative;display:inline-block;height:100%;padding:0 8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;vertical-align:top;white-space:nowrap;border-left:1px solid #e4e4e4;overflow:hidden;position:absolute;display:block;height:auto;font-weight:500;border-top:1px solid #e4e4e4;border-bottom:none;z-index:10}.dhx_span-cell--title{color:rgba(0,0,0,.5)}.dhx_span-row .dhx_first-column-cell{border-left:none}.dhx_span-row .dhx_last-column-cell{border-right:1px solid #e4e4e4}.dhx_span-row:first-child .dhx_span-cell{border-top:none}.dhx_span-spans{position:absolute;top:0;left:0}.dhx_span-spans .dhx_span-cell{font-weight:400;color:rgba(0,0,0,.7);line-height:normal;text-align:left;white-space:normal;border-right:none;background:#fff}.dhx_span-spans .dhx_span-cell.dhx_span-first-row{border-top:none}.dhx_span-spans .dhx_span-cell.dhx_span-first-col{border-left:none}.dhx_span-spans .dhx_span-string-cell{text-align:left}.dhx_span-spans .dhx_span-number-cell{text-align:right}.dhx_grid{position:relative;width:100%;height:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;background:#fff;overflow:hidden}.dhx_grid_border{border-bottom:1px solid #e4e4e4!important}.dhx_grid-content{position:relative;border:1px solid #dfdfdf;background:#fff}.dhx_grid-less-width .dhx_grid-cell:last-child,.dhx_grid-less-width .dhx_grid-footer-cell:last-child,.dhx_grid-less-width .dhx_grid-header-cell:last-child,.dhx_grid-less-width .dhx_grid_footer_cell:last-child,.dhx_grid-less-width .dhx_last-column-cell,.dhx_grid-less-width .dhx_span-last-col,.dhx_grid_border .dhx_grid-cell:last-child,.dhx_grid_border .dhx_grid-footer-cell:last-child,.dhx_grid_border .dhx_grid-header-cell:last-child,.dhx_grid_border .dhx_grid_footer_cell:last-child,.dhx_grid_border .dhx_last-column-cell,.dhx_grid_border .dhx_span-last-col{border-right:1px solid #e4e4e4}.dhx_grid-less-height .dhx_footer-row:last-child .dhx_grid-footer-cell,.dhx_grid-less-height .dhx_grid-row:last-child{border-bottom:1px solid #e4e4e4}.dhx_grid-less-height .dhx_footer-row:first-child .dhx_grid-footer-cell{border-top:none}.dhx_grid-less-height .dhx_span-row:last-child .dhx_span-cell{border-bottom:1px solid #e4e4e4}.dhx_grid-less-height .dhx_span-row:first-child .dhx_span-cell{border-top:none}.dhx_grid-body{overflow:auto}.dhx_data-wrap,.dhx_grid-body{position:relative;width:100%;height:100%}.dhx_data-wrap{overflow:hidden}.dhx_grid-filter__label{display:block;width:100%;height:100%;position:relative}.dhx_grid-filter__label:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;transform:translateY(-50%);z-index:10}.dhx_grid-filter{height:100%;padding:0 25px 0 4px;color:rgba(0,0,0,.7);background:#fff;border-radius:2px;outline:none;position:relative}.dhx_grid-filter::-ms-expand{display:none}.dhx_grid-cell .dhx_combobox-input-box,.dhx_grid-footer-cell .dhx_combobox-input-box,.dhx_grid-header-cell .dhx_combobox-input-box{height:100%;padding:0 8px;color:rgba(0,0,0,.7);background:#fff;border-radius:2px;outline:none;position:relative}.dhx_grid-cell .dhx_combobox-input-box::-ms-expand,.dhx_grid-footer-cell .dhx_combobox-input-box::-ms-expand,.dhx_grid-header-cell .dhx_combobox-input-box::-ms-expand{display:none}.dhx_grid-cell .dhx_combobox,.dhx_grid-footer-cell .dhx_combobox,.dhx_grid-header-cell .dhx_combobox{margin:0;height:100%}.dhx_grid-cell .dhx_combobox .dhx_combobox-input-list,.dhx_grid-footer-cell .dhx_combobox .dhx_combobox-input-list,.dhx_grid-header-cell .dhx_combobox .dhx_combobox-input-list{height:100%;min-height:100%;max-height:100%;padding-left:0;padding-right:24px;border:none;width:100%}.dhx_grid-cell .dhx_combobox .dhx_combobox-input-list .dhx_combobox-input,.dhx_grid-footer-cell .dhx_combobox .dhx_combobox-input-list .dhx_combobox-input,.dhx_grid-header-cell .dhx_combobox .dhx_combobox-input-list .dhx_combobox-input{height:100%;min-height:100%}.dhx_grid-cell .dhx_list-item,.dhx_grid-footer-cell .dhx_list-item,.dhx_grid-header-cell .dhx_list-item{padding:7px 12px}.dhx_menu-nav{display:flex;flex-wrap:nowrap;margin:0;padding:0;width:100%;list-style:none;overflow-x:auto;background-color:#ededed}.dhx_menu-nav__item--separator{pointer-events:none;width:1px;min-width:1px;background-color:#dfdfdf;margin-top:8px;margin-bottom:8px}.dhx_menu-nav__item--spacer{pointer-events:none;flex:1 0 auto}.dhx_nav-menu-button{display:flex;justify-content:center;align-items:center;padding:8px 12px;font-weight:500;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:transparent;transition:background-color .2s ease-in}.dhx_nav-menu-button--active:not(:disabled),.dhx_nav-menu-button:active:not(:disabled),.dhx_nav-menu-button:hover:not(:disabled){background-color:rgba(0,0,0,.07);transition:background-color .2s ease-out}.dhx_nav-menu-button--disabled,.dhx_nav-menu-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_nav-menu-button--disabled *,.dhx_nav-menu-button:disabled *{color:rgba(0,0,0,.3)}.dhx_menu{padding:0;margin:0;background:#fff;list-style:none;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3);overflow:hidden;z-index:999}.dhx_menu-item{min-width:180px}.dhx_menu-item--separator{pointer-events:none;align-self:stretch;height:1px;min-height:1px;margin:2px 8px;background-color:#e4e4e4}.dhx_menu-item--spacer{pointer-events:none;height:16px}.dhx_menu-item--left-gap .dhx_menu-button{padding-left:38px}.dhx_menu-button{display:flex;width:100%;justify-content:space-between;padding:8px;text-align:left;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:rgba(0,0,0,.7);background-color:transparent;transition:background-color .2s ease-in}.dhx_menu-button--active:not(:disabled),.dhx_menu-button:active:not(:disabled),.dhx_menu-button:focus:not(:disabled),.dhx_menu-button:hover:not(:disabled){background-color:#ededed;transition:background-color .2s ease-out}.dhx_menu-button--disabled,.dhx_menu-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_menu-button--disabled *,.dhx_menu-button:disabled *{color:rgba(0,0,0,.3)}.dhx_menu-button__icon{color:rgba(0,0,0,.5)}.dhx_widget .dhx_menu-button__icon{line-height:0}.dhx_widget .dhx_menu-button__icon:before{font-size:20px;line-height:20px}.dhx_menu-button__icon+.dhx_menu-button__text{margin-left:8px}.dhx_menu-button__block{display:flex;align-items:center}.dhx_menu-button__block--left{justify-content:flex-start}.dhx_menu-button__block--right{justify-content:flex-end}.dhx_menu-button__count{margin-left:8px;margin-top:-2px;margin-bottom:-2px}.dhx_menu-button__hotkey{margin-left:8px;color:rgba(0,0,0,.3)}.dhx_menu-button__caret{margin-left:8px;color:rgba(0,0,0,.5)}.dhx_widget--fullscreen .dhx_menu{z-index:2147483647}.dhx_ribbon{display:flex;flex-direction:row;flex-wrap:wrap;margin:0;padding:10px;list-style:none}.dhx_ribbon:focus{outline:none}.dhx_ribbon__item{margin:2px}.dhx_ribbon__item--auto,.dhx_ribbon__item--medium{flex:1 0 auto;min-width:68px;min-height:68px}.dhx_ribbon__item--icon,.dhx_ribbon__item--spacer{flex:1 0 auto}.dhx_ribbon__item--separator{align-self:stretch;width:1px;min-width:1px;margin:8px 4px;background-color:#dfdfdf}.dhx_ribbon-button__icon+.dhx_ribbon-button__text{margin-left:4px}.dhx_widget .dhx_ribbon-button__icon{line-height:0}.dhx_widget .dhx_ribbon-button__icon:before{font-size:20px;line-height:20px}.dhx_ribbon-button,.dhx_ribbon-button-image{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:6px 12px;box-shadow:inset 0 0 0 1px #dfdfdf;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;font-weight:400;color:rgba(0,0,0,.7);background-color:transparent;border-radius:2px;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_ribbon-button-image__icon,.dhx_ribbon-button__icon{color:rgba(0,0,0,.5);line-height:0}.dhx_ribbon-button-image__count,.dhx_ribbon-button__count{margin-left:8px;margin-top:-10px;margin-bottom:-10px}.dhx_ribbon-button--auto,.dhx_ribbon-button--medium,.dhx_ribbon-button-image--auto,.dhx_ribbon-button-image--medium{flex-direction:column;justify-content:center;align-items:center;min-width:68px;min-height:68px;height:100%}.dhx_ribbon-button--auto .dhx_ribbon-button-image__count,.dhx_ribbon-button--auto .dhx_ribbon-button__count,.dhx_ribbon-button--medium .dhx_ribbon-button-image__count,.dhx_ribbon-button--medium .dhx_ribbon-button__count,.dhx_ribbon-button-image--auto .dhx_ribbon-button-image__count,.dhx_ribbon-button-image--auto .dhx_ribbon-button__count,.dhx_ribbon-button-image--medium .dhx_ribbon-button-image__count,.dhx_ribbon-button-image--medium .dhx_ribbon-button__count{margin-left:0;position:absolute;top:4px;right:4px}.dhx_ribbon-button--auto .dhx_ribbon-button__icon+.dhx_ribbon-button__text,.dhx_ribbon-button--medium .dhx_ribbon-button__icon+.dhx_ribbon-button__text,.dhx_ribbon-button-image--auto .dhx_ribbon-button__icon+.dhx_ribbon-button__text,.dhx_ribbon-button-image--medium .dhx_ribbon-button__icon+.dhx_ribbon-button__text{margin-left:0;margin-top:2px}.dhx_ribbon-button--icon,.dhx_ribbon-button-image--icon{flex:1 0 auto;justify-content:center}.dhx_ribbon-button--select,.dhx_ribbon-button-image--select{padding-right:8px}.dhx_ribbon-button--select .dhx_ribbon-button__text,.dhx_ribbon-button-image--select .dhx_ribbon-button__text{margin-right:8px}.dhx_ribbon-button-image:hover,.dhx_ribbon-button:hover{background-color:rgba(0,0,0,.07);transition:background-color .2s ease-out}.dhx_ribbon-button--active,.dhx_ribbon-button-image--active,.dhx_ribbon-button-image:active,.dhx_ribbon-button:active{background-color:#f2f9fd;transition:background-color .2s ease-out,box-shadow .2s ease-out;box-shadow:inset 0 0 0 1px #b3dbf1}.dhx_ribbon-button--disabled,.dhx_ribbon-button-image--disabled,.dhx_ribbon-button-image:disabled,.dhx_ribbon-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_ribbon-button--disabled:hover,.dhx_ribbon-button-image--disabled:hover,.dhx_ribbon-button-image:disabled:hover,.dhx_ribbon-button:disabled:hover{background-color:transparent}.dhx_ribbon-button--disabled *,.dhx_ribbon-button-image--disabled *,.dhx_ribbon-button-image:disabled *,.dhx_ribbon-button:disabled *{color:rgba(0,0,0,.3)}.dhx_ribbon-button-image__text+.dhx_ribbon-button-image__image{margin-right:4px}.dhx_ribbon-button-image{flex-flow:row-reverse;justify-content:flex-end}.dhx_ribbon-button-image__count{order:-1}.dhx_ribbon-button-image__image{width:20px;height:20px;background-size:cover;background-position:50%;background-repeat:no-repeat}.dhx_ribbon-button-image--icon{justify-content:center}.dhx_ribbon-button-image__count{margin-left:8px}.dhx_ribbon-button-image--auto .dhx_ribbon-button__count,.dhx_ribbon-button-image--medium .dhx_ribbon-button__count{margin-left:0;position:absolute;top:4px;right:4px}.dhx_ribbon-button-image--auto,.dhx_ribbon-button-image--medium{flex-flow:column-reverse;justify-content:center;min-width:68px;min-height:68px;height:100%}.dhx_ribbon-button-image--auto .dhx_ribbon-button-image__image,.dhx_ribbon-button-image--medium .dhx_ribbon-button-image__image{margin-right:0;width:32px;height:32px}.dhx_ribbon-button-image__caret,.dhx_ribbon-button__caret{margin-left:auto;color:rgba(0,0,0,.5);transform:rotate(90deg)}.dhx_ribbon-block{display:flex;text-align:center}.dhx_ribbon-block--root{width:100%}.dhx_ribbon-block--title{position:relative;padding-bottom:20px}.dhx_ribbon-block--indented{margin-right:4px;margin-left:4px}.dhx_ribbon-block--indented:first-child{margin-left:0}.dhx_ribbon-block--indented:last-child{margin-right:0}.dhx_ribbon-block--col>.dhx_ribbon-content{flex-direction:column}.dhx_ribbon-block--row>.dhx_ribbon-content{flex-direction:row}.dhx_ribbon-block--row .dhx_ribbon-button--auto,.dhx_ribbon-block--row .dhx_ribbon-button-image--auto{flex-direction:column;justify-content:center}.dhx_ribbon-content{flex:1 0 auto;margin:0;padding:0;list-style:none;display:flex}.dhx_ribbon-content-label-wrapper{display:block;position:absolute;bottom:-6px;left:0;right:0;overflow:hidden}.dhx_ribbon-content-label{position:relative;display:inline;font-family:Roboto;font-style:normal;font-weight:400;font-size:14px;line-height:16px;text-align:center;color:rgba(0,0,0,.38)}.dhx_ribbon-content-label:after,.dhx_ribbon-content-label:before{content:"";position:absolute;top:50%;display:block;height:1px;background:rgba(0,0,0,.07);width:1000%}.dhx_ribbon-content-label:before{left:calc(100% + 4px)}.dhx_ribbon-content-label:after{right:calc(100% + 4px)}.dhx_sidebar{height:100%;position:relative;background-color:#fff;z-index:1}.dhx_sidebar:focus{outline:none}.dhx_sidebar__item .dhx_custom-button{overflow:hidden}.dhx_sidebar__item--spacer{flex:1 0 auto}.dhx_sidebar__item--separator{height:1px;min-height:1px;width:100%;background-color:#dfdfdf;margin:2px 0}.dhx_sidebar--minimized .dhx_navbar-title{opacity:0;pointer-events:none}.dhx_sidebar--minimized .dhx_sidebar-button__icon{margin-left:auto;margin-right:auto}.dhx_sidebar--minimized .dhx_sidebar-button--select{padding-right:12px}.dhx_sidebar--minimized .dhx_sidebar-button__count{position:absolute;max-width:24px;overflow:hidden;top:-4px;right:4px}.dhx_sidebar--minimized .dhx_sidebar-button--select .dhx_sidebar-button__count{margin-right:0}.dhx_sidebar--minimized .dhx_sidebar-button__caret,.dhx_sidebar--minimized .dhx_sidebar-button__text{display:none}.dhx_sidebar-button__icon+.dhx_sidebar-button__text{margin-left:12px}.dhx_sidebar-button{position:relative;display:flex;width:100%;justify-content:flex-start;align-items:center;padding:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;font-weight:400;color:rgba(0,0,0,.7);background-color:transparent;transition:background-color .2s ease-in}.dhx_sidebar-button--select{padding-right:8px}.dhx_sidebar-button--select .dhx_sidebar-button__count{margin-right:8px}.dhx_sidebar-button--icon{padding-right:12px}.dhx_sidebar-button:hover{background-color:rgba(0,0,0,.07);transition:background-color .2s ease-out}.dhx_sidebar-button--active,.dhx_sidebar-button:active{background-color:rgba(0,0,0,.15);transition:background-color .2s ease-out}.dhx_sidebar-button--active{box-shadow:inset 2px 0 0 0 #0288d1}.dhx_sidebar-button--disabled,.dhx_sidebar-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_sidebar-button--disabled:hover,.dhx_sidebar-button:disabled:hover{background-color:transparent}.dhx_sidebar-button--disabled *,.dhx_sidebar-button:disabled *{color:rgba(0,0,0,.3)}.dhx_sidebar-button__icon{color:rgba(0,0,0,.5)}.dhx_widget .dhx_sidebar-button__icon{line-height:0}.dhx_widget .dhx_sidebar-button__icon:before{font-size:20px;line-height:20px}.dhx_sidebar-button__html,.dhx_sidebar-button__text{width:100%;text-align:left}.dhx_sidebar-button__count+.dhx_sidebar-button__caret{margin-left:0}.dhx_sidebar-button__count{min-width:24px;flex:1 0 auto;width:auto;margin:-4px 0 -4px auto}.dhx_sidebar-button__caret{margin-right:0;margin-left:auto}.dhx_toolbar{display:flex;margin:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:12px 0;background-color:#fff}.dhx_toolbar__item--spacer{flex:1 0 auto}.dhx_toolbar__item--separator{width:1px;min-width:1px;height:100%;background-color:#dfdfdf;margin:0 2px;height:28px}.dhx_toolbar__item:first-child .dhx_form-group,.dhx_toolbar__item:first-child .dhx_navbar-title,.dhx_toolbar__item:first-child button:not(.dhx_toolbar-button){margin-left:12px}.dhx_toolbar__item:first-child button.dhx_button--view_link,.dhx_toolbar__item:not(:first-child) .dhx_form-group,.dhx_toolbar__item:not(:first-child) .dhx_navbar-title,.dhx_toolbar__item:not(:first-child) button:not(.dhx_toolbar-button){margin-left:4px}.dhx_toolbar__item:last-child .dhx_form-group,.dhx_toolbar__item:last-child .dhx_navbar-title,.dhx_toolbar__item:last-child button:not(.dhx_toolbar-button){margin-right:12px}.dhx_toolbar__item:last-child button.dhx_button--view_link,.dhx_toolbar__item:not(:last-child) .dhx_form-group,.dhx_toolbar__item:not(:last-child) .dhx_navbar-title,.dhx_toolbar__item:not(:last-child) button:not(.dhx_toolbar-button){margin-right:4px}.dhx_toolbar .dhx_button__icon--menu{transform:rotate(90deg)}.dhx_toolbar__input{height:32px}@supports (display:block){.dhx_toolbar__input{height:unset}}.dhx_toolbar__input .dhx_input{height:32px}@supports (display:block){.dhx_toolbar__input .dhx_input{height:unset}}.dhx_toolbar-button{position:relative;display:flex;justify-content:center;align-items:center;padding:6px 12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;font-weight:500;color:rgba(0,0,0,.7);background-color:transparent;border-radius:2px;transition:background-color .2s ease-in}.dhx_toolbar-button--select{padding-right:8px}.dhx_toolbar-button--icon{padding-right:12px}.dhx_toolbar-button--circle{border-radius:32px}.dhx_toolbar-button--circle.dhx_toolbar-button--icon{padding-left:6px;padding-right:6px}.dhx_toolbar-button:hover{background-color:rgba(0,0,0,.07);transition:background-color .2s ease-out}.dhx_toolbar-button--active,.dhx_toolbar-button:active{background-color:rgba(0,0,0,.15);transition:background-color .2s ease-out}.dhx_toolbar-button--disabled,.dhx_toolbar-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_toolbar-button--disabled:hover,.dhx_toolbar-button:disabled:hover{background-color:transparent}.dhx_toolbar-button--disabled *,.dhx_toolbar-button:disabled *{color:rgba(0,0,0,.3)}.dhx_toolbar-button__icon{color:rgba(0,0,0,.7)}.dhx_widget .dhx_toolbar-button__icon{line-height:0}.dhx_widget .dhx_toolbar-button__icon:before{font-size:20px;line-height:20px}.dhx_toolbar-button__icon+.dhx_toolbar-button__text{margin-left:8px}.dhx_toolbar-button__count{position:absolute;top:-10px;right:-10px}.dhx_toolbar-button__caret{margin-left:8px;color:rgba(0,0,0,.5);transform:rotate(90deg)}.dhx_toolbar-button-image{display:flex;justify-content:center;align-items:center;position:relative;width:44px;height:44px;padding:0;margin-top:-8px;margin-bottom:-8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);border-radius:50%;transition:opacity .2s ease-in}.dhx_toolbar-button-image:hover{opacity:.8;transition:opacity .2s ease-out}.dhx_toolbar-button-image__image{position:absolute;border-radius:50%;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:50%;background-repeat:no-repeat;z-index:1}.dhx_toolbar-button-image__text{text-align:center;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dhx_toolbar-button-image__count{position:absolute;top:-4px;right:-4px}.dhx_tabbar{display:flex;max-height:100%;height:100%;max-width:100%;background-color:#fff}.dhx_tabbar--top{flex-direction:column}.dhx_tabbar--top .dhx_tabbar-header__wrapper:after{left:0;height:1px;width:100%;bottom:0}.dhx_tabbar--top .dhx_layout-cell{height:100%;overflow:auto;flex:1 1 auto}.dhx_tabbar--top .dhx_tabbar-header{flex-direction:row}.dhx_tabbar--top .dhx_tabbar-header-active{bottom:0}.dhx_tabbar--top .dhx_tabbar-tab{flex:0 0 auto}.dhx_tabbar--top .dhx_tabbar-tab-button{text-align:center}.dhx_tabbar--bottom{flex-direction:column-reverse}.dhx_tabbar--bottom .dhx_tabbar-header__wrapper:after{left:0;height:1px;width:100%;top:0}.dhx_tabbar--bottom .dhx_layout-cell{height:100%;overflow:auto;flex:1 1 auto}.dhx_tabbar--bottom .dhx_tabbar-header{flex-direction:row}.dhx_tabbar--bottom .dhx_tabbar-header-active{top:0}.dhx_tabbar--bottom .dhx_tabbar-tab{flex:0 0 auto}.dhx_tabbar--bottom .dhx_tabbar-tab-button{text-align:center}.dhx_tabbar--left{flex-direction:row}.dhx_tabbar--left .dhx_tabbar-header__wrapper:after{right:0;height:100%;width:1px;bottom:0}.dhx_tabbar--left .dhx_layout-cell{height:100%;overflow:auto;flex:1 1 auto}.dhx_tabbar--left .dhx_tabbar-header{flex-direction:column}.dhx_tabbar--left .dhx_tabbar-header-active{right:0}.dhx_tabbar--left .dhx_tabbar-tab{flex:1 1 auto}.dhx_tabbar--left .dhx_tabbar-tab-button{text-align:right}.dhx_tabbar--right{flex-direction:row-reverse}.dhx_tabbar--right .dhx_tabbar-header__wrapper:after{left:0;height:100%;width:1px;bottom:0}.dhx_tabbar--right .dhx_layout-cell{height:100%;overflow:auto;flex:1 1 auto}.dhx_tabbar--right .dhx_tabbar-header{flex-direction:column}.dhx_tabbar--right .dhx_tabbar-header-active{left:0}.dhx_tabbar--right .dhx_tabbar-tab{flex:1 1 auto}.dhx_tabbar--right .dhx_tabbar-tab-button{text-align:left}.dhx_tabbar .dhx_layout-cell--content{flex:1 0 auto;overflow:auto}.dhx_tabbar-content--disabled{cursor:not-allowed;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.7}.dhx_tabbar-header{display:flex;margin:0;padding:0;list-style:none}.dhx_tabbar-header__wrapper{position:relative;overflow:auto;flex:0 0 auto}.dhx_tabbar-header__wrapper:after{content:"";display:block;position:absolute;background:#e4e4e4}.dhx_tabbar-header-active{position:absolute;transition:transform .1s ease-in-out;background-color:#0288d1;z-index:1}.dhx_tabbar-tab{position:relative}.dhx_tabbar-tab__close{position:absolute;top:50%;right:8px;transform:translateY(-50%);z-index:1;opacity:.7;color:#0288d1;cursor:pointer}.dhx_tabbar-tab__close:hover{opacity:1}.dhx_tabbar-tab__close:focus{outline:none}.dhx_tabbar-tab-button{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;position:relative;padding:12px 24px;border-radius:0;color:#0288d1;text-transform:uppercase;background-color:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color .2s ease-in}.dhx_tabbar-tab-button .dhx_button__text{opacity:.7}.dhx_tabbar-tab-button:active,.dhx_tabbar-tab-button:hover,.dhx_tabbar-tab-button:hover:active{background-color:#ededed;transition:background-color .2s ease-out}.dhx_tabbar-tab-button--active .dhx_button__text{opacity:1}.dhx_tabbar-tab-button--disabled{cursor:not-allowed}.dhx_tabbar-tab-button--disabled *{cursor:not-allowed;pointer-events:none}.dhx_tabbar-tab-button--disabled .dhx_button__text{color:rgba(0,0,0,.3)}.dhx_tree{list-style:none;margin:0;padding:0;position:relative;z-index:1}.dhx_tree--no-selection{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_tree--no-selection .dhx_tree-folder:hover:before,.dhx_tree--no-selection .dhx_tree-list-item:hover:before{transition:background-color .2s ease-out;background-color:transparent}.dhx_tree-list{list-style:none;margin:0;padding:0 0 0 20px}.dhx_tree-folder{display:flex;align-items:center;padding-top:2px;padding-bottom:2px}.dhx_tree-folder .dhx_tree-list-item__content{padding-left:20px}.dhx_tree-folder .dhx_tree-toggle-button+.dhx_tree-list-item__content{padding-left:0}.dhx_tree-list-item{display:flex;align-items:center;cursor:pointer;padding-top:2px;padding-bottom:2px;transition:background-color .2s ease-out}.dhx_tree-list-item__content{display:flex;align-items:center;padding-left:20px;position:relative}.dhx_tree-list-item__content:before{content:"";display:block;position:absolute;top:-1.5px;bottom:-1.5px;right:inherit;left:inherit;transition:background-color .2s ease-in;z-index:-1}.dhx_tree-list-item__text{padding-left:4px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:normal;color:rgba(0,0,0,.7)}.dhx_tree-list-item__icon{color:rgba(0,0,0,.3);line-height:1;font-size:0}.dhx_tree-list-item__icon:before{font-size:20px;line-height:1}.dhx_tree-list-item--parent{display:block;padding-top:0;padding-bottom:0}.dhx_tree-list-item .dhx_widget .dhx_tree-list-item__icon{line-height:0}.dhx_tree-list-item .dhx_widget .dhx_tree-list-item__icon:before{font-size:20px;line-height:20px}.dhx_tree-folder,.dhx_tree-list-item{position:relative}.dhx_tree-folder:before,.dhx_tree-list-item:before{content:"";display:block;position:absolute;top:0;bottom:0;right:inherit;left:inherit;transition:background-color .2s ease-in;z-index:-1}.dhx_tree-folder--focused:before,.dhx_tree-folder:hover:before,.dhx_tree-list-item--focused:before,.dhx_tree-list-item:hover:before{transition:background-color .2s ease-out;background-color:#ededed}.dhx_tree-folder--selected:before,.dhx_tree-list-item--selected:before{transition:background-color .2s ease-out;box-shadow:inset 2px 0 0 0 #0288d1;background-color:#f7f7f7}.dhx_tree-toggle-button{cursor:pointer;color:rgba(0,0,0,.5)}.dhx_tree-toggle-button+.dhx_tree-list-item__content{margin-left:0}.dhx_tree-checkbox{padding-right:4px;color:#0288d1}.dhx_tree-checkbox.dxi-checkbox-blank-outline{color:rgba(0,0,0,.5)}.dhx_tree-input{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);padding-left:4px;padding-top:0;padding-bottom:0;margin:0;background-color:#f7f7f7;border:none}.dhx_tree-input:focus{outline:none}.dhx_tree-folder.dhx_tree-drop--top .dhx_tree-list-item__content:before{left:-20px;right:0;box-shadow:0 -1px 0 0 #81c4e8}.dhx_tree-folder.dhx_tree-drop--top:hover:before{background-color:transparent}.dhx_tree-folder.dhx_tree-drop--bottom .dhx_tree-list-item__content:before{left:-20px;right:0;box-shadow:0 1px 0 0 #81c4e8}.dhx_tree-folder.dhx_tree-drop--bottom:hover:before{background-color:transparent}.dhx_tree-folder.dhx_tree-drop--in-folder .dhx_tree-list-item__content:before{left:-20px;right:0;box-shadow:0 1px 0 0 #81c4e8,0 -1px 0 0 #81c4e8}.dhx_tree-folder.dhx_tree-drop--in-folder:hover:before{background-color:transparent}.dhx_tree-list-item.dhx_tree-drop--top .dhx_tree-list-item__content:before{left:20px;right:0;box-shadow:0 -1px 0 0 #81c4e8}.dhx_tree-list-item.dhx_tree-drop--top:hover:before{background-color:transparent}.dhx_tree-list-item.dhx_tree-drop--bottom .dhx_tree-list-item__content:before{left:20px;right:0;box-shadow:0 1px 0 0 #81c4e8}.dhx_tree-list-item.dhx_tree-drop--bottom:hover:before{background-color:transparent}.dhx_tree-list-item.dhx_tree-drop--in-folder .dhx_tree-list-item__content:before{left:20px;right:0;box-shadow:0 1px 0 0 #81c4e8,0 -1px 0 0 #81c4e8}.dhx_tree-list-item.dhx_tree-drop--in-folder:hover:before{background-color:transparent}.dhx_window{border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3);will-change:transform;overflow:visible}.dhx_window--stop_selection{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_window__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2147483645}.dhx_window-header{margin-bottom:20px}.dhx_window-header--movable{cursor:all-scroll}.dhx_window-header:before{content:"";display:block;position:absolute;top:0;left:0;right:0;width:100%;height:16px;transform:translateY(-100%)}.dhx_window-header .dhx_navbar-title{margin-left:0!important;font-size:18px}.dhx_window-content{padding-left:28px;padding-right:28px;padding-bottom:28px}.dhx_window-content,.dhx_window-content-without-header{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;color:rgba(0,0,0,.5);line-height:1.3;overflow-y:auto;overflow-wrap:break-word;word-wrap:break-word}.dhx_window-content-without-header{padding:28px}.dhx_window-footer{margin-top:20px}.dhx_window__inner-html-content :first-child{margin-top:0}body.dhx_window--no-scroll{width:100vw;height:100vh}.dhx_window--no-scroll{overflow:hidden}.dhx_window .dhx_cell_content,.dhx_window .dhx_toolbar{width:100%}.dhx_window .dhx_toolbar__list{min-height:auto}.dhx_window .dhx_window-header .dhx_toolbar{padding:28px 28px 0}.dhx_window .dhx_window-footer .dhx_toolbar{padding:0 28px 28px}.dhx_window .dhx_cell_content{height:100%;display:flex;flex-direction:column}.dhx_window-resizer{position:absolute;background:transparent}.dhx_window-resizer--left{left:-6px;top:0;height:100%;width:12px}.dhx_window-resizer--left:hover{cursor:ew-resize}.dhx_window-resizer--right{right:-6px;top:0;height:100%;width:12px}.dhx_window-resizer--right:hover{cursor:ew-resize}.dhx_window-resizer--top{left:0;top:-6px;height:12px;width:100%}.dhx_window-resizer--top:hover{cursor:ns-resize}.dhx_window-resizer--bottom{left:0;bottom:-6px;height:12px;width:100%}.dhx_window-resizer--bottom:hover{cursor:ns-resize}.dhx_window-resizer--top_right{right:-6px;top:-6px;width:12px;height:12px}.dhx_window-resizer--top_right:hover{cursor:nesw-resize}.dhx_window-resizer--top_left{left:-6px;top:-6px;width:12px;height:12px}.dhx_window-resizer--top_left:hover{cursor:nwse-resize}.dhx_window-resizer--bottom_right{right:-6px;bottom:-6px;width:12px;height:12px}.dhx_window-resizer--bottom_right:hover{cursor:nwse-resize}.dhx_window-resizer--bottom_left{left:-6px;bottom:-6px;width:12px;height:12px}.dhx_window-resizer--bottom_left:hover{cursor:nesw-resize}.dhx_window-body-pointer--left,.dhx_window-body-pointer--right{cursor:ew-resize}.dhx_window-body-pointer--bottom,.dhx_window-body-pointer--top{cursor:ns-resize}.dhx_window-body-pointer--top_right{cursor:nesw-resize}.dhx_window-body-pointer--bottom_right,.dhx_window-body-pointer--top_left{cursor:nwse-resize}.dhx_window-body-pointer--bottom_left{cursor:nesw-resize} diff --git a/codebase/suite.js b/codebase/suite.js index 4691d04..fd86e10 100644 --- a/codebase/suite.js +++ b/codebase/suite.js @@ -1,12 +1,12 @@ /* @license -dhtmlxSuite v.6.1.4 GPL +dhtmlxSuite v.6.4.2 GPL This software is covered by GPL license. To use it in non-GPL project, you need obtain Commercial or Enterprise license Please contact sales@dhtmlx.com. Usage without proper license is prohibited. -(c) Dinamenta, UAB. +(c) XB Software. */ if (window.dhx){ window.dhx_legacy = dhx; delete window.dhx; }(function webpackUniversalModuleDefinition(root, factory) { @@ -102,7 +102,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 81); +/******/ return __webpack_require__(__webpack_require__.s = 83); /******/ }) /************************************************************************/ /******/ ([ @@ -110,14 +110,15 @@ return /******/ (function(modules) { // webpackBootstrap /***/ (function(module, exports, __webpack_require__) { "use strict"; - +/* WEBPACK VAR INJECTION */(function(Promise) { Object.defineProperty(exports, "__esModule", { value: true }); -var dom = __webpack_require__(97); +var dom = __webpack_require__(90); exports.el = dom.defineElement; exports.sv = dom.defineSvgElement; exports.view = dom.defineView; exports.create = dom.createView; exports.inject = dom.injectView; +exports.KEYED_LIST = dom.KEYED_LIST; function disableHelp() { dom.DEVMODE.mutations = false; dom.DEVMODE.warnings = false; @@ -151,7 +152,20 @@ function resizer(handler) { }); } exports.resizer = resizer; +function resizeHandler(container, handler) { + return exports.create({ render: function () { return resizer(handler); } }).mount(container); +} +exports.resizeHandler = resizeHandler; +function awaitRedraw() { + return new Promise(function (res) { + requestAnimationFrame(function () { + res(); + }); + }); +} +exports.awaitRedraw = awaitRedraw; +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12))) /***/ }), /* 1 */ @@ -160,7 +174,7 @@ exports.resizer = resizer; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var html_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var counter = (new Date()).valueOf(); function uid() { return "u" + (counter++); @@ -172,7 +186,10 @@ function extend(target, source, deep) { for (var key in source) { var sobj = source[key]; var tobj = target[key]; - if (deep && typeof tobj === "object" && !(tobj instanceof Date) && !(tobj instanceof Array)) { + if (sobj === undefined) { + delete target[key]; + } + else if (deep && typeof tobj === "object" && !(tobj instanceof Date) && !(tobj instanceof Array)) { extend(tobj, sobj); } else { @@ -270,68 +287,86 @@ function isNumeric(val) { return !isNaN(val - parseFloat(val)); } exports.isNumeric = isNumeric; - - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var EventSystem = /** @class */ (function () { - function EventSystem(context) { - this.events = {}; - this.context = context || this; +function downloadFile(data, filename, mimeType) { + if (mimeType === void 0) { mimeType = "text/plain"; } + var file = new Blob([data], { type: mimeType }); + if (window.navigator.msSaveOrOpenBlob) { + // IE10+ + window.navigator.msSaveOrOpenBlob(file, filename); } - EventSystem.prototype.on = function (name, callback, context) { - var event = name.toLowerCase(); - this.events[event] = this.events[event] || []; - this.events[event].push({ callback: callback, context: context || this.context }); - }; - EventSystem.prototype.detach = function (name, context) { - var event = name.toLowerCase(); - var eStack = this.events[event]; - if (context && eStack && eStack.length) { - for (var i = eStack.length - 1; i >= 0; i--) { - if (eStack[i].context === context) { - eStack.splice(i, 1); - } + else { + var a_1 = document.createElement("a"); + var url_1 = URL.createObjectURL(file); + a_1.href = url_1; + a_1.download = filename; + document.body.appendChild(a_1); + a_1.click(); + setTimeout(function () { + document.body.removeChild(a_1); + window.URL.revokeObjectURL(url_1); + }, 0); + } +} +exports.downloadFile = downloadFile; +function debounce(func, wait, immediate) { + var timeout; + return function executedFunction() { + var _this = this; + var args = arguments; + var later = function () { + timeout = null; + if (!immediate) { + func.apply(_this, args); } - } - else { - this.events[event] = []; + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) { + func.apply(this, args); } }; - EventSystem.prototype.fire = function (name, args) { - if (typeof args === "undefined") { - args = []; +} +exports.debounce = debounce; +function compare(obj1, obj2) { + for (var p in obj1) { + if (obj1.hasOwnProperty(p) !== obj2.hasOwnProperty(p)) { + return false; } - var event = name.toLowerCase(); - if (this.events[event]) { - var res = this.events[event].map(function (e) { return e.callback.apply(e.context, args); }); - return res.indexOf(false) < 0; + switch (typeof (obj1[p])) { + case "object": + if (!compare(obj1[p], obj2[p])) { + return false; + } + break; + case "function": + if (typeof (obj2[p]) === "undefined" || (p !== "compare" && obj1[p].toString() !== obj2[p].toString())) { + return false; + } + break; + default: + if (obj1[p] !== obj2[p]) { + return false; + } } - return true; - }; - EventSystem.prototype.clear = function () { - this.events = {}; - }; - return EventSystem; -}()); -exports.EventSystem = EventSystem; -function EventsMixin(obj) { - obj = obj || {}; - var eventSystem = new EventSystem(obj); - obj.detachEvent = eventSystem.detach.bind(eventSystem); - obj.attachEvent = eventSystem.on.bind(eventSystem); - obj.callEvent = eventSystem.fire.bind(eventSystem); + } + for (var p in obj2) { + if (typeof (obj1[p]) === "undefined") { + return false; + } + } + return true; } -exports.EventsMixin = EventsMixin; +exports.compare = compare; +exports.isType = function (value) { + var regex = /^\[object (\S+?)\]$/; + var matches = Object.prototype.toString.call(value).match(regex) || []; + return (matches[1] || "undefined").toLowerCase(); +}; /***/ }), -/* 3 */ +/* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -348,7 +383,7 @@ var __assign = (this && this.__assign) || function () { return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); -__webpack_require__(84); +__webpack_require__(86); function toNode(node) { if (typeof node === "string") { node = (document.getElementById(node) || document.querySelector(node)); @@ -383,10 +418,11 @@ function locate(target, attr) { return node ? node.getAttribute(attr) : ""; } exports.locate = locate; -function locateNode(target, attr) { +function locateNode(target, attr, dir) { if (attr === void 0) { attr = "dhx_id"; } + if (dir === void 0) { dir = "target"; } if (target instanceof Event) { - target = target.target; + target = target[dir]; } while (target) { if (target.getAttribute && target.getAttribute(attr)) { @@ -396,6 +432,23 @@ function locateNode(target, attr) { } } exports.locateNode = locateNode; +function locateNodeByClassName(target, className) { + if (target instanceof Event) { + target = target.target; + } + while (target) { + if (className) { + if (target.classList && target.classList.contains(className)) { + return target; + } + } + else if (target.getAttribute && target.getAttribute("dhx_id")) { + return target; + } + target = target.parentNode; + } +} +exports.locateNodeByClassName = locateNodeByClassName; function getBox(elem) { var box = elem.getBoundingClientRect(); var body = document.body; @@ -517,7 +570,7 @@ function placeBottomOrTop(pos, config) { } if (bottomDiff < 0 && topDiff < 0) { if (config.auto) { - return placeRightOrLeft(pos, __assign({}, config, { mode: Position.right, auto: false })); + return placeRightOrLeft(pos, __assign(__assign({}, config), { mode: Position.right, auto: false })); } top = bottomDiff > topDiff ? pos.bottom : topDiff; } @@ -563,7 +616,7 @@ function placeRightOrLeft(pos, config) { } if (leftDiff < 0 && rightDiff < 0) { if (config.auto) { - return placeBottomOrTop(pos, __assign({}, config, { mode: Position.bottom, auto: false })); + return placeBottomOrTop(pos, __assign(__assign({}, config), { mode: Position.bottom, auto: false })); } left = leftDiff > rightDiff ? leftDiff : pos.right; } @@ -587,6 +640,64 @@ function placeRightOrLeft(pos, config) { } +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var EventSystem = /** @class */ (function () { + function EventSystem(context) { + this.events = {}; + this.context = context || this; + } + EventSystem.prototype.on = function (name, callback, context) { + var event = name.toLowerCase(); + this.events[event] = this.events[event] || []; + this.events[event].push({ callback: callback, context: context || this.context }); + }; + EventSystem.prototype.detach = function (name, context) { + var event = name.toLowerCase(); + var eStack = this.events[event]; + if (context && eStack && eStack.length) { + for (var i = eStack.length - 1; i >= 0; i--) { + if (eStack[i].context === context) { + eStack.splice(i, 1); + } + } + } + else { + this.events[event] = []; + } + }; + EventSystem.prototype.fire = function (name, args) { + if (typeof args === "undefined") { + args = []; + } + var event = name.toLowerCase(); + if (this.events[event]) { + var res = this.events[event].map(function (e) { return e.callback.apply(e.context, args); }); + return res.indexOf(false) < 0; + } + return true; + }; + EventSystem.prototype.clear = function () { + this.events = {}; + }; + return EventSystem; +}()); +exports.EventSystem = EventSystem; +function EventsMixin(obj) { + obj = obj || {}; + var eventSystem = new EventSystem(obj); + obj.detachEvent = eventSystem.detach.bind(eventSystem); + obj.attachEvent = eventSystem.on.bind(eventSystem); + obj.callEvent = eventSystem.fire.bind(eventSystem); +} +exports.EventsMixin = EventsMixin; + + /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { @@ -595,7 +706,7 @@ function placeRightOrLeft(pos, config) { Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); -var html_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var View = /** @class */ (function () { function View(_container, config) { this._uid = core_1.uid(); @@ -669,6 +780,7 @@ var __assign = (this && this.__assign) || function () { }; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); +var types_1 = __webpack_require__(6); var defaultColors = [ "#394E79", "#5E83BA", @@ -768,7 +880,11 @@ exports.getFontStyle = memo(function (className) { }); function linearGradient(grad, id) { var stops = grad.stops; - var colors = stops.map(function (item) { return dom_1.sv("stop", { "offset": item.offset * 100 + "%", "stop-color": item.color, "stop-opacity": item.opacity || 1 }); }); + var colors = stops.map(function (item) { return dom_1.sv("stop", { + "offset": item.offset * 100 + "%", + "stop-color": item.color, + "stop-opacity": item.opacity || 1 + }); }); var gradient = dom_1.sv("linearGradient", { id: id, gradientTransform: "rotate(90)" @@ -777,7 +893,11 @@ function linearGradient(grad, id) { } exports.linearGradient = linearGradient; function getRadialGradient(opts, stops, id) { - var colors = stops.map(function (item) { return dom_1.sv("stop", { "offset": item.offset, "stop-color": item.color, "stop-opacity": item.opacity || 1 }); }); + var colors = stops.map(function (item) { return dom_1.sv("stop", { + "offset": item.offset, + "stop-color": item.color, + "stop-opacity": item.opacity || 1 + }); }); var gradient = dom_1.sv("radialGradient", __assign({ id: id, cx: 0, cy: 0, gradientUnits: "userSpaceOnUse" }, opts), colors); return gradient; } @@ -808,6 +928,98 @@ function calcPointRef(pointId, serieId) { return pointId + "_" + serieId; } exports.calcPointRef = calcPointRef; +function getClassesForRotateScale(position, angle) { + var className = ""; + var classList = []; + if (position === types_1.ScaleType.left || position === types_1.ScaleType.top) { + classList.push("start-text", "end-text"); + } + else if (position === types_1.ScaleType.right || position === types_1.ScaleType.bottom) { + classList.push("end-text", "start-text"); + } + switch (position) { + case types_1.ScaleType.left: + case types_1.ScaleType.right: + if (angle === 0) { + className = classList[1]; + } + else if (angle > 0) { + if (angle === 180) { + className = classList[0]; + } + else if (angle > 180) { + if (angle < 270) { + className = classList[0]; + } + else if (angle > 270) { + className = classList[1]; + } + } + else if (angle < 180) { + if (angle > 90) { + className = classList[0]; + } + else if (angle < 90) { + className = classList[1]; + } + } + } + else if (angle < 0) { + if (angle === -180) { + className = classList[0]; + } + else if (angle < -180) { + if (angle > -270) { + className = classList[0]; + } + else if (angle < -270) { + className = classList[1]; + } + } + else if (angle > -180) { + if (angle < -90) { + className = classList[0]; + } + else if (angle > -90) { + className = classList[1]; + } + } + } + break; + case types_1.ScaleType.top: + case types_1.ScaleType.bottom: + if (angle > 0) { + if (angle > 180) { + className = classList[0]; + } + else if (angle < 180) { + className = classList[1]; + } + } + else if (angle < 0) { + if (angle > -180) { + className = classList[0]; + } + else if (angle < -180) { + className = classList[1]; + } + } + break; + } + return className; +} +exports.getClassesForRotateScale = getClassesForRotateScale; +function getScales(config) { + var scales = []; + for (var scaleName in config) { + var scale = config[scaleName]; + if (scale.min || scale.max || scale.maxTicks || scale.text || scale.value) { + scales.push(scaleName); + } + } + return scales; +} +exports.getScales = getScales; /***/ }), @@ -837,6 +1049,7 @@ var ChartEvents; ChartEvents["chartMouseMove"] = "chartMouseMove"; ChartEvents["chartMouseLeave"] = "chartMouseLeave"; ChartEvents["resize"] = "resize"; + ChartEvents["serieClick"] = "serieClick"; })(ChartEvents = exports.ChartEvents || (exports.ChartEvents = {})); var ScaleType; (function (ScaleType) { @@ -899,16 +1112,18 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(17)); -__export(__webpack_require__(55)); -__export(__webpack_require__(92)); -__export(__webpack_require__(93)); -__export(__webpack_require__(25)); -__export(__webpack_require__(18)); -__export(__webpack_require__(58)); +__export(__webpack_require__(15)); __export(__webpack_require__(57)); __export(__webpack_require__(95)); -__export(__webpack_require__(56)); +__export(__webpack_require__(96)); +__export(__webpack_require__(21)); +__export(__webpack_require__(98)); +__export(__webpack_require__(16)); +__export(__webpack_require__(60)); +__export(__webpack_require__(59)); +__export(__webpack_require__(99)); +__export(__webpack_require__(58)); +__export(__webpack_require__(34)); /***/ }), @@ -944,6 +1159,11 @@ var FormEvents; FormEvents["beforeSend"] = "beforesend"; FormEvents["afterSend"] = "aftersend"; })(FormEvents = exports.FormEvents || (exports.FormEvents = {})); +var BaseElementEvent; +(function (BaseElementEvent) { + BaseElementEvent["change"] = "change"; + BaseElementEvent["configUpdate"] = "configUpdate"; +})(BaseElementEvent = exports.BaseElementEvent || (exports.BaseElementEvent = {})); var Validation; (function (Validation) { Validation["empty"] = ""; @@ -972,18 +1192,18 @@ var ClearMethod; "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); var _a; +Object.defineProperty(exports, "__esModule", { value: true }); var types_1 = __webpack_require__(8); function getFormItemCss(item, validate) { var _a; - var labelInline = item.labelInline, required = item.required, disabled = item.disabled, hiddenLabel = item.hiddenLabel, css = item.css, $validationStatus = item.$validationStatus; + var labelPosition = item.labelPosition, required = item.required, disabled = item.disabled, hiddenLabel = item.hiddenLabel, css = item.css, $validationStatus = item.$validationStatus; var cssStatus = (_a = {}, _a[types_1.ValidationStatus.pre] = "", _a[types_1.ValidationStatus.error] = " dhx_form-group--state_error", _a[types_1.ValidationStatus.success] = " dhx_form-group--state_success", _a)[$validationStatus] || ""; - var labelPositionCss = labelInline ? " dhx_form-group--inline" : ""; + var labelPositionCss = labelPosition === "right" || labelPosition === "left" ? " dhx_form-group--inline" : ""; var requiredCss = required ? " dhx_form-group--required" : ""; var disabledCss = disabled ? " dhx_form-group--disabled" : ""; var labelSrCss = hiddenLabel ? " dhx_form-group--label_sr" : ""; @@ -1049,6 +1269,12 @@ function isTimeFormat(value, timeFormat) { return /(^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]$)/i.test(value); } exports.isTimeFormat = isTimeFormat; +exports.isEmptyObj = function (obj) { + for (var key in obj) { + return false; + } + return true; +}; /***/ }), @@ -1057,33 +1283,24 @@ exports.isTimeFormat = isTimeFormat; "use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(126)); -__export(__webpack_require__(62)); - - -/***/ }), -/* 11 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); var EditorType; (function (EditorType) { EditorType["input"] = "input"; EditorType["select"] = "select"; EditorType["datepicker"] = "datePicker"; + EditorType["checkbox"] = "checkbox"; + EditorType["combobox"] = "combobox"; })(EditorType = exports.EditorType || (exports.EditorType = {})); var GridEvents; (function (GridEvents) { GridEvents["scroll"] = "scroll"; GridEvents["sort"] = "sort"; GridEvents["expand"] = "expand"; - GridEvents["headerInput"] = "headerInput"; + GridEvents["filterChange"] = "filterChange"; + GridEvents["beforeResizeStart"] = "beforeResizeStart"; + GridEvents["resize"] = "resize"; + GridEvents["afterResizeEnd"] = "afterResizeEnd"; GridEvents["cellClick"] = "cellClick"; GridEvents["cellRightClick"] = "cellRightClick"; GridEvents["cellMouseOver"] = "cellMouseOver"; @@ -1103,11 +1320,15 @@ var GridEvents; GridEvents["afterEditStart"] = "afterEditStart"; GridEvents["beforeEditEnd"] = "beforeEditEnd"; GridEvents["afterEditEnd"] = "afterEditEnd"; + GridEvents["beforeKeyDown"] = "beforeKeyDown"; + GridEvents["afterKeyDown"] = "afterKeyDown"; + // TODO: remove suite_7.0 + GridEvents["headerInput"] = "headerInput"; })(GridEvents = exports.GridEvents || (exports.GridEvents = {})); /***/ }), -/* 12 */ +/* 11 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1116,133 +1337,26 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(99)); +__export(__webpack_require__(131)); +__export(__webpack_require__(64)); /***/ }), -/* 13 */ +/* 12 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; +/* WEBPACK VAR INJECTION */(function(global, setImmediate) {(function () { + global = this -Object.defineProperty(exports, "__esModule", { value: true }); -function getHotKeyCode(code) { - var matches = code.toLowerCase().match(/\w+/g); - var comp = 0; - var key = ""; - for (var i = 0; i < matches.length; i++) { - var check = matches[i]; - if (check === "ctrl") { - comp += 4; - } - else if (check === "shift") { - comp += 2; - } - else if (check === "alt") { - comp += 1; - } - else { - key = check; - } - } - return comp + key; -} -var KeyManager = /** @class */ (function () { - function KeyManager() { - var _this = this; - this._keysStorage = {}; - document.addEventListener("keydown", function (e) { - var comp = (e.ctrlKey || e.metaKey ? 4 : 0) + (e.shiftKey ? 2 : 0) + (e.altKey ? 1 : 0); - var key; - if ((e.which >= 48 && e.which <= 57) || (e.which >= 65 && e.which <= 90)) { // A-Z 0-9 - key = String.fromCharCode(e.which); - } - else { - key = e.key; - } - var code = comp + (key && key.toLowerCase()); - var actions = _this._keysStorage[code]; - if (actions) { - for (var i = 0; i < actions.length; i++) { - actions[i].handler(e); - } - } - }); - } - KeyManager.prototype.addHotKey = function (key, handler, scope) { - var code = getHotKeyCode(key); - if (!this._keysStorage[code]) { - this._keysStorage[code] = []; - } - this._keysStorage[code].push({ - handler: handler, - scope: scope - }); - }; - KeyManager.prototype.removeHotKey = function (key, scope) { - var keyStorage = this._keysStorage; - if (key) { - var code = getHotKeyCode(key); - delete keyStorage[code]; - } - if (scope) { - for (var code in keyStorage) { - var toDelete = []; // items index to delete - for (var i = 0; i < keyStorage[code].length; i++) { - if (keyStorage[code][i].scope === scope) { - toDelete.push(i); - } - } - if (keyStorage[code].length === toDelete.length) { - delete keyStorage[code]; - } - else { - for (var i = toDelete.length - 1; i >= 0; i--) { // begin from last coz splice change other index - keyStorage[code].splice(toDelete[i], 1); - } - } - } - } - }; - KeyManager.prototype.exist = function (key) { - var code = getHotKeyCode(key); - return !!this._keysStorage[code]; - }; - return KeyManager; -}()); -exports.keyManager = new KeyManager(); -function addHotkeys(handlers, beforeCall) { - var context = new Date(); - var wrapHandler = function (handler) { return function (e) { - if (beforeCall && beforeCall() === false) { - return; - } - handler(e); - }; }; - for (var key in handlers) { - exports.keyManager.addHotKey(key, wrapHandler(handlers[key]), context); - } - return function () { return exports.keyManager.removeHotKey(undefined, context); }; -} -exports.addHotkeys = addHotkeys; - - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(global, setImmediate) {(function () { - global = this - - var queueId = 1 - var queue = {} - var isRunningTask = false - - if (!global.setImmediate) - global.addEventListener('message', function (e) { - if (e.source == global){ - if (isRunningTask) - nextTick(queue[e.data]) + var queueId = 1 + var queue = {} + var isRunningTask = false + + if (!global.setImmediate) + global.addEventListener('message', function (e) { + if (e.source == global){ + if (isRunningTask) + nextTick(queue[e.data]) else { isRunningTask = true try { @@ -1548,10 +1662,125 @@ exports.addHotkeys = addHotkeys; } else {} })() -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(32), __webpack_require__(85).setImmediate)) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(33), __webpack_require__(87).setImmediate)) /***/ }), -/* 15 */ +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var html_1 = __webpack_require__(2); +function getHotKeyCode(code) { + var matches = code.toLowerCase().match(/\w+/g); + var comp = 0; + var key = ""; + for (var i = 0; i < matches.length; i++) { + var check = matches[i]; + if (check === "ctrl") { + comp += 4; + } + else if (check === "shift") { + comp += 2; + } + else if (check === "alt") { + comp += 1; + } + else { + key = check; + } + } + return comp + key; +} +var KeyManager = /** @class */ (function () { + function KeyManager() { + var _this = this; + this._keysStorage = {}; + document.addEventListener("keydown", function (e) { + var comp = (e.ctrlKey || e.metaKey ? 4 : 0) + (e.shiftKey ? 2 : 0) + (e.altKey ? 1 : 0); + var key; + if ((e.which >= 48 && e.which <= 57) || (e.which >= 65 && e.which <= 90)) { // A-Z 0-9 + key = String.fromCharCode(e.which); + } + else { + // dirty: added space binding + if (e.which === 32 && !html_1.isIE()) { + key = e.code; + } + else { + key = e.key; + } + } + var code = comp + (key && key.toLowerCase()); + var actions = _this._keysStorage[code]; + if (actions) { + for (var i = 0; i < actions.length; i++) { + actions[i].handler(e); + } + } + }); + } + KeyManager.prototype.addHotKey = function (key, handler, scope) { + var code = getHotKeyCode(key); + if (!this._keysStorage[code]) { + this._keysStorage[code] = []; + } + this._keysStorage[code].push({ + handler: handler, + scope: scope + }); + }; + KeyManager.prototype.removeHotKey = function (key, scope) { + var keyStorage = this._keysStorage; + if (key) { + var code = getHotKeyCode(key); + delete keyStorage[code]; + } + if (scope) { + for (var code in keyStorage) { + var toDelete = []; // items index to delete + for (var i = 0; i < keyStorage[code].length; i++) { + if (keyStorage[code][i].scope === scope) { + toDelete.push(i); + } + } + if (keyStorage[code].length === toDelete.length) { + delete keyStorage[code]; + } + else { + for (var i = toDelete.length - 1; i >= 0; i--) { // begin from last coz splice change other index + keyStorage[code].splice(toDelete[i], 1); + } + } + } + } + }; + KeyManager.prototype.exist = function (key) { + var code = getHotKeyCode(key); + return !!this._keysStorage[code]; + }; + return KeyManager; +}()); +exports.keyManager = new KeyManager(); +function addHotkeys(handlers, beforeCall) { + var context = new Date(); + var wrapHandler = function (handler) { return function (e) { + if (beforeCall && beforeCall() === false) { + return; + } + handler(e); + }; }; + for (var key in handlers) { + exports.keyManager.addHotKey(key, wrapHandler(handlers[key]), context); + } + return function () { return exports.keyManager.removeHotKey(undefined, context); }; +} +exports.addHotkeys = addHotkeys; + + +/***/ }), +/* 14 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1560,96 +1789,12 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(105)); -__export(__webpack_require__(106)); -__export(__webpack_require__(22)); +__export(__webpack_require__(102)); +__export(__webpack_require__(28)); /***/ }), -/* 16 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __assign = (this && this.__assign) || function () { - __assign = Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var dom_1 = __webpack_require__(0); -var view_1 = __webpack_require__(4); -var ts_popup_1 = __webpack_require__(10); -var html_1 = __webpack_require__(3); -var Label = /** @class */ (function (_super) { - __extends(Label, _super); - function Label(container, config) { - if (config === void 0) { config = {}; } - var _this = _super.call(this, container, config) || this; - if (_this.config.help) { - _this._helper = new ts_popup_1.Popup({ css: "dhx_tooltip dhx_tooltip--forced dhx_tooltip--light" }); - _this._helper.attachHTML(_this.config.help); - } - _this._handlers = __assign({ showHelper: function (e) { - e.preventDefault(); - e.stopPropagation(); - _this._helper.show(e.target, { mode: _this.config.labelInline ? html_1.Position.right : html_1.Position.bottom }); - } }, _this._getHandlers()); - var render = function () { return _this._draw(); }; - _this.mount(container, dom_1.create({ render: render })); - return _this; - } - Label.prototype._getHandlers = function () { - return {}; - }; - Label.prototype._init = function () { - return; - }; - Label.prototype._draw = function () { - return this._drawLabel(); - }; - Label.prototype._drawLabel = function () { - var _a = this.config, id = _a.id, labelInline = _a.labelInline, label = _a.label, labelWidth = _a.labelWidth, help = _a.help; - var width = labelInline && labelWidth ? labelWidth : ""; - return dom_1.el("label.dhx_label", { - for: id || this._uid, - style: { minWidth: width, maxWidth: width }, - class: help ? "dhx_label--with-help" : "" - }, help ? [ - dom_1.el("span.dhx_label__holder", label), - dom_1.el("span.dhx_label-help.dxi.dxi-help-circle-outline", { - tabindex: "0", - role: "button", - onclick: this._handlers.showHelper - }), - ] : label); - }; - return Label; -}(view_1.View)); -exports.Label = Label; - - -/***/ }), -/* 17 */ +/* 15 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1677,6 +1822,8 @@ var DataEvents; DataEvents["change"] = "change"; DataEvents["load"] = "load"; DataEvents["loadError"] = "loaderror"; + DataEvents["beforeLazyLoad"] = "beforelazyload"; + DataEvents["afterLazyLoad"] = "afterlazyload"; })(DataEvents = exports.DataEvents || (exports.DataEvents = {})); var DragEvents; (function (DragEvents) { @@ -1711,14 +1858,14 @@ var DataDriver; /***/ }), -/* 18 */ +/* 16 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var dataproxy_1 = __webpack_require__(25); -var drivers_1 = __webpack_require__(56); +var dataproxy_1 = __webpack_require__(21); +var drivers_1 = __webpack_require__(58); function isEqualObj(a, b) { for (var key in a) { if (a[key] !== b[key]) { @@ -1843,6 +1990,113 @@ function hasJsonOrArrayStructure(str) { exports.hasJsonOrArrayStructure = hasJsonOrArrayStructure; +/***/ }), +/* 17 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} +Object.defineProperty(exports, "__esModule", { value: true }); +__export(__webpack_require__(109)); +__export(__webpack_require__(110)); +__export(__webpack_require__(23)); + + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var dom_1 = __webpack_require__(0); +var view_1 = __webpack_require__(4); +var ts_popup_1 = __webpack_require__(11); +var html_1 = __webpack_require__(2); +var Label = /** @class */ (function (_super) { + __extends(Label, _super); + function Label(container, config) { + if (config === void 0) { config = {}; } + var _this = _super.call(this, container, config) || this; + _this.config.helpMessage = _this.config.helpMessage || _this.config.help; // TODO: remove sute_7.0 + if (_this.config.labelInline) { + _this.config.labelPosition = "left"; // TODO: remove sute_7.0 + } + _this._handlers = __assign({ showHelper: function (e) { + e.preventDefault(); + e.stopPropagation(); + _this._helper.show(e.target, { mode: _this.config.labelPosition === "left" ? html_1.Position.right : html_1.Position.bottom }); + } }, _this._getHandlers()); + var render = function () { return _this._draw(); }; + _this.mount(container, dom_1.create({ render: render })); + return _this; + } + Label.prototype._getHandlers = function () { + return {}; + }; + Label.prototype._init = function () { + return; + }; + Label.prototype._draw = function () { + return this._drawLabel(); + }; + Label.prototype._drawLabel = function () { + if (this.config.helpMessage) { + if (this._helper) { + this._helper.attachHTML(this.config.helpMessage); + } + else { + this._helper = new ts_popup_1.Popup({ css: "dhx_tooltip dhx_tooltip--forced dhx_tooltip--light" }); + this._helper.attachHTML(this.config.helpMessage); + } + } + var _a = this.config, id = _a.id, labelPosition = _a.labelPosition, label = _a.label, labelWidth = _a.labelWidth, helpMessage = _a.helpMessage; + var width = labelPosition === "left" && labelWidth ? labelWidth : ""; + return dom_1.el("label.dhx_label", { + for: id || this._uid, + style: { minWidth: width, maxWidth: width }, + class: helpMessage ? "dhx_label--with-help" : "" + }, helpMessage ? [ + dom_1.el("span.dhx_label__holder", label), + dom_1.el("span.dhx_label-help.dxi.dxi-help-circle-outline", { + tabindex: "0", + role: "button", + onclick: this._handlers.showHelper + }), + ] : label); + }; + return Label; +}(view_1.View)); +exports.Label = Label; + + /***/ }), /* 19 */ /***/ (function(module, exports, __webpack_require__) { @@ -1853,11 +2107,11 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(101)); -__export(__webpack_require__(102)); -__export(__webpack_require__(103)); -__export(__webpack_require__(60)); -__export(__webpack_require__(33)); +__export(__webpack_require__(105)); +__export(__webpack_require__(106)); +__export(__webpack_require__(107)); +__export(__webpack_require__(62)); +__export(__webpack_require__(35)); /***/ }), @@ -1871,10 +2125,10 @@ function rgbToHex(color) { if (color.substr(0, 1) === "#") { return color; } - var digits = /(.*?)rgb[a]?\((\d+), *(\d+), *(\d+),* *([\d]*)\)/.exec(color); - var red = parseInt(digits[2], 10).toString(16); - var green = parseInt(digits[3], 10).toString(16); - var blue = parseInt(digits[4], 10).toString(16); + var digits = /(.*?)rgb[a]?\((\d+), *(\d+), *(\d+),* *([\d+.]*)\)/.exec(color); + var red = parseInt(digits[2], 10).toString(16).padStart(2, "0"); + var green = parseInt(digits[3], 10).toString(16).padStart(2, "0"); + var blue = parseInt(digits[4], 10).toString(16).padStart(2, "0"); return "#" + red + green + blue; } exports.rgbToHex = rgbToHex; @@ -1929,7 +2183,7 @@ function getStyleByClass(cssClass, container, targetClass, def) { } exports.getStyleByClass = getStyleByClass; function removeHTMLTags(str) { - if (typeof str !== "string" && typeof str !== "number") { + if (typeof str !== "string" && typeof str !== "number" && typeof str !== "boolean") { return ""; } return ("" + ((str === undefined || str === null) ? "" : str)).replace(/<[^>]*>/g, "").replace(/[\"]/g, """).trim(); @@ -1961,6 +2215,24 @@ function isRowEmpty(row) { }, true); } exports.isRowEmpty = isRowEmpty; +function isSortable(config, col) { + return col.sortable !== false && config.sortable || col.sortable; +} +exports.isSortable = isSortable; +function isAutoWidth(config, col) { + if (!col) { + var check_1 = false; + config.columns.map(function (column) { + if (column.autoWidth !== false && config.autoWidth || column.autoWidth) { + check_1 = true; + return; + } + }); + return check_1; + } + return col.autoWidth !== false && config.autoWidth || col.autoWidth; +} +exports.isAutoWidth = isAutoWidth; /***/ }), @@ -1969,6 +2241,47 @@ exports.isRowEmpty = isRowEmpty; "use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var ajax_1 = __webpack_require__(34); +var DataProxy = /** @class */ (function () { + function DataProxy(url, config) { + this.url = this._url = url; + this.config = config; + } + DataProxy.prototype.updateUrl = function (url, params) { + if (params === void 0) { params = {}; } + this._url = this.url = url || this._url; + this.url += "?"; + for (var param in params) { + this.config[param] = params[param]; + this.url += param + "=" + encodeURIComponent(params[param]) + "&"; + } + this.url = this.url.slice(0, -1); + }; + DataProxy.prototype.load = function () { + return ajax_1.ajax.get(this.url, null, { responseType: "text" }); + }; + DataProxy.prototype.save = function (data, mode) { + switch (mode) { + case "delete": + return ajax_1.ajax.delete(this.url, data); + case "update": + case "insert": + default: + return ajax_1.ajax.post(this.url, data); + } + }; + return DataProxy; +}()); +exports.DataProxy = DataProxy; + + +/***/ }), +/* 22 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); var SelectionEvents; (function (SelectionEvents) { @@ -1980,7 +2293,7 @@ var SelectionEvents; /***/ }), -/* 22 */ +/* 23 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2001,12 +2314,15 @@ var ItemType; ItemType["menuItem"] = "menuItem"; ItemType["block"] = "block"; ItemType["navItem"] = "navItem"; + ItemType["customHTML"] = "customHTML"; })(ItemType = exports.ItemType || (exports.ItemType = {})); var NavigationBarEvents; (function (NavigationBarEvents) { - NavigationBarEvents["inputCreated"] = "inputcreated"; + NavigationBarEvents["inputCreated"] = "inputCreated"; NavigationBarEvents["click"] = "click"; NavigationBarEvents["openMenu"] = "openmenu"; + NavigationBarEvents["beforeHide"] = "beforeHide"; + NavigationBarEvents["afterHide"] = "afterHide"; NavigationBarEvents["inputFocus"] = "inputfocus"; NavigationBarEvents["inputBlur"] = "inputblur"; })(NavigationBarEvents = exports.NavigationBarEvents || (exports.NavigationBarEvents = {})); @@ -2018,14 +2334,14 @@ var NavigationType; /***/ }), -/* 23 */ +/* 24 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var types_1 = __webpack_require__(22); +var types_1 = __webpack_require__(23); function getCount(item, widgetClass, isLimited) { var countColor = { danger: " dhx_navbar-count--color_danger", @@ -2052,14 +2368,14 @@ function navbarComponentMixin(widgetName, item, asMenuItem, body) { var itemClass = getNavbarItemClass(widgetName, item, asMenuItem); var hasRibbonSize = widgetName === "ribbon" && (item.type === types_1.ItemType.navItem || item.type === types_1.ItemType.imageButton); return dom_1.el("li", { - _key: item.id, - class: itemClass + + "_key": item.id, + "class": itemClass + (item.icon && !item.value && hasRibbonSize ? " dhx_ribbon__item--icon" : "") + (item.src && !item.value && hasRibbonSize ? " dhx_ribbon__item--icon" : "") + (item.size && hasRibbonSize ? " dhx_ribbon__item--" + item.size : ""), - }, [ - body - ]); + ".innerHTML": item.type === types_1.ItemType.customHTML ? item.html : undefined, + "dhx_id": item.type === types_1.ItemType.customHTML ? item.id : undefined, + }, item.type !== types_1.ItemType.customHTML ? [body] : undefined); } exports.navbarComponentMixin = navbarComponentMixin; function getNavbarButtonCSS(_a, widgetName) { @@ -2107,7 +2423,22 @@ var getNavbarItemClass = function (widgetName, item, asMenuItem) { /***/ }), -/* 24 */ +/* 25 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} +Object.defineProperty(exports, "__esModule", { value: true }); +__export(__webpack_require__(128)); +__export(__webpack_require__(68)); +__export(__webpack_require__(41)); + + +/***/ }), +/* 26 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2128,9 +2459,11 @@ exports.shiftCoordinates = shiftCoordinates; exports.pieLikeHandlers = { onmouseover: function (shiftX, shiftY, _, node) { node.el.setAttribute("transform", "translate(" + shiftX + ", " + shiftY + ") scale(1.05)"); + node.el.classList.add("dhx_pie-transform-delay"); }, onmouseout: function (_, node) { node.el.setAttribute("transform", "translate(0, 0)"); + node.el.classList.remove("dhx_pie-transform-delay"); } }; function checkMiss(v, r) { @@ -2203,73 +2536,7 @@ exports.radarScale = radarScale; /***/ }), -/* 25 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(Promise) { -Object.defineProperty(exports, "__esModule", { value: true }); -var DataProxy = /** @class */ (function () { - function DataProxy(url) { - this.url = url; - } - DataProxy.prototype.load = function () { - return this._ajax(this.url); - }; - DataProxy.prototype.save = function (data, mode) { - var modes = { - insert: "POST", - delete: "DELETE", - update: "POST" - }; - return this._ajax(this.url, data, modes[mode] || "POST"); - }; - DataProxy.prototype._ajax = function (url, data, method) { - if (method === void 0) { method = "GET"; } - return new Promise(function (resolve, reject) { - var xhr = new XMLHttpRequest(); - xhr.onload = function () { - if (xhr.status >= 200 && xhr.status < 300) { - resolve(xhr.response || xhr.responseText); - } - else { - reject({ - status: xhr.status, - statusText: xhr.statusText - }); - } - }; - xhr.onerror = function () { - reject({ - status: xhr.status, - statusText: xhr.statusText - }); - }; - xhr.open(method, url); - xhr.setRequestHeader("Content-Type", "application/json"); - switch (method) { - case "POST": - case "DELETE": - case "PUT": - xhr.send(JSON.stringify(data)); - break; - case "GET": - xhr.send(); - break; - default: - xhr.send(); - break; - } - }); - }; - return DataProxy; -}()); -exports.DataProxy = DataProxy; - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(14))) - -/***/ }), -/* 26 */ +/* 27 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2304,23 +2571,44 @@ var VaultMode; /***/ }), -/* 27 */ +/* 28 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(104)); -var ts_navbar_1 = __webpack_require__(15); -exports.ItemType = ts_navbar_1.ItemType; -exports.NavigationBarEvents = ts_navbar_1.NavigationBarEvents; +var LayoutEvents; +(function (LayoutEvents) { + LayoutEvents["beforeShow"] = "beforeShow"; + LayoutEvents["afterShow"] = "afterShow"; + LayoutEvents["beforeHide"] = "beforeHide"; + LayoutEvents["afterHide"] = "afterHide"; + LayoutEvents["beforeResizeStart"] = "beforeResizeStart"; + LayoutEvents["resize"] = "resize"; + LayoutEvents["afterResizeEnd"] = "afterResizeEnd"; + LayoutEvents["beforeAdd"] = "beforeAdd"; + LayoutEvents["afterAdd"] = "afterAdd"; + LayoutEvents["beforeRemove"] = "beforeRemove"; + LayoutEvents["afterRemove"] = "afterRemove"; + LayoutEvents["beforeCollapse"] = "beforeCollapse"; + LayoutEvents["afterCollapse"] = "afterCollapse"; + LayoutEvents["beforeExpand"] = "beforeExpand"; + LayoutEvents["afterExpand"] = "afterExpand"; +})(LayoutEvents = exports.LayoutEvents || (exports.LayoutEvents = {})); +var resizeMode; +(function (resizeMode) { + resizeMode[resizeMode["unknown"] = 0] = "unknown"; + resizeMode[resizeMode["percents"] = 1] = "percents"; + resizeMode[resizeMode["pixels"] = 2] = "pixels"; + resizeMode[resizeMode["mixedpx1"] = 3] = "mixedpx1"; + resizeMode[resizeMode["mixedpx2"] = 4] = "mixedpx2"; + resizeMode[resizeMode["mixedperc1"] = 5] = "mixedperc1"; + resizeMode[resizeMode["mixedperc2"] = 6] = "mixedperc2"; +})(resizeMode = exports.resizeMode || (exports.resizeMode = {})); /***/ }), -/* 28 */ +/* 29 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2329,13 +2617,14 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(123)); -__export(__webpack_require__(66)); -__export(__webpack_require__(38)); +__export(__webpack_require__(108)); +var ts_navbar_1 = __webpack_require__(17); +exports.ItemType = ts_navbar_1.ItemType; +exports.NavigationBarEvents = ts_navbar_1.NavigationBarEvents; /***/ }), -/* 29 */ +/* 30 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2344,12 +2633,12 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(124)); -__export(__webpack_require__(65)); +__export(__webpack_require__(129)); +__export(__webpack_require__(67)); /***/ }), -/* 30 */ +/* 31 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2358,12 +2647,15 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(125)); -__export(__webpack_require__(63)); +__export(__webpack_require__(135)); +__export(__webpack_require__(69)); +__export(__webpack_require__(43)); +var en_1 = __webpack_require__(44); +exports.locale = en_1.default; /***/ }), -/* 31 */ +/* 32 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2372,15 +2664,12 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(130)); -__export(__webpack_require__(67)); -__export(__webpack_require__(40)); -var en_1 = __webpack_require__(41); -exports.locale = en_1.default; +__export(__webpack_require__(161)); +__export(__webpack_require__(74)); /***/ }), -/* 32 */ +/* 33 */ /***/ (function(module, exports) { var g; @@ -2406,7 +2695,192 @@ module.exports = g; /***/ }), -/* 33 */ +/* 34 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(Promise) { +Object.defineProperty(exports, "__esModule", { value: true }); +var types_1 = __webpack_require__(15); +var helpers_1 = __webpack_require__(16); +function toQueryString(data) { + return Object.keys(data).reduce(function (entries, key) { + var value = typeof data[key] === "object" ? JSON.stringify(data[key]) : data[key]; + entries.push(key + "=" + encodeURIComponent(value)); + return entries; + }, []).join("&"); +} +function inferResponseType(contentType) { + if (!contentType) { + return "text"; + } + if (contentType.indexOf("json") >= 0) { + return "json"; + } + if (contentType.indexOf("xml") >= 0) { + return "xml"; + } + return "text"; +} +function send(url, data, method, headers, responseType) { + function parseResponse(responseText, genResponseType) { + switch (genResponseType) { + case "json": { + return JSON.parse(responseText); + } + case "text": { + return responseText; + } + case "xml": { + var driver = helpers_1.toDataDriver(types_1.DataDriver.xml); + if (driver) { + return driver.toJsonObject(responseText); + } + else { + return { parseError: "Incorrect data driver type: 'xml'" }; + } + } + default: { + return responseText; + } + } + } + var allHeaders = headers || {}; + if (responseType) { + allHeaders.Accept = "application/" + responseType; + } + if (method !== "GET") { + allHeaders["Content-Type"] = allHeaders["Content-Type"] || "application/json"; + } + if (method === "GET") { + var urlData = data && typeof data === "object" ? + toQueryString(data) : + data && typeof data === "string" ? + data : ""; + if (urlData) { + url += (url.indexOf("?") === -1) ? "?" : "&"; + url += urlData; + } + data = null; + } + if (!window.fetch) { + return new Promise(function (resolve, reject) { + var xhr = new XMLHttpRequest(); + xhr.onload = function () { + if (xhr.status >= 200 && xhr.status < 300) { + if (responseType === "raw") { + resolve({ + url: xhr.responseURL, + headers: xhr.getAllResponseHeaders() + .trim() + .split(/[\r\n]+/) + .reduce(function (acc, cur) { + var kv = cur.split(": "); + acc[kv[0]] = kv[1]; + return acc; + }, {}), + body: xhr.response + }); + } + if (xhr.status === 204) { + resolve(); + } + else { + resolve(parseResponse(xhr.responseText, responseType || inferResponseType(xhr.getResponseHeader("Content-Type")))); + } + } + else { + reject({ + status: xhr.status, + statusText: xhr.statusText + }); + } + }; + xhr.onerror = function () { + reject({ + status: xhr.status, + statusText: xhr.statusText, + message: xhr.responseText + }); + }; + xhr.open(method, url); + for (var headerKey in allHeaders) { + xhr.setRequestHeader(headerKey, allHeaders[headerKey]); + } + switch (method) { + case "POST": + case "DELETE": + case "PUT": + xhr.send(data !== undefined ? JSON.stringify(data) : ""); + break; + case "GET": + xhr.send(); + break; + default: + xhr.send(); + break; + } + }); + } + else { + return window.fetch(url, { + method: method, + body: data ? JSON.stringify(data) : null, + headers: allHeaders, + }) + .then(function (response) { + if (response.ok) { + var genResponseType = responseType || inferResponseType(response.headers.get("Content-Type")); + if (genResponseType === "raw") { + return { + // @ts-ignore + headers: Object.fromEntries(response.headers.entries()), + url: response.url, + body: response.body + }; + } + if (response.status !== 204) { + switch (genResponseType) { + case "json": { + return response.json(); + } + case "xml": { + var driver_1 = helpers_1.toDataDriver(types_1.DataDriver.xml); + if (driver_1) { + return response.text() + .then(function (xmlData) { return driver_1.toJsonObject(xmlData); }); + } + else { + return response.text(); + } + } + default: + return response.text(); + } + } + } + else { + return response.text() + .then(function (message) { return Promise.reject({ + status: response.status, + statusText: response.statusText, + message: message + }); }); + } + }); + } +} +exports.ajax = { + get: function (url, data, config) { return send(url, data, "GET", config && config.headers, config !== undefined ? config.responseType : undefined); }, + post: function (url, data, config) { return send(url, data, "POST", config && config.headers, config !== undefined ? config.responseType : undefined); }, + put: function (url, data, config) { return send(url, data, "PUT", config && config.headers, config !== undefined ? config.responseType : undefined); }, + delete: function (url, data, config) { return send(url, data, "DELETE", config && config.headers, config !== undefined ? config.responseType : undefined); } +}; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12))) + +/***/ }), +/* 35 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2436,7 +2910,7 @@ var MessageContainerPosition; /***/ }), -/* 34 */ +/* 36 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2450,7 +2924,7 @@ exports.default = locale; /***/ }), -/* 35 */ +/* 37 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2477,7 +2951,7 @@ exports.default = locale; /***/ }), -/* 36 */ +/* 38 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2486,13 +2960,13 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(120)); -__export(__webpack_require__(61)); -__export(__webpack_require__(37)); +__export(__webpack_require__(124)); +__export(__webpack_require__(63)); +__export(__webpack_require__(39)); /***/ }), -/* 37 */ +/* 39 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2502,23 +2976,40 @@ var ListEvents; (function (ListEvents) { ListEvents["click"] = "click"; ListEvents["doubleClick"] = "doubleclick"; - ListEvents["contextmenu"] = "contextmenu"; ListEvents["focusChange"] = "focuschange"; ListEvents["beforeEditStart"] = "beforeEditStart"; ListEvents["afterEditStart"] = "afterEditStart"; ListEvents["beforeEditEnd"] = "beforeEditEnd"; ListEvents["afterEditEnd"] = "afterEditEnd"; + ListEvents["itemRightClick"] = "itemRightClick"; + ListEvents["itemMouseOver"] = "itemMouseOver"; + // TODO: remove sute_7.0 + ListEvents["contextmenu"] = "contextmenu"; })(ListEvents = exports.ListEvents || (exports.ListEvents = {})); /***/ }), -/* 38 */ +/* 40 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} +Object.defineProperty(exports, "__esModule", { value: true }); +__export(__webpack_require__(130)); +__export(__webpack_require__(65)); + + +/***/ }), +/* 41 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var en_1 = __webpack_require__(39); +var en_1 = __webpack_require__(42); var core_1 = __webpack_require__(1); /* %d day as a number with leading zero, 01..31 @@ -2565,9 +3056,18 @@ var formatters = { "%Y": function (date) { return date.getFullYear(); }, "%h": function (date) { var hours = date.getHours() % 12; + if (hours === 0) { + hours = 12; + } return hours < 10 ? "0" + hours : hours; }, - "%g": function (date) { return date.getHours() % 12; }, + "%g": function (date) { + var hours = date.getHours() % 12; + if (hours === 0) { + hours = 12; + } + return hours; + }, "%H": function (date) { var hours = date.getHours(); return hours < 10 ? "0" + hours : hours; @@ -2581,8 +3081,12 @@ var formatters = { var seconds = date.getSeconds(); return seconds < 10 ? "0" + seconds : seconds; }, - "%a": function (date) { return date.getHours() > 12 ? "pm" : "am"; }, - "%A": function (date) { return date.getHours() > 12 ? "PM" : "AM"; }, + "%a": function (date) { + return date.getHours() >= 12 ? "pm" : "am"; + }, + "%A": function (date) { + return date.getHours() >= 12 ? "PM" : "AM"; + }, "%u": function (date) { return date.getMilliseconds(); } }; var setFormatters = { @@ -2634,15 +3138,15 @@ var setFormatters = { ? date.setFullYear(Number(value)) : date.setFullYear(Number("2000")); }, - "%h": function (date, value) { + "%h": function (date, value, dateFormat) { var check = /(^0[1-9]|1[0-2]$)/i.test(value); - check + check && dateFormat === "pm" || dateFormat === "PM" ? date.setHours(Number(value)) : date.setHours(Number(0)); }, - "%g": function (date, value) { + "%g": function (date, value, dateFormat) { var check = /(^[1-9]$)|(^0[1-9]|1[0-2]$)/i.test(value); - check + check && dateFormat === "pm" || dateFormat === "PM" ? date.setHours(Number(value)) : date.setHours(Number(0)); }, @@ -2731,6 +3235,9 @@ function tokenizeFormat(format) { return tokens; } function stringToDate(str, format, validate) { + if (typeof str !== "string") { + return; + } var tokens = tokenizeFormat(format); var dateParts = []; var index = 0; @@ -2764,12 +3271,19 @@ function stringToDate(str, format, validate) { value: str.slice(index) }); } - var date = new Date(); dateParts.reverse(); + var dateFormat; for (var _a = 0, dateParts_1 = dateParts; _a < dateParts_1.length; _a++) { var datePart = dateParts_1[_a]; + if (datePart.formatter === "%A" || datePart.formatter === "%a") { + dateFormat = datePart.value; + } + } + var date = new Date(); + for (var _b = 0, dateParts_2 = dateParts; _b < dateParts_2.length; _b++) { + var datePart = dateParts_2[_b]; if (setFormatters[datePart.formatter]) { - setFormatters[datePart.formatter](date, datePart.value); + setFormatters[datePart.formatter](date, datePart.value, dateFormat); } } return validate ? true : date; @@ -2778,7 +3292,7 @@ exports.stringToDate = stringToDate; /***/ }), -/* 39 */ +/* 42 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2795,7 +3309,7 @@ exports.default = locale; /***/ }), -/* 40 */ +/* 43 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2924,7 +3438,7 @@ exports.isHex = isHex; /***/ }), -/* 41 */ +/* 44 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2941,7 +3455,7 @@ exports.default = en; /***/ }), -/* 42 */ +/* 45 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2958,9 +3472,9 @@ var __assign = (this && this.__assign) || function () { return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); -var AxisCreator_1 = __webpack_require__(142); +var AxisCreator_1 = __webpack_require__(148); var types_1 = __webpack_require__(6); -var SvgScales_1 = __webpack_require__(68); +var SvgScales_1 = __webpack_require__(70); var common_1 = __webpack_require__(5); var renderScale = { left: SvgScales_1.left, @@ -3060,7 +3574,7 @@ var Scale = /** @class */ (function () { if (config.locator) { this.locator = common_1.locator(config.locator); } - this.config = __assign({}, defaults, config); + this.config = __assign(__assign({}, defaults), config); }; Scale.prototype._logPoint = function (pos) { var logPos; @@ -3084,7 +3598,7 @@ exports.Scale = Scale; /***/ }), -/* 43 */ +/* 46 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3105,7 +3619,7 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var common_1 = __webpack_require__(5); var types_1 = __webpack_require__(6); -var BaseSeria_1 = __webpack_require__(44); +var BaseSeria_1 = __webpack_require__(47); var ScaleSeria = /** @class */ (function (_super) { __extends(ScaleSeria, _super); function ScaleSeria() { @@ -3158,7 +3672,7 @@ exports.default = ScaleSeria; /***/ }), -/* 44 */ +/* 47 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3167,10 +3681,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var types_1 = __webpack_require__(6); var common_1 = __webpack_require__(5); -var line_1 = __webpack_require__(145); +var line_1 = __webpack_require__(151); var BaseSeria = /** @class */ (function () { function BaseSeria(_data, config, other) { + var _this = this; this._data = _data; + this._handlers = { + onclick: function (id, value) { return _this._events.fire(types_1.ChartEvents.serieClick, [id, value]); } + }; this.id = config.id = config.id || core_1.uid(); this._events = other; this._points = []; @@ -3226,7 +3744,9 @@ var BaseSeria = /** @class */ (function () { BaseSeria.prototype._setDefaults = function (config) { this.config = config; }; - BaseSeria.prototype._defaultLocator = function (_) { return [null, null]; }; + BaseSeria.prototype._defaultLocator = function (_) { + return [null, null]; + }; BaseSeria.prototype._getPointType = function (form, color, showTooltip) { if (showTooltip) { return line_1.getShadeHelper(form, color, line_1.hoverMode); @@ -3241,7 +3761,7 @@ exports.default = BaseSeria; /***/ }), -/* 45 */ +/* 48 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3273,7 +3793,7 @@ var __assign = (this && this.__assign) || function () { Object.defineProperty(exports, "__esModule", { value: true }); var common_1 = __webpack_require__(5); var types_1 = __webpack_require__(6); -var BaseSeria_1 = __webpack_require__(44); +var BaseSeria_1 = __webpack_require__(47); var NoScaleSeria = /** @class */ (function (_super) { __extends(NoScaleSeria, _super); function NoScaleSeria() { @@ -3341,7 +3861,7 @@ var NoScaleSeria = /** @class */ (function (_super) { subType: types_1.NoScaleSubType.basic, paddings: 20 }; - this.config = __assign({}, defaults, config); + this.config = __assign(__assign({}, defaults), config); this._drawPointType = this._getPointType(types_1.PointType.empty, "none", this.config.tooltip); this._valueLocator = common_1.locator(config.value); this._textLocator = common_1.locator(config.text); @@ -3364,7 +3884,7 @@ exports.default = NoScaleSeria; /***/ }), -/* 46 */ +/* 49 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3396,7 +3916,7 @@ var __assign = (this && this.__assign) || function () { Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); var common_1 = __webpack_require__(5); -var ScaleSeria_1 = __webpack_require__(43); +var ScaleSeria_1 = __webpack_require__(46); var Line = /** @class */ (function (_super) { __extends(Line, _super); function Line() { @@ -3436,7 +3956,7 @@ var Line = /** @class */ (function (_super) { active: true, tooltip: true }; - this.config = __assign({}, defaults, config); + this.config = __assign(__assign({}, defaults), config); }; return Line; }(ScaleSeria_1.default)); @@ -3444,21 +3964,7 @@ exports.default = Line; /***/ }), -/* 47 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} -Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(156)); -__export(__webpack_require__(72)); - - -/***/ }), -/* 48 */ +/* 50 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3473,7 +3979,7 @@ exports.default = { /***/ }), -/* 49 */ +/* 51 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3483,17 +3989,20 @@ var DataViewEvents; (function (DataViewEvents) { DataViewEvents["click"] = "click"; DataViewEvents["doubleClick"] = "doubleclick"; - DataViewEvents["contextmenu"] = "contextmenu"; DataViewEvents["focusChange"] = "focuschange"; DataViewEvents["beforeEditStart"] = "beforeEditStart"; DataViewEvents["afterEditStart"] = "afterEditStart"; DataViewEvents["beforeEditEnd"] = "beforeEditEnd"; DataViewEvents["afterEditEnd"] = "afterEditEnd"; + DataViewEvents["itemRightClick"] = "itemRightClick"; + DataViewEvents["itemMouseOver"] = "itemMouseOver"; + // TODO: remove sute_7.0 + DataViewEvents["contextmenu"] = "contextmenu"; })(DataViewEvents = exports.DataViewEvents || (exports.DataViewEvents = {})); /***/ }), -/* 50 */ +/* 52 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3515,16 +4024,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); var core_1 = __webpack_require__(1); var helper_1 = __webpack_require__(9); -var label_1 = __webpack_require__(16); -var events_1 = __webpack_require__(2); +var label_1 = __webpack_require__(18); +var events_1 = __webpack_require__(3); var types_1 = __webpack_require__(8); var INIT_DEBOUNCE_TIME = 500; -var InputEvents; -(function (InputEvents) { - InputEvents["change"] = "change"; - InputEvents["error"] = "error"; - InputEvents["success"] = "success"; -})(InputEvents = exports.InputEvents || (exports.InputEvents = {})); var Input = /** @class */ (function (_super) { __extends(Input, _super); function Input(container, config) { @@ -3532,11 +4035,20 @@ var Input = /** @class */ (function (_super) { var _this = _super.call(this, null, config) || this; _this.events = new events_1.EventSystem(); _this._debounceTime = INIT_DEBOUNCE_TIME; - _this.events.on(InputEvents.change, function (value) { - _this.config.value = value || ""; - }); + _this._initView(config); return _this; } + Input.prototype.disable = function () { + this.config.disabled = true; + this.paint(); + }; + Input.prototype.enable = function () { + this.config.disabled = false; + this.paint(); + }; + Input.prototype.isDisabled = function () { + return this.config.disabled; + }; Input.prototype.validate = function () { var requiredCondition = !this.config.required || this.config.value; var isValid = !this.config.validation || helper_1.validateInput(this.config.value, this.config.validation); @@ -3555,13 +4067,40 @@ var Input = /** @class */ (function (_super) { this.paint(); }; Input.prototype.setValue = function (value) { - this.events.fire(InputEvents.change, [value]); + this.events.fire(types_1.BaseElementEvent.change, [value]); this.config.value = value; this.paint(); }; Input.prototype.getValue = function () { return this.config.value || ""; }; + // TODO: remove sute_7.0 + Input.prototype.setConfig = function (config) { + this._initView(config); + }; + Input.prototype._initView = function (config) { + var _this = this; + if (helper_1.isEmptyObj(config)) { + return; + } + this.config = { + type: this.config.type, + id: this.config.id, + name: this.config.name, + disabled: false, + value: "" + }; + for (var key in config) { + if (key !== "id" && key !== "type" && key !== "name") { + this.config[key] = config[key]; + } + } + this.events.on(types_1.BaseElementEvent.change, function (value) { + _this.config.value = value || ""; + }); + this.events.fire(types_1.BaseElementEvent.configUpdate, [this.config]); + this.paint(); + }; Input.prototype._init = function () { var _a = this.config, validation = _a.validation, value = _a.value; if (validation && value) { @@ -3575,7 +4114,7 @@ var Input = /** @class */ (function (_super) { var _this = this; return { oninput: function (e) { - var value = e.target.value; + var value = e.target.value.trim(); _this.config.value = value; if (_this._debounceTimer) { clearTimeout(_this._debounceTimer); @@ -3588,20 +4127,20 @@ var Input = /** @class */ (function (_super) { _this._validate(value); }, _this._debounceTime); }, - onblur: function (e) { - _this._validate(e.target.value, true); + onblur: function () { + _this._validate(_this.config.value, true); } }; }; Input.prototype._draw = function () { - var _a = this.config, id = _a.id, value = _a.value, disabled = _a.disabled, name = _a.name, icon = _a.icon, placeholder = _a.placeholder, required = _a.required, inputType = _a.inputType, validation = _a.validation, hidden = _a.hidden, autocomplete = _a.autocomplete; + var _a = this.config, id = _a.id, value = _a.value, disabled = _a.disabled, name = _a.name, icon = _a.icon, placeholder = _a.placeholder, required = _a.required, inputType = _a.inputType, validation = _a.validation, hidden = _a.hidden, autocomplete = _a.autocomplete, readOnly = _a.readOnly, maxlength = _a.maxlength; var visibility = hidden ? " dhx_form-group--hidden" : ""; return dom_1.el("div.dhx_form-group", { class: helper_1.getFormItemCss(this.config, Boolean(required) || Boolean(validation)) + visibility }, [ this._drawLabel(), - dom_1.el(".dhx_input-wrapper", {}, [ - dom_1.el("div.dhx_input-container", {}, [ + dom_1.el(".dhx_input__wrapper", {}, [ + dom_1.el("div.dhx_input__container", {}, [ this.config.icon ? dom_1.el(".dhx_input__icon", { class: this.config.icon }) : null, @@ -3613,13 +4152,15 @@ var Input = /** @class */ (function (_super) { name: name || "", disabled: disabled, required: required, + readOnly: readOnly, + maxlength: maxlength, onblur: this._handlers.onblur, oninput: this._handlers.oninput, class: icon ? "dhx_input--icon-padding" : "", autocomplete: autocomplete ? "on" : "off" }), ]), - helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input-caption", helper_1.getValidationMessage(this.config)) + helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input__caption", helper_1.getValidationMessage(this.config)) ]), ]); }; @@ -3632,30 +4173,26 @@ var Input = /** @class */ (function (_super) { this._debounceTime = INIT_DEBOUNCE_TIME; if (this.config.validation) { if (!helper_1.validateInput(value, this.config.validation)) { - this.events.fire(InputEvents.error, [value]); this.config.$validationStatus = types_1.ValidationStatus.error; this.paint(); return; } else { - this.events.fire(InputEvents.success, [value]); this.config.$validationStatus = types_1.ValidationStatus.success; this.paint(); } } else if (this.config.required) { if (value === "") { - this.events.fire(InputEvents.error, [value]); this.config.$validationStatus = types_1.ValidationStatus.error; this.paint(); } else { - this.events.fire(InputEvents.success, [value]); this.config.$validationStatus = types_1.ValidationStatus.success; this.paint(); } } - this.events.fire(InputEvents.change, [value]); + this.events.fire(types_1.BaseElementEvent.change, [value]); }; return Input; }(label_1.Label)); @@ -3663,7 +4200,7 @@ exports.Input = Input; /***/ }), -/* 51 */ +/* 53 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3698,6 +4235,12 @@ function normalizeColumns(columns) { col.$uniqueData = []; } col.width = col.width || 100; + if (col.width < col.minWidth) { + col.width = col.minWidth; + } + if (col.width > col.maxWidth) { + col.width = col.maxWidth; + } } } exports.normalizeColumns = normalizeColumns; @@ -3710,7 +4253,7 @@ function countColumns(config, columns) { var footer = false; columns.map(function (col) { headerRowsCount = Math.max(headerRowsCount, col.header.length); - totalWidth += col.width; + totalWidth += col.hidden ? 0 : col.width; if (col.footer) { footerRowsCount = Math.max(footerRowsCount, col.footer.length); if (!footer) { @@ -3800,7 +4343,7 @@ exports.getUnique = getUnique; /***/ }), -/* 52 */ +/* 54 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3820,7 +4363,7 @@ exports.getWidth = getWidth; /***/ }), -/* 53 */ +/* 55 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3829,22 +4372,22 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(54)); -__export(__webpack_require__(96)); -__export(__webpack_require__(26)); +__export(__webpack_require__(56)); +__export(__webpack_require__(100)); +__export(__webpack_require__(27)); /***/ }), -/* 54 */ +/* 56 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(Promise) { Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); -var html_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var ts_data_1 = __webpack_require__(7); -var types_1 = __webpack_require__(26); +var types_1 = __webpack_require__(27); var Uploader = /** @class */ (function () { function Uploader(config, data, events) { if (config === void 0) { config = {}; } @@ -4121,10 +4664,10 @@ var Uploader = /** @class */ (function () { }()); exports.Uploader = Uploader; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(14))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12))) /***/ }), -/* 55 */ +/* 57 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4141,12 +4684,12 @@ var __assign = (this && this.__assign) || function () { return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); -var events_1 = __webpack_require__(2); -var loader_1 = __webpack_require__(88); -var sort_1 = __webpack_require__(91); -var dataproxy_1 = __webpack_require__(25); -var helpers_1 = __webpack_require__(18); -var types_1 = __webpack_require__(17); +var events_1 = __webpack_require__(3); +var loader_1 = __webpack_require__(91); +var sort_1 = __webpack_require__(94); +var dataproxy_1 = __webpack_require__(21); +var helpers_1 = __webpack_require__(16); +var types_1 = __webpack_require__(15); var core_1 = __webpack_require__(1); var DataCollection = /** @class */ (function () { function DataCollection(config, events) { @@ -4173,49 +4716,27 @@ var DataCollection = /** @class */ (function () { return; } if (Array.isArray(obj)) { - obj.map(function (element, key) { + return obj.map(function (element, key) { if (key !== 0) { index = index + 1; } - var id = _this._addCore(element, index); - _this._onChange("add", element.id, element); - _this.events.fire(types_1.DataEvents.afterAdd, [element]); - return id; + return _this._add(element, index); }); } else { - var id = this._addCore(obj, index); - this._onChange("add", obj.id, obj); - this.events.fire(types_1.DataEvents.afterAdd, [obj]); - return id; + return this._add(obj, index); } }; DataCollection.prototype.remove = function (id) { var _this = this; if (id) { if (id instanceof Array) { - id.map(function (element) { - var obj = _this._pull[element]; - if (obj) { - if (!_this.events.fire(types_1.DataEvents.beforeRemove, [obj])) { - return; - } - _this._removeCore(obj.id); - _this._onChange("remove", element, obj); - } - _this.events.fire(types_1.DataEvents.afterRemove, [obj]); + id.map(function (elementId) { + _this._remove(elementId); }); } else { - var obj = this._pull[id]; - if (obj) { - if (!this.events.fire(types_1.DataEvents.beforeRemove, [obj])) { - return; - } - this._removeCore(obj.id); - this._onChange("remove", id, obj); - } - this.events.fire(types_1.DataEvents.afterRemove, [obj]); + this._remove(id); } } }; @@ -4279,7 +4800,19 @@ var DataCollection = /** @class */ (function () { DataCollection.prototype.getLength = function () { return this._order.length; }; + DataCollection.prototype.isDataLoaded = function (from, to) { + if (from === void 0) { from = 0; } + if (to === void 0) { to = this._order.length; } + if (core_1.isNumeric(from) && core_1.isNumeric(to)) { + return this._order.slice(from, to).filter(function (item) { return item.$empty; }).length === 0; + } + return !this.find(function (item) { return item.$empty; }); + }; DataCollection.prototype.filter = function (rule, config) { + if (!this.isDataLoaded()) { + helpers_1.dhxWarning("the method doesn't work with lazyLoad"); + return; + } config = core_1.extend({ add: false, multiple: true @@ -4333,6 +4866,10 @@ var DataCollection = /** @class */ (function () { return res; }; DataCollection.prototype.sort = function (by) { + if (!this.isDataLoaded()) { + helpers_1.dhxWarning("the method doesn't work with lazyLoad"); + return; + } if (!by) { this._order = []; for (var key in this._pull) { @@ -4349,57 +4886,37 @@ var DataCollection = /** @class */ (function () { this.events.fire(types_1.DataEvents.change); }; DataCollection.prototype.copy = function (id, index, target, targetId) { - if (!this.exists(id)) { - return null; + var _this = this; + if (id instanceof Array) { + return id.map(function (elementId, key) { + return _this._copy(elementId, index, target, targetId, key); + }); } - var newid = core_1.uid(); - if (target) { - if (!(target instanceof DataCollection) && targetId) { - target.add(helpers_1.copyWithoutInner(this.getItem(id)), index); - return; - } - if (target.exists(id)) { - target.add(__assign({}, helpers_1.copyWithoutInner(this.getItem(id)), { id: newid }), index); - return newid; - } - else { - target.add(helpers_1.copyWithoutInner(this.getItem(id)), index); - return id; - } + else { + return this._copy(id, index, target, targetId); } - this.add(__assign({}, helpers_1.copyWithoutInner(this.getItem(id)), { id: newid }), index); - return newid; }; DataCollection.prototype.move = function (id, index, target, targetId) { - if (target && target !== this && this.exists(id)) { - var item = core_1.copy(this.getItem(id), true); - if (target.exists(id)) { - item.id = core_1.uid(); - } - if (targetId) { - item.parent = targetId; - } - target.add(item, index); - // remove data from original collection - this.remove(id); - return item.id; + var _this = this; + if (id instanceof Array) { + return id.map(function (elementId, key) { + return _this._move(elementId, index, target, targetId, key); + }); } - if (this.getIndex(id) === index) { - return null; + else { + return this._move(id, index, target, targetId); } - // move other elements - var spliced = this._order.splice(this.getIndex(id), 1)[0]; - if (index === -1) { - index = this._order.length; + }; + DataCollection.prototype.forEach = function (cb) { + for (var i = 0; i < this._order.length; i++) { + cb.call(this, this._order[i], i, this._order); } - this._order.splice(index, 0, spliced); - this.events.fire(types_1.DataEvents.change); // if target not this, it trigger add and remove - return id; }; DataCollection.prototype.load = function (url, driver) { if (typeof url === "string") { - url = new dataproxy_1.DataProxy(url); + this.dataProxy = url = new dataproxy_1.DataProxy(url); } + this.dataProxy = url; return this._loader.load(url, driver); }; DataCollection.prototype.parse = function (data, driver) { @@ -4418,6 +4935,26 @@ var DataCollection = /** @class */ (function () { DataCollection.prototype.save = function (url) { this._loader.save(url); }; + DataCollection.prototype.changeId = function (id, newId, silent) { + if (newId === void 0) { newId = core_1.uid(); } + if (!silent && !this.isDataLoaded()) { + helpers_1.dhxWarning("the method doesn't work with lazyLoad"); + return; + } + var item = this.getItem(id); + if (!item) { + helpers_1.dhxWarning("item not found"); + } + else { + item.id = newId; + core_1.extend(this._pull[id], item); + this._pull[newId] = this._pull[id]; + if (!silent) { + this._onChange("update", newId, this._pull[newId]); + } + delete this._pull[id]; + } + }; // todo: loop through the array and check saved statuses DataCollection.prototype.isSaved = function () { return !this._changes.order.length; // todo: bad solution, errors and holded elments are missed... @@ -4425,7 +4962,7 @@ var DataCollection = /** @class */ (function () { DataCollection.prototype.map = function (cb) { var result = []; for (var i = 0; i < this._order.length; i++) { - result.push(cb.call(this, this._order[i], i)); + result.push(cb.call(this, this._order[i], i, this._order)); } return result; }; @@ -4436,9 +4973,10 @@ var DataCollection = /** @class */ (function () { if (to > this._order.length - 1) { to = this._order.length - 1; } + var arr = this._order.slice(from, to); var result = []; for (var i = from; i <= to; i++) { - result.push(cb.call(this, this._order[i], i)); + result.push(cb.call(this, this._order[i], i, arr)); } return result; }; @@ -4467,6 +5005,93 @@ var DataCollection = /** @class */ (function () { DataCollection.prototype.getInitialData = function () { return this._initOrder; }; + DataCollection.prototype._add = function (obj, index) { + if (!this.isDataLoaded()) { + helpers_1.dhxWarning("the method doesn't work with lazyLoad"); + return; + } + var id = this._addCore(obj, index); + this._onChange("add", obj.id, obj); + this.events.fire(types_1.DataEvents.afterAdd, [obj]); + return id; + }; + DataCollection.prototype._remove = function (id) { + if (!this.isDataLoaded()) { + helpers_1.dhxWarning("the method doesn't work with lazyLoad"); + return; + } + var obj = this._pull[id]; + if (obj) { + if (!this.events.fire(types_1.DataEvents.beforeRemove, [obj])) { + return; + } + this._removeCore(obj.id); + this._onChange("remove", id, obj); + } + this.events.fire(types_1.DataEvents.afterRemove, [obj]); + }; + DataCollection.prototype._copy = function (id, index, target, targetId, key) { + if (!this.isDataLoaded()) { + helpers_1.dhxWarning("the method doesn't work with lazyLoad"); + return; + } + if (!this.exists(id)) { + return null; + } + var newid = core_1.uid(); + if (key) { + index = index === -1 ? -1 : index + key; + } + if (target) { + if (!(target instanceof DataCollection) && targetId) { + target.add(helpers_1.copyWithoutInner(this.getItem(id)), index); + return; + } + if (target.exists(id)) { + target.add(__assign(__assign({}, helpers_1.copyWithoutInner(this.getItem(id))), { id: newid }), index); + return newid; + } + else { + target.add(helpers_1.copyWithoutInner(this.getItem(id)), index); + return id; + } + } + this.add(__assign(__assign({}, helpers_1.copyWithoutInner(this.getItem(id))), { id: newid }), index); + return newid; + }; + DataCollection.prototype._move = function (id, index, target, targetId, key) { + if (!this.isDataLoaded()) { + helpers_1.dhxWarning("the method doesn't work with lazyLoad"); + return; + } + if (key) { + index = index === -1 ? -1 : index + key; + } + if (target && target !== this && this.exists(id)) { + var item = core_1.copy(this.getItem(id), true); + if (target.exists(id)) { + item.id = core_1.uid(); + } + if (targetId) { + item.parent = targetId; + } + target.add(item, index); + // remove data from original collection + this.remove(id); + return item.id; + } + if (this.getIndex(id) === index) { + return null; + } + // move other elements + var spliced = this._order.splice(this.getIndex(id), 1)[0]; + if (index === -1) { + index = this._order.length; + } + this._order.splice(index, 0, spliced); + this.events.fire(types_1.DataEvents.change); + return id; + }; DataCollection.prototype._removeAll = function () { this._pull = {}; this._order = []; @@ -4541,7 +5166,7 @@ var DataCollection = /** @class */ (function () { if (item.error) { item.error = false; } - item = __assign({}, item, { obj: obj, status: status }); + item = __assign(__assign({}, item), { obj: obj, status: status }); this.events.fire(types_1.DataEvents.change, [id, status, obj]); return; } @@ -4581,7 +5206,7 @@ exports.DataCollection = DataCollection; /***/ }), -/* 56 */ +/* 58 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4598,18 +5223,18 @@ var __assign = (this && this.__assign) || function () { return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); -var JsonDriver_1 = __webpack_require__(57); -var CsvDriver_1 = __webpack_require__(58); -var XMLDriver_1 = __webpack_require__(89); +var JsonDriver_1 = __webpack_require__(59); +var CsvDriver_1 = __webpack_require__(60); +var XMLDriver_1 = __webpack_require__(92); exports.dataDrivers = { json: JsonDriver_1.JsonDriver, csv: CsvDriver_1.CsvDriver }; -exports.dataDriversPro = __assign({}, exports.dataDrivers, { xml: XMLDriver_1.XMLDriver }); +exports.dataDriversPro = __assign(__assign({}, exports.dataDrivers), { xml: XMLDriver_1.XMLDriver }); /***/ }), -/* 57 */ +/* 59 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4636,7 +5261,7 @@ exports.JsonDriver = JsonDriver; /***/ }), -/* 58 */ +/* 60 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4655,20 +5280,19 @@ var __assign = (this && this.__assign) || function () { Object.defineProperty(exports, "__esModule", { value: true }); var CsvDriver = /** @class */ (function () { function CsvDriver(config) { - if (config === void 0) { config = {}; } var initConfig = { skipHeader: 0, nameByHeader: false, - row: "\n", - column: ",", + rowDelimiter: "\n", + columnDelimiter: ",", }; - this.config = __assign({}, initConfig, config); + this.config = __assign(__assign({}, initConfig), config); if (this.config.nameByHeader) { this.config.skipHeader = 1; } } CsvDriver.prototype.getFields = function (row, headers) { - var parts = row.trim().split(this.config.column); + var parts = row.trim().split(this.config.columnDelimiter); var obj = {}; for (var i = 0; i < parts.length; i++) { obj[headers ? headers[i] : i + 1] = parts[i]; @@ -4676,7 +5300,7 @@ var CsvDriver = /** @class */ (function () { return obj; }; CsvDriver.prototype.getRows = function (data) { - return data.trim().split(this.config.row); + return data.trim().split(this.config.rowDelimiter); }; CsvDriver.prototype.toJsonArray = function (data) { var _this = this; @@ -4685,14 +5309,20 @@ var CsvDriver = /** @class */ (function () { if (this.config.skipHeader) { var top_1 = rows.splice(0, this.config.skipHeader); if (this.config.nameByHeader) { - names = top_1[0].trim().split(this.config.column); + names = top_1[0].trim().split(this.config.columnDelimiter); } } return rows.map(function (row) { return _this.getFields(row, names); }); }; - CsvDriver.prototype.serialize = function (data) { - var header = data[0] ? Object.keys(data[0]).filter(function (key) { return key[0] !== "$"; }).join(",") : ""; - return header + this._serialize(data); + CsvDriver.prototype.serialize = function (data, withoutHeader) { + var header = data[0] ? Object.keys(data[0]) + .filter(function (key) { return key[0] !== "$"; }) + .join(this.config.columnDelimiter) : ""; + var readyData = this._serialize(data); + if (withoutHeader) { + return readyData; + } + return header + readyData; }; CsvDriver.prototype._serialize = function (data) { var _this = this; @@ -4701,12 +5331,12 @@ var CsvDriver = /** @class */ (function () { if (key[0] === "$" || key === "items") { return total; } - return "" + total + row[key] + (i === row.length - 1 ? "" : ","); + return "" + total + row[key] + (i === row.length - 1 ? "" : _this.config.columnDelimiter); }, ""); if (row.items) { return csv + "\n" + cells + _this._serialize(row.items); } - return csv + "\n" + cells; + return "" + csv + _this.config.rowDelimiter + cells; }, ""); }; return CsvDriver; @@ -4715,7 +5345,7 @@ exports.CsvDriver = CsvDriver; /***/ }), -/* 59 */ +/* 61 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4741,7 +5371,7 @@ exports.blockScreen = blockScreen; /***/ }), -/* 60 */ +/* 62 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -4758,8 +5388,8 @@ var __assign = (this && this.__assign) || function () { return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); -var html_1 = __webpack_require__(3); -var types_1 = __webpack_require__(33); +var html_1 = __webpack_require__(2); +var types_1 = __webpack_require__(35); var DEFAULT_SHOW_DELAY = 750; var DEFAULT_HIDE_DELAY = 200; function findPosition(targetRect, position, width, height) { @@ -4820,7 +5450,7 @@ function showTooltip(node, text, position, css, force) { var rects = node.getBoundingClientRect(); tooltipText.textContent = text; document.body.appendChild(tooltipBox); - tooltipBox.className = "dhx_tooltip" + (force ? " dhx_tooltip--forced" : ""); + tooltipBox.className = "dhx_widget dhx_tooltip" + (force ? " dhx_tooltip--forced" : ""); var _a = tooltipBox.getBoundingClientRect(), width = _a.width, height = _a.height; var _b = findPosition(rects, position, width, height), left = _b.left, top = _b.top, pos = _b.pos; switch (pos) { @@ -4902,7 +5532,7 @@ function tooltip(text, config) { if (hideTimeout) { clearTimeout(hideTimeout); hideTimeout = null; - addListeners(node, text, __assign({}, config, { force: true })); + addListeners(node, text, __assign(__assign({}, config), { force: true })); } else { addListeners(node, text, config); @@ -4930,13 +5560,13 @@ function _mousemove(e) { /***/ }), -/* 61 */ +/* 63 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var types_1 = __webpack_require__(21); +var types_1 = __webpack_require__(22); var ts_data_1 = __webpack_require__(7); var Selection = /** @class */ (function () { function Selection(config, data) { @@ -4949,6 +5579,12 @@ var Selection = /** @class */ (function () { this._data.events.on(ts_data_1.DataEvents.removeAll, function () { _this._selected = []; }); + if (typeof this.config.multiselection === "string") { + var types = ["click", "ctrlClick"]; + if (types.indexOf(this.config.multiselection) === -1) { + this.config.multiselection = false; + } + } this._data.events.on(ts_data_1.DataEvents.afterRemove, function (obj) { _this._selected = _this._selected.filter(function (selectedId) { return selectedId !== obj.id; }); if (_this.config.multiselection && _this.getId().length !== 0) { @@ -5027,7 +5663,7 @@ var Selection = /** @class */ (function () { Selection.prototype._addMulti = function (id, isCtrl, isShift) { var _this = this; var currentSelectedItemIndex = this._data.getIndex(id); - if (this.config.multiselectionMode === "click") { + if (this.config.multiselection === "click" || this.config.multiselection === true) { if (isShift) { this._addWithShift(currentSelectedItemIndex); this.events.fire(types_1.SelectionEvents.afterSelect, [id]); @@ -5038,7 +5674,7 @@ var Selection = /** @class */ (function () { this._lastShiftSelectedIndexes = []; } } - if (this.config.multiselectionMode === "ctrlClick") { + if (this.config.multiselection === "ctrlClick") { if (!isShift && !isCtrl) { this._data.map(function (item) { item.$selected = false; @@ -5118,7 +5754,7 @@ var Selection = /** @class */ (function () { // clean selection this.remove(); // select item - if (this.config && this.config.multiselectionMode === "click") { + if (this.config && this.config.multiselection !== "ctrlClick") { this._selectItem(id); } else { @@ -5151,7 +5787,7 @@ exports.Selection = Selection; /***/ }), -/* 62 */ +/* 64 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5159,16 +5795,16 @@ exports.Selection = Selection; Object.defineProperty(exports, "__esModule", { value: true }); var PopupEvents; (function (PopupEvents) { - PopupEvents["beforeHide"] = "beforehide"; - PopupEvents["beforeShow"] = "beforeshow"; - PopupEvents["afterHide"] = "afterhide"; - PopupEvents["afterShow"] = "aftershow"; + PopupEvents["beforeHide"] = "beforeHide"; + PopupEvents["beforeShow"] = "beforeShow"; + PopupEvents["afterHide"] = "afterHide"; + PopupEvents["afterShow"] = "afterShow"; PopupEvents["click"] = "click"; })(PopupEvents = exports.PopupEvents || (exports.PopupEvents = {})); /***/ }), -/* 63 */ +/* 65 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5188,7 +5824,7 @@ var SliderEvents; /***/ }), -/* 64 */ +/* 66 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5203,7 +5839,7 @@ exports.default = locale; /***/ }), -/* 65 */ +/* 67 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5212,13 +5848,17 @@ Object.defineProperty(exports, "__esModule", { value: true }); var TimepickerEvents; (function (TimepickerEvents) { TimepickerEvents["change"] = "change"; - TimepickerEvents["save"] = "save"; + TimepickerEvents["apply"] = "apply"; + TimepickerEvents["beforeClose"] = "beforeClose"; + TimepickerEvents["afterClose"] = "afterClose"; + // TODO: remove sute_7.0 TimepickerEvents["close"] = "close"; + TimepickerEvents["save"] = "save"; })(TimepickerEvents = exports.TimepickerEvents || (exports.TimepickerEvents = {})); /***/ }), -/* 66 */ +/* 68 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5226,7 +5866,7 @@ var TimepickerEvents; Object.defineProperty(exports, "__esModule", { value: true }); var ViewMode; (function (ViewMode) { - ViewMode["days"] = "calendar"; + ViewMode["calendar"] = "calendar"; ViewMode["years"] = "year"; ViewMode["months"] = "month"; ViewMode["timepicker"] = "timepicker"; @@ -5235,12 +5875,18 @@ var CalendarEvents; (function (CalendarEvents) { CalendarEvents["change"] = "change"; CalendarEvents["beforeChange"] = "beforechange"; + CalendarEvents["modeChange"] = "modeChange"; + CalendarEvents["monthSelected"] = "monthSelected"; + CalendarEvents["yearSelected"] = "yearSelected"; + CalendarEvents["cancelClick"] = "cancelClick"; + CalendarEvents["dateMouseOver"] = "dateMouseOver"; + // TODO: remove sute_7.0 CalendarEvents["dateHover"] = "dateHover"; })(CalendarEvents = exports.CalendarEvents || (exports.CalendarEvents = {})); /***/ }), -/* 67 */ +/* 69 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5248,20 +5894,24 @@ var CalendarEvents; Object.defineProperty(exports, "__esModule", { value: true }); var ColorpickerEvents; (function (ColorpickerEvents) { - ColorpickerEvents["colorChange"] = "colorChange"; - ColorpickerEvents["selectClick"] = "selectClick"; + ColorpickerEvents["change"] = "change"; + ColorpickerEvents["apply"] = "apply"; ColorpickerEvents["cancelClick"] = "cancelClick"; + ColorpickerEvents["modeChange"] = "modeChange"; + // TODO: remove sute_7.0 + ColorpickerEvents["selectClick"] = "selectClick"; + ColorpickerEvents["colorChange"] = "colorChange"; ColorpickerEvents["viewChange"] = "viewChange"; })(ColorpickerEvents = exports.ColorpickerEvents || (exports.ColorpickerEvents = {})); -var ViewsTypes; -(function (ViewsTypes) { - ViewsTypes["palette"] = "palette"; - ViewsTypes["picker"] = "picker"; -})(ViewsTypes = exports.ViewsTypes || (exports.ViewsTypes = {})); +var ViewsMode; +(function (ViewsMode) { + ViewsMode["palette"] = "palette"; + ViewsMode["picker"] = "picker"; +})(ViewsMode = exports.ViewsMode || (exports.ViewsMode = {})); /***/ }), -/* 68 */ +/* 70 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5270,23 +5920,34 @@ Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); var common_1 = __webpack_require__(5); +var html_1 = __webpack_require__(2); var defaultTextTemplate = function (item) { return item.toString(); }; function bottom(points, config, width, height) { - var title = config.title, textPadding = config.textPadding, scalePadding = config.scalePadding, textTemplate = config.textTemplate, showText = config.showText; + var title = config.title, textPadding = config.textPadding, scalePadding = config.scalePadding, textTemplate = config.textTemplate, showText = config.showText, scaleRotate = config.scaleRotate; var template = textTemplate || defaultTextTemplate; var text = []; var extraTittlePadding = 0; if (showText) { extraTittlePadding = textPadding; - text = points.map(function (p) { return p[0] !== 0 ? dom_1.sv("text", { class: "scale-text top-text", x: p[0], y: height + textPadding }, [common_1.verticalCenteredText(template(p[1]))]) - : dom_1.sv("text", { class: "scale-text start-text top-text", x: p[0], y: height + textPadding }, [common_1.verticalCenteredText(template(p[1]))]); }); + var canRotate_1 = scaleRotate && !isNaN(scaleRotate); + var y_1 = height + textPadding; + text = points.map(function (p) { + var x = p[0]; + var transform = canRotate_1 ? "rotate(" + scaleRotate + " " + x + " " + y_1 + ")" : ""; + var classList = ["scale-text", "top-text"]; + if (canRotate_1) { + var angle = scaleRotate % 360; + classList.push(common_1.getClassesForRotateScale(html_1.Position.bottom, angle)); + } + return dom_1.sv("text", { x: x, y: y_1, class: classList.join(" "), transform: transform }, [common_1.verticalCenteredText(template(p[1]))]); + }); } var id = core_1.uid(); var svTitle = null; - var mainLine = dom_1.sv("path", { class: "main-scale", d: "M0 " + height + " H" + (width - 0.5), id: id }); // -0.5 instead of 0, coz stroke-linecap: square and dirrent stroke size + var mainLine = dom_1.sv("path", { class: "main-scale", d: "M0 " + height + " H" + (width - 0.5), id: id }); if (title) { svTitle = dom_1.sv("text", { dx: width / 2, dy: scalePadding + extraTittlePadding }, [ - dom_1.sv("textPath", { href: "#" + id, class: "scale-title" }, title) + dom_1.sv("textPath", { href: "#" + id, class: "scale-title " }, title) ]); } return dom_1.sv("g", [ @@ -5330,14 +5991,24 @@ function bottomGrid(points, width, height, config) { } exports.bottomGrid = bottomGrid; function top(points, config, width, _height) { - var title = config.title, textPadding = config.textPadding, scalePadding = config.scalePadding, textTemplate = config.textTemplate, showText = config.showText; + var title = config.title, textPadding = config.textPadding, scalePadding = config.scalePadding, textTemplate = config.textTemplate, showText = config.showText, scaleRotate = config.scaleRotate; var template = textTemplate || defaultTextTemplate; var text = []; var extraTittlePadding = 0; if (showText) { extraTittlePadding = textPadding; - text = points.map(function (p) { return p[0] !== 0 ? dom_1.sv("text", { x: p[0], y: -textPadding, class: "scale-text" }, [common_1.verticalCenteredText(template(p[1]))]) - : dom_1.sv("text", { x: p[0], y: -textPadding, class: "scale-text start-text" }, [common_1.verticalCenteredText(template(p[1]))]); }); + var canRotate_2 = scaleRotate && !isNaN(scaleRotate); + var y_2 = -textPadding; + text = points.map(function (p) { + var classList = ["scale-text"]; + var x = p[0]; + var transform = canRotate_2 ? "rotate(" + scaleRotate + " " + x + " " + y_2 + ")" : ""; + if (canRotate_2) { + var angle = scaleRotate % 360; + classList.push(common_1.getClassesForRotateScale(html_1.Position.top, angle)); + } + return dom_1.sv("text", { x: x, y: y_2, class: classList.join(" "), transform: transform }, [common_1.verticalCenteredText(template(p[1]))]); + }); } var id = core_1.uid(); var mainLine = dom_1.sv("path", { d: "M0 0 H" + width, class: "main-scale", id: id }); @@ -5383,14 +6054,19 @@ function topGrid(points, _width, height, config) { } exports.topGrid = topGrid; function left(points, config, _width, height) { - var title = config.title, textPadding = config.textPadding, scalePadding = config.scalePadding, textTemplate = config.textTemplate, showText = config.showText; + var title = config.title, textPadding = config.textPadding, scalePadding = config.scalePadding, textTemplate = config.textTemplate, showText = config.showText, scaleRotate = config.scaleRotate; var template = textTemplate || defaultTextTemplate; var text = []; var extraTittlePadding = 0; if (showText) { var style_1 = common_1.getFontStyle("scale-text"); var maxTextWidth_1 = 0; + var canRotate_3 = scaleRotate && !isNaN(scaleRotate); text = points.map(function (p) { + var y = p[0]; + var x = -textPadding; + var transform = canRotate_3 ? "rotate(" + scaleRotate + " " + x + " " + y + ")" : ""; + var classList = ["scale-text"]; var scaleText = template(p[1]); if (title) { var textWidth = common_1.getTextWidth(scaleText, style_1); @@ -5398,7 +6074,14 @@ function left(points, config, _width, height) { maxTextWidth_1 = textWidth; } } - return dom_1.sv("text", { class: "scale-text end-text", x: -textPadding, y: p[0] }, [common_1.verticalCenteredText(scaleText)]); + if (canRotate_3) { + var angle = scaleRotate % 360; + classList.push(common_1.getClassesForRotateScale(html_1.Position.left, angle)); + } + else { + classList.push("end-text"); + } + return dom_1.sv("text", { x: x, y: y, class: classList.join(" "), transform: transform }, [common_1.verticalCenteredText(scaleText)]); }); extraTittlePadding = maxTextWidth_1 + textPadding; } @@ -5451,22 +6134,34 @@ function leftGrid(points, width, height, config) { } exports.leftGrid = leftGrid; function right(points, config, width, height) { - var title = config.title, textPadding = config.textPadding, scalePadding = config.scalePadding, textTemplate = config.textTemplate, showText = config.showText; + var title = config.title, textPadding = config.textPadding, scalePadding = config.scalePadding, textTemplate = config.textTemplate, showText = config.showText, scaleRotate = config.scaleRotate; var template = textTemplate || defaultTextTemplate; var text = []; var extraTittlePadding = 0; if (showText) { var style_2 = common_1.getFontStyle("scale-text"); var maxTextWidth_2 = 0; + var canRotate_4 = scaleRotate && !isNaN(scaleRotate); text = points.map(function (p) { var scaleText = template(p[1]); + var y = p[0]; + var x = width + textPadding; + var transform = canRotate_4 ? "rotate(" + scaleRotate + " " + x + " " + y + ")" : ""; + var classList = ["scale-text"]; if (title) { var textWidth = common_1.getTextWidth(scaleText, style_2); if (maxTextWidth_2 < textWidth) { maxTextWidth_2 = textWidth; } } - return dom_1.sv("text", { x: width + textPadding, class: "scale-text start-text", y: p[0] }, [common_1.verticalCenteredText(scaleText)]); + if (canRotate_4) { + var angle = scaleRotate % 360; + classList.push(common_1.getClassesForRotateScale(html_1.Position.right, angle)); + } + else { + classList.push("start-text"); + } + return dom_1.sv("text", { x: x, y: y, class: classList.join(" "), transform: transform }, [common_1.verticalCenteredText(scaleText)]); }); extraTittlePadding = textPadding + maxTextWidth_2; } @@ -5516,7 +6211,7 @@ exports.rightGrid = rightGrid; /***/ }), -/* 69 */ +/* 71 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5549,7 +6244,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); var common_1 = __webpack_require__(5); var types_1 = __webpack_require__(6); -var ScaleSeria_1 = __webpack_require__(43); +var ScaleSeria_1 = __webpack_require__(46); var Area = /** @class */ (function (_super) { __extends(Area, _super); function Area() { @@ -5633,7 +6328,7 @@ var Area = /** @class */ (function (_super) { tooltip: true, pointType: types_1.PointType.empty }; - this.config = __assign({}, defaults, config); + this.config = __assign(__assign({}, defaults), config); var showTooltip = this.config.tooltip; var point = this.config.pointType; var color = this.config.pointColor || this.config.color; @@ -5647,7 +6342,7 @@ exports.default = Area; /***/ }), -/* 70 */ +/* 72 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5681,7 +6376,7 @@ var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); var common_1 = __webpack_require__(5); var types_1 = __webpack_require__(6); -var ScaleSeria_1 = __webpack_require__(43); +var ScaleSeria_1 = __webpack_require__(46); var Bar = /** @class */ (function (_super) { __extends(Bar, _super); function Bar() { @@ -5731,16 +6426,19 @@ var Bar = /** @class */ (function (_super) { var baseLine = this.config.baseLine; return this._baseLinePosition = baseLine !== undefined ? this.yScale.point(baseLine) * height : height - 1; }; - Bar.prototype._text = function (item, prev) { + Bar.prototype._text = function (item, prev, rotate) { + var x = item[0]; + var y = (prev + item[1]) / 2; + var canRotate = rotate && !isNaN(rotate); return { - x: item[0], - y: (prev + item[1]) / 2, - class: "bar-text" + x: x, y: y, + class: "bar-text", + transform: canRotate ? "rotate(" + rotate + " " + x + " " + y + ")" : "" }; }; Bar.prototype._getForm = function (points, css, _width, height, prev) { var _this = this; - var _a = this.config, fill = _a.fill, alpha = _a.alpha, showText = _a.showText; + var _a = this.config, fill = _a.fill, alpha = _a.alpha, showText = _a.showText, showTextTemplate = _a.showTextTemplate, showTextRotate = _a.showTextRotate; var svg = []; var base = this._base(height); var getPrev = function (index) { return !prev ? base : prev[index][1]; }; @@ -5749,22 +6447,24 @@ var Bar = /** @class */ (function (_super) { "d": _this._path(item, getPrev(index)), "class": css, fill: fill, + "onclick": [_this._handlers.onclick, item[2], _this.config.value], "fill-opacity": alpha }); }); svg.push.apply(svg, series); - if (showText) { + if (showText || showTextTemplate || showTextRotate) { var isWrite_1 = function (item, index) { return Math.abs(getPrev(index) - item[1]) > 16 ? true : false; }; // hide text, where height < 16 var text = points.map(function (item, index) { - return isWrite_1(item, index) ? - dom_1.sv("text", _this._text(item, getPrev(index)), [common_1.verticalCenteredText(_this._getText(item))]) : - null; + var value = _this._getText(item); + return isWrite_1(item, index) + ? dom_1.sv("text", _this._text(item, getPrev(index), showTextRotate), [showTextTemplate ? common_1.verticalCenteredText(showTextTemplate(value)) : common_1.verticalCenteredText(value)]) + : null; }); svg.push.apply(svg, text); } return svg; }; Bar.prototype._getText = function (item) { - return item[3].toString(); + return item[4].toString(); }; Bar.prototype._setDefaults = function (config) { var defaults = { @@ -5774,7 +6474,7 @@ var Bar = /** @class */ (function (_super) { tooltip: true, pointType: types_1.PointType.empty }; - this.config = __assign({}, defaults, config); + this.config = __assign(__assign({}, defaults), config); var showTooltip = this.config.tooltip; var point = this.config.pointType; var color = this.config.pointColor || this.config.color; @@ -5795,7 +6495,7 @@ exports.default = Bar; /***/ }), -/* 71 */ +/* 73 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5848,7 +6548,7 @@ exports.default = spline; /***/ }), -/* 72 */ +/* 74 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5858,6 +6558,10 @@ var ComboboxEvents; (function (ComboboxEvents) { ComboboxEvents["change"] = "change"; ComboboxEvents["open"] = "open"; + ComboboxEvents["input"] = "input"; + ComboboxEvents["beforeClose"] = "beforeClose"; + ComboboxEvents["afterClose"] = "afterClose"; + // TODO: remove sute_7.0 ComboboxEvents["close"] = "close"; })(ComboboxEvents = exports.ComboboxEvents || (exports.ComboboxEvents = {})); var ComboState; @@ -5869,7 +6573,7 @@ var ComboState; /***/ }), -/* 73 */ +/* 75 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -5882,30 +6586,31 @@ exports.default = { /***/ }), -/* 74 */ +/* 76 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var __assign = (this && this.__assign) || function () { - __assign = Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); -}; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var cells_1 = __webpack_require__(52); +var cells_1 = __webpack_require__(54); var main_1 = __webpack_require__(20); -var types_1 = __webpack_require__(11); -var editors_1 = __webpack_require__(184); -function handleMouse(row, col, conf, type, e) { +var types_1 = __webpack_require__(10); +var editors_1 = __webpack_require__(190); +var html_1 = __webpack_require__(2); +function handleMouse(rowStart, colStart, conf, type, e) { + colStart = html_1.locateNodeByClassName(e.target, "dhx_grid-fixed-cols-wrap") ? 0 : colStart; + var target = html_1.locateNodeByClassName(e.target, "dhx_grid-cell"); + if (!target) { + return; + } + var rowNode = target.parentNode; + var bodyNode = rowNode.parentNode; + var colIndex = Array.prototype.indexOf.call(rowNode.childNodes, target); + var col = conf.columns[colStart + colIndex]; + var rowIndex = Array.prototype.indexOf.call(bodyNode.childNodes, rowNode); + var row = conf.data[rowStart + rowIndex]; conf.events.fire(type, [row, col, e]); } function getHandlers(row, column, conf) { @@ -5917,20 +6622,36 @@ function getHandlers(row, column, conf) { oncontextmenu: [handleMouse, row, column, conf, types_1.GridEvents.cellRightClick] }; } +exports.getHandlers = getHandlers; function getTreeCell(content, row, col, conf) { - return dom_1.el(".dhx_grid-cell", __assign({ class: "dhx_tree-cell " + (col.$cellCss[row.id] || "") + " " + (row.$items ? "dhx_grid-expand-cell" : ""), style: { + var isEditable = conf.$editable && conf.$editable.row === row.id && conf.$editable.col === col.id; + var css = ""; + if (conf.dragMode && conf.dragItem === "row") { + css += (row.$drophere && !isEditable ? " dhx_grid-cell--drophere" : "") + + (row.$dragtarget && !isEditable ? " dhx_grid-cell--dragtarget" : "") + + (!isEditable ? " dhx_grid-cell--drag" : ""); + } + var parentPadding = 24 * row.$level; + return dom_1.el(".dhx_grid-cell", { + class: "dhx_tree-cell " + (col.$cellCss[row.id] || "") + " " + (row.$items ? "dhx_grid-expand-cell" : "") + + (" " + (isEditable ? "dhx_tree-editing-cell" : "") + " " + css), + style: { width: col.width, - lineHeight: conf.rowHeight + "px", - paddingLeft: 24 * row.$level - }, dhx_id: row.id }, getHandlers(row, col, conf)), [ + lineHeight: conf.rowHeight - 1 + "px", + padding: !row.$items ? "0 0 0 " + parentPadding + "px" : 0 + } + }, [ row.$items ? dom_1.el(".dhx_grid-expand-cell-icon", { class: row.$opened ? "dxi dxi-chevron-up" : "dxi dxi-chevron-down", dhx_id: row.id, + style: { + padding: row.$level ? "0 4px 0 " + parentPadding + "px" : "0 0 0 4px" + } }) : null, dom_1.el(".dhx_tree-cell", { title: main_1.removeHTMLTags(row[col.id]), style: { - width: col.width - row.$level * 10, + width: "100%", height: "100%", textAlign: "left" } @@ -5938,7 +6659,7 @@ function getTreeCell(content, row, col, conf) { ]); } function getEditorCell(row, col, conf) { - return editors_1.getEditor(row, col, conf).toHTML(); + return editors_1.getEditor(row, col, conf); } function getCells(conf) { if (!conf.data || !conf.columns) { @@ -5947,7 +6668,8 @@ function getCells(conf) { var pos = conf.$positions; var data = conf.data ? conf.data.slice(pos.yStart, pos.yEnd) : []; var columns = conf.columns.slice(pos.xStart, pos.xEnd); - return data.map(function (row) { + return data.map(function (row, index) { + var isLastRow = data.length - 1 === index; var rowCss = ""; if (conf.rowCss) { rowCss = conf.rowCss(row); @@ -5956,28 +6678,62 @@ function getCells(conf) { rowCss += row.$css; } return dom_1.el(".dhx_grid-row", { - "style": { height: conf.rowHeight }, - "dhx_grid-row": row.id, - "class": rowCss + style: { height: isLastRow ? conf.rowHeight + 1 : conf.rowHeight }, + dhx_id: row.id, + class: rowCss, + _key: row.id, + _flags: dom_1.KEYED_LIST }, columns.map(function (col) { - var t = function (text, _row, _col) { return (text || text === 0) ? text : ""; }; - var template = col.template || t; - var content = template(row[col.id], row, col); - // ability to use domvm node as template result - content = typeof content === "string" ? dom_1.el("div.dhx_cell-content", { ".innerHTML": content }) : content; - var css = ((col.$cellCss[row.id] || "") + " dhx_" + col.type + "-cell").replace(/\s+/g, " "); - var isEditable = conf.$editable && conf.$editable.row === row.id && conf.$editable.col === col.id; - if (isEditable) { - content = getEditorCell(row, col, conf); - css += " dhx_grid-cell__editable"; - } - if (conf.type === "tree" && conf.firstColId === col.id) { - return getTreeCell(content, row, col, conf); - } - return dom_1.el(".dhx_grid-cell", __assign({ class: css, style: { - width: col.width, - lineHeight: conf.rowHeight + "px" - }, _key: row.id + col.id }, getHandlers(row, col, conf), { title: main_1.removeHTMLTags(row[col.id]) }), [content]); + if (!col.hidden) { + var defaultTemplate = function (text) { + if (typeof text === "boolean" || col.type === "boolean") { + if (typeof text !== "string") { + return "" + Boolean(text); + } + } + return (text || text === 0) ? text : ""; + }; + var content = col.template ? + col.template(row[col.id], row, col) : + defaultTemplate(row[col.id]); + // content can be a domvm node or a string + if (typeof content === "string") { + content = dom_1.el("div.dhx_cell-content", (conf.htmlEnable && col.htmlEnable !== false) || col.htmlEnable ? { ".innerHTML": content } : content); + } + var css = ((col.$cellCss[row.id] || "") + " dhx_" + col.type + "-cell").replace(/\s+/g, " "); + var colWidth = col.width; + var isEditable = conf.$editable && conf.$editable.row === row.id && conf.$editable.col === col.id; + if (isEditable || (col.type === "boolean" && (conf.editable || col.editable))) { + if (!(conf.splitAt && conf.columns.length !== conf.splitAt && conf.columns.indexOf(col) < conf.splitAt)) { + content = getEditorCell(row, col, conf).toHTML(); + css += " dhx_grid-cell__editable"; + if (conf.splitAt === conf.columns.indexOf(col) + 1) { + colWidth -= 1; + } + } + } + if (conf.type === "tree" && conf.firstColId === col.id) { + return getTreeCell(content, row, col, conf); + } + var colName = void 0; + if (col.type === "boolean") { + colName = core_1.findIndex(col.header, function (item) { return item.text !== undefined; }); + } + if (conf.dragMode && conf.dragItem === "row") { + css += (row.$drophere && !isEditable ? " dhx_grid-cell--drophere" : "") + + (row.$dragtarget && !isEditable ? " dhx_grid-cell--dragtarget" : "") + + (!isEditable ? " dhx_grid-cell--drag" : ""); + } + return dom_1.el(".dhx_grid-cell", { + class: css, + style: { + width: colWidth, + lineHeight: conf.rowHeight - 1 + "px" + }, + _key: col.id, + title: col.type === "boolean" ? colName.text : main_1.removeHTMLTags(typeof content === "string" ? content : row[col.id]) + }, [content]); + } })); }); } @@ -6014,6 +6770,9 @@ function getSpans(conf) { } var currCol = columns[colIndex]; var currRow = conf.data[rowIndex]; + if (currCol.hidden) { + return "continue"; + } var content = spans[i].text ? spans[i].text : currRow[col] === undefined ? "" : currRow[col]; @@ -6022,7 +6781,7 @@ function getSpans(conf) { var template = currCol.template || t; content = template(content, currRow, currCol); content = typeof content === "string" ? dom_1.el("div.dhx_span-cell-content", { ".innerHTML": content }) : content; - var top_1 = conf.rowHeight * rowIndex; + var top_1 = conf.rowHeight * rowIndex - 1; var left = 0; for (var s = colIndex - 1; s >= 0; s--) { left += columns[s].width; @@ -6079,7 +6838,7 @@ exports.getShifts = getShifts; /***/ }), -/* 75 */ +/* 77 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6095,12 +6854,19 @@ var __assign = (this && this.__assign) || function () { }; return __assign.apply(this, arguments); }; +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var cells_1 = __webpack_require__(52); +var cells_1 = __webpack_require__(54); var main_1 = __webpack_require__(20); -var types_1 = __webpack_require__(11); -var content_1 = __webpack_require__(76); +var types_1 = __webpack_require__(10); +var content_1 = __webpack_require__(78); function handleMouse(col, config, type, e) { config.events.fire(type, [col, e]); } @@ -6119,11 +6885,12 @@ function buildRows(columns, name) { } function getCustomContentCell(cell, column, config, rowName, css) { if (css === void 0) { css = ""; } - var rowHeight = config[name + "RowHeight"] || 40; + var rowHeight = (config[rowName + "RowHeight"] - 10 + 1) || 31; var type = column.type ? "dhx_" + column.type + "-cell" : "dhx_string_cell"; + // TODO: over with index of filter inside of header or footer return dom_1.el(".dhx_grid-" + rowName + "-cell.dhx_grid-custom-content-cell." + type, __assign({ class: css, style: { width: column.width, - lineHeight: rowHeight + 1 + "px" + lineHeight: rowHeight + "px" } }, getHandlers(column, rowName, config)), [ content_1.content[cell.content] && content_1.content[cell.content].toHtml(column, config) ]); @@ -6136,7 +6903,7 @@ function getRows(config, rowsConfig) { var columns = config.currentColumns; var rowHeight = config[rowName + "RowHeight"] || 40; var rows = buildRows(columns, rowName); - return rows.map(function (row) { return dom_1.el(".dhx_" + rowName + "-row", { style: { height: rowHeight } }, row.map(function (cell, i) { + return rows.map(function (row, j) { return dom_1.el(".dhx_" + rowName + "-row", { style: { height: rowHeight } }, row.map(function (cell, i) { var css = cell.css || ""; var column = columns[i]; var sortIconCss = "dxi dxi-sort-variant dhx_grid-sort-icon"; @@ -6144,8 +6911,7 @@ function getRows(config, rowsConfig) { sortIconCss += " dhx_grid-sort-icon--" + (config.sortDir || "asc"); css += " dhx_grid-" + rowName + "-cell--sorted "; } - var sortIconVisible = cell.text && config.headerSort && rowName !== "footer"; - // [todo] + var sortIconVisible = main_1.isSortable(config, column) && cell.text && rowName !== "footer"; if (sortIconVisible) { css += " dhx_grid-header-cell--sortable"; } @@ -6155,16 +6921,39 @@ function getRows(config, rowsConfig) { css += " dhx_grid-header-cell--" + (column.type === "number" ? "align_right" : "align_left") + " "; } css += isFirstCol + " " + isLastCol; + var resizable = column.resizable !== undefined ? column.resizable : config.resizable; + if (resizable) { + resizable = dom_1.el("div", { class: "dhx_resizer_grip_wrap" }, [ + dom_1.el("div", { + class: "dhx_resizer_grip", + dhx_resized: column.id, + style: { + height: rows.length * 100 + "%" + } + }, [ + dom_1.el("div", { class: "dhx_resizer_grip_line" }) + ]) + ]); + if (rowName === "footer" || j > 0) { + resizable = null; + } + } if (cell.content) { return getCustomContentCell(cell, column, config, rowName, css); } - return dom_1.el(".dhx_grid-" + rowName + "-cell", __assign({ class: css.trim(), dhx_id: column.id, _key: i, style: { + return !column.hidden ? dom_1.el(".dhx_grid-" + rowName + "-cell", __assign(__assign({ class: css.trim(), dhx_id: column.id, _key: i, style: { width: column.width, lineHeight: rowHeight + 1 + "px" - } }, getHandlers(column, rowName, config), { title: main_1.removeHTMLTags(cell.text) }), [ - dom_1.el("div", { ".innerHTML": cell.text }), - sortIconVisible && dom_1.el("div", { class: sortIconCss }, cell.text) - ]); + } }, getHandlers(column, rowName, config)), { title: main_1.removeHTMLTags(cell.text) }), [ + dom_1.el("div", { + class: "dhx_grid-header-cell-text" + }, [ + dom_1.el("div", { + ".innerHTML": cell.text + }), resizable || null + ]), + sortIconVisible && dom_1.el("div", { class: sortIconCss }) + ]) : null; })); }); } exports.getRows = getRows; @@ -6177,7 +6966,7 @@ function getSpans(config, rowsConfig) { leftShift = 0; return dom_1.el(".dhx_span-row", { style: { top: height * i + "px", height: height } }, row.map(function (cell, cellIdx) { var col = cols[cellIdx]; - leftShift += col.width; + leftShift += col.hidden ? 0 : col.width; var isFirstCol = cellIdx === 0 ? "dhx_first-column-cell" : ""; var isLastCol = (cellIdx === cols.length - 1) || ((cell.colspan || 0) + (cellIdx - 1) >= cols.length - 1) ? "dhx_last-column-cell" : ""; @@ -6185,10 +6974,7 @@ function getSpans(config, rowsConfig) { if (cell.rowspan) { spanHeight = spanHeight * cell.rowspan - 1; } - var sortIconVisible = cell.rowspan - && cell.text - && config.headerSort - && rowsConfig.name !== "footer"; + var sortIconVisible = main_1.isSortable(config, col) && cell.rowspan && cell.text && rowsConfig.name !== "footer"; var sortIconCss = "dxi dxi-sort-variant dhx_grid-sort-icon"; if (config.sortBy && "" + col.id === config.sortBy && !cell.content) { sortIconCss += " dhx_grid-sort-icon--" + (config.sortDir || "asc"); @@ -6200,12 +6986,17 @@ function getSpans(config, rowsConfig) { if (!cell.content) { css += " dhx_grid-header-cell--" + (col.type === "number" ? "align_right" : "align_left") + " "; } - return (cell.colspan || cell.rowspan) ? + var borderLeft = ""; + if (leftShift - col.width > 0) { + borderLeft = "1px solid #e4e4e4"; + } + return (cell.colspan || cell.rowspan) && !col.hidden ? dom_1.el(".dhx_span-cell", { style: { width: cells_1.getWidth(config.columns, cell.colspan, cellIdx), height: spanHeight, left: leftShift - col.width, + borderLeft: borderLeft, top: height * i, lineHeight: spanHeight + "px" }, @@ -6214,7 +7005,7 @@ function getSpans(config, rowsConfig) { dhx_id: col.id }, [ dom_1.el("div", { ".innerHTML": cell.text }), - sortIconVisible && dom_1.el("div", { class: sortIconCss }, cell.text) + sortIconVisible && dom_1.el("div", { class: sortIconCss }) ]) : null; }).filter(function (cell) { return cell; })); @@ -6227,7 +7018,7 @@ function getFixedRows(config, rowsConfig) { var spans = getSpans(config, rowsConfig); var fixedCols = null; if (rowsConfig.name === "footer" && !rowsConfig.sticky) { - fixedCols = config.splitAt >= 0 && getRows(__assign({}, config, { currentColumns: config.columns.slice(0, config.splitAt), $positions: __assign({}, config.$positions, { xStart: 0, xEnd: config.splitAt }) }), rowsConfig); + fixedCols = config.splitAt >= 0 && getRows(__assign(__assign({}, config), { currentColumns: config.columns.slice(0, config.splitAt), $positions: __assign(__assign({}, config.$positions), { xStart: 0, xEnd: config.splitAt }) }), rowsConfig); } var styles = (_a = { position: "sticky" @@ -6243,7 +7034,7 @@ function getFixedRows(config, rowsConfig) { var BORDERS = 2; return dom_1.el(".dhx_" + rowsConfig.name + "-wrapper", { class: rowsConfig.sticky ? "" : "dhx_compatible-" + rowsConfig.name, - style: __assign({}, styles, { left: rowsConfig.sticky ? left : 0, height: config[rowsConfig.name + "Height"], width: rowsConfig.sticky ? config.$totalWidth : rowsConfig.wrapper.width - BORDERS }) + style: __assign(__assign({}, styles), { left: rowsConfig.sticky ? left : 0, height: config[rowsConfig.name + "Height"], width: rowsConfig.sticky ? config.$totalWidth : rowsConfig.wrapper.width - BORDERS }) }, [ dom_1.el(".dhx_grid-" + rowsConfig.name, { style: { @@ -6253,7 +7044,7 @@ function getFixedRows(config, rowsConfig) { width: config.$totalWidth, } }, [ - dom_1.el(".dhx_" + rowsConfig.name + "-rows", rows.slice()), + dom_1.el(".dhx_" + rowsConfig.name + "-rows", __spreadArrays(rows)), dom_1.el(".dhx_" + rowsConfig.name + "-spans", { style: { marginLeft: -rowsConfig.shifts.x @@ -6275,19 +7066,30 @@ exports.getFixedRows = getFixedRows; /***/ }), -/* 76 */ +/* 78 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; +var _this = this; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var types_1 = __webpack_require__(11); +var ts_combobox_1 = __webpack_require__(32); +var ts_data_1 = __webpack_require__(7); +var types_1 = __webpack_require__(10); var inputDelay; function onInput(eventSystem, colId, filter, filterObj, e) { var inputHandler = function () { filterObj.value[colId] = e.target.value; - eventSystem.fire(types_1.GridEvents.headerInput, [e.target.value, colId, filter]); + eventSystem.fire(types_1.GridEvents.filterChange, [e.target.value, colId, filter]); + eventSystem.fire(types_1.GridEvents.headerInput, [e.target.value, colId, filter]); // TODO: remove sute_7.0 }; if (filter === "selectFilter") { inputHandler(); @@ -6354,14 +7156,73 @@ exports.content = { onchange: [onInput, config.events, column.id, "selectFilter", this], _key: column.id, value: this.value[column.id] || "" - }, [ + }, __spreadArrays([ dom_1.el("option", { value: "" }, "") - ].concat(column.$uniqueData.map(function (val) { return val && dom_1.el("option", { value: val }, val); }))) + ], column.$uniqueData.map(function (val) { return val && dom_1.el("option", { value: val }, val); }))) ]); }, match: function (value, match) { return value === match; }, value: {} }, + comboFilter: { + toHtml: function (column, config) { + var combo; + var colId = column.id.toString(); + if (!this.combo[colId]) { + var conf = column.header.filter(function (item) { return item.filterConfig !== undefined; })[0]; + if (conf && conf.filterConfig) { + combo = new ts_combobox_1.Combobox(null, JSON.parse(JSON.stringify(conf.filterConfig))); + } + else { + combo = new ts_combobox_1.Combobox(null, {}); + } + combo.data.parse(column.$uniqueData.map(function (value) { return ({ value: value }); })); + config.events.on(ts_data_1.DataEvents.load, function () { + combo.data.parse(column.$uniqueData.map(function (value) { return ({ value: value }); })); + }); + this.combo[colId] = combo; + combo.events.on("change", function (id) { + if (id) { + var item = void 0; + var value = void 0; + if (combo.data.getItem(id)) { + item = combo.list.selection.getItem(); + value = item.value; + config.events.fire(types_1.GridEvents.filterChange, [value, colId, "comboFilter"]); + config.events.fire(types_1.GridEvents.headerInput, [value, colId, "comboFilter"]); // TODO: remove sute_7.0 + } + else { + config.events.fire(types_1.GridEvents.filterChange, ["", colId, "comboFilter"]); + config.events.fire(types_1.GridEvents.headerInput, ["", colId, "comboFilter"]); // TODO: remove sute_7.0 + } + } + }); + combo.popup.events.on("afterHide", function () { + if (!combo.list.selection.getItem()) { + combo.clear(); + config.events.fire(types_1.GridEvents.filterChange, ["", colId, "comboFilter"]); + config.events.fire(types_1.GridEvents.headerInput, ["", colId, "comboFilter"]); // TODO: remove sute_7.0 + } + }); + } + else { + combo = this.combo[column.id]; + } + return dom_1.inject(combo.getRootView()); + }, + match: function (value, match) { return new RegExp("" + match, "i").test(value) && new RegExp("" + match, "i").exec(value).index === 0; }, + destroy: function () { + var comboFilters = _this.content.comboFilter.combo; + if (comboFilters) { + for (var combo in comboFilters) { + comboFilters[combo].destructor(); + delete comboFilters[combo]; + } + } + }, + value: {}, + combo: {} + }, sum: { calculate: function (_col, roots) { return roots.reduce(function (sum, c) { return sum += parseFloat(c) || 0; }, 0).toFixed(3); }, toHtml: function (column, config) { return applyMathMethod(column, config, this.calculate); } @@ -6402,7 +7263,7 @@ exports.content = { /***/ }), -/* 77 */ +/* 79 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6410,12 +7271,17 @@ exports.content = { Object.defineProperty(exports, "__esModule", { value: true }); var SidebarEvents; (function (SidebarEvents) { + SidebarEvents["beforeCollapse"] = "beforeCollapse"; + SidebarEvents["afterCollapse"] = "afterCollapse"; + SidebarEvents["beforeExpand"] = "beforeExpand"; + SidebarEvents["afterExpand"] = "afterExpand"; + // TODO: remove sute_7.0 SidebarEvents["toggle"] = "toggle"; })(SidebarEvents = exports.SidebarEvents || (exports.SidebarEvents = {})); /***/ }), -/* 78 */ +/* 80 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6431,20 +7297,23 @@ var RenderMode; var TabbarEvents; (function (TabbarEvents) { TabbarEvents["change"] = "change"; + TabbarEvents["beforeClose"] = "beforeClose"; + TabbarEvents["afterClose"] = "afterClose"; + // TODO: remove sute_7.0 TabbarEvents["close"] = "close"; })(TabbarEvents = exports.TabbarEvents || (exports.TabbarEvents = {})); /***/ }), -/* 79 */ +/* 81 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); -var html_1 = __webpack_require__(3); +var events_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var Keymanager_1 = __webpack_require__(13); var EditorMode; (function (EditorMode) { @@ -6554,7 +7423,7 @@ exports.default = new Editor(); /***/ }), -/* 80 */ +/* 82 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6576,47 +7445,59 @@ var TreeEvents; (function (TreeEvents) { TreeEvents["itemClick"] = "itemclick"; TreeEvents["itemDblClick"] = "itemdblclick"; + TreeEvents["itemRightClick"] = "itemrightclick"; + TreeEvents["beforeCollapse"] = "beforeCollapse"; + TreeEvents["afterCollapse"] = "afterCollapse"; + TreeEvents["beforeExpand"] = "beforeExpand"; + TreeEvents["afterExpand"] = "afterExpand"; + // TODO: remove sute_7.0 TreeEvents["itemContextMenu"] = "itemcontextmenu"; })(TreeEvents = exports.TreeEvents || (exports.TreeEvents = {})); /***/ }), -/* 81 */ +/* 83 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -__webpack_require__(82); +__webpack_require__(84); +// HELPERS /* tslint:disable */ -var CssManager_1 = __webpack_require__(83); +var CssManager_1 = __webpack_require__(85); exports.cssManager = CssManager_1.cssManager; -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); exports.EventSystem = events_1.EventSystem; -var ts_vault_1 = __webpack_require__(53); +var dom_1 = __webpack_require__(0); +exports.awaitRedraw = dom_1.awaitRedraw; +exports.resizeHandler = dom_1.resizeHandler; +var ts_vault_1 = __webpack_require__(55); exports.Uploader = ts_vault_1.Uploader; -var ts_layout_1 = __webpack_require__(12); +var ts_data_1 = __webpack_require__(7); +exports.DataCollection = ts_data_1.DataCollection; +exports.TreeCollection = ts_data_1.TreeCollection; +exports.DataProxy = ts_data_1.DataProxy; +exports.dataDrivers = ts_data_1.dataDrivers; +exports.ajax = ts_data_1.ajax; +// WIDGETS +var ts_layout_1 = __webpack_require__(14); exports.Layout = ts_layout_1.Layout; -var ts_list_1 = __webpack_require__(36); +var ts_list_1 = __webpack_require__(38); exports.List = ts_list_1.List; -var ts_calendar_1 = __webpack_require__(28); +var ts_calendar_1 = __webpack_require__(25); exports.Calendar = ts_calendar_1.Calendar; var ts_colorpicker_1 = __webpack_require__(31); exports.Colorpicker = ts_colorpicker_1.Colorpicker; -var ts_chart_1 = __webpack_require__(134); +var ts_chart_1 = __webpack_require__(139); exports.Chart = ts_chart_1.Chart; -var ts_combobox_1 = __webpack_require__(47); +var ts_combobox_1 = __webpack_require__(32); exports.Combobox = ts_combobox_1.Combobox; -var ts_data_1 = __webpack_require__(7); -exports.DataCollection = ts_data_1.DataCollection; -exports.TreeCollection = ts_data_1.TreeCollection; -exports.DataProxy = ts_data_1.DataProxy; -exports.dataDrivers = ts_data_1.dataDrivers; -var ts_dataview_1 = __webpack_require__(160); +var ts_dataview_1 = __webpack_require__(165); exports.DataView = ts_dataview_1.DataView; -var ts_form_1 = __webpack_require__(164); +var ts_form_1 = __webpack_require__(169); exports.Form = ts_form_1.Form; -var ts_grid_1 = __webpack_require__(179); +var ts_grid_1 = __webpack_require__(184); exports.Grid = ts_grid_1.Grid; var ts_message_1 = __webpack_require__(19); exports.message = ts_message_1.message; @@ -6625,33 +7506,34 @@ exports.confirm = ts_message_1.confirm; exports.enableTooltip = ts_message_1.enableTooltip; exports.disableTooltip = ts_message_1.disableTooltip; exports.tooltip = ts_message_1.tooltip; -var ts_menu_1 = __webpack_require__(189); +var ts_menu_1 = __webpack_require__(198); exports.Menu = ts_menu_1.Menu; exports.ContextMenu = ts_menu_1.ContextMenu; -var ts_popup_1 = __webpack_require__(10); +var ts_popup_1 = __webpack_require__(11); exports.Popup = ts_popup_1.Popup; -var ts_ribbon_1 = __webpack_require__(192); +var ts_ribbon_1 = __webpack_require__(201); exports.Ribbon = ts_ribbon_1.Ribbon; -var ts_sidebar_1 = __webpack_require__(194); +var ts_sidebar_1 = __webpack_require__(203); exports.Sidebar = ts_sidebar_1.Sidebar; -var ts_slider_1 = __webpack_require__(30); +var ts_slider_1 = __webpack_require__(40); exports.Slider = ts_slider_1.Slider; -var ts_tabbar_1 = __webpack_require__(196); +var ts_tabbar_1 = __webpack_require__(205); exports.Tabbar = ts_tabbar_1.Tabbar; -var ts_timepicker_1 = __webpack_require__(29); +var ts_timepicker_1 = __webpack_require__(30); exports.Timepicker = ts_timepicker_1.Timepicker; -var ts_toolbar_1 = __webpack_require__(27); +var ts_toolbar_1 = __webpack_require__(29); exports.Toolbar = ts_toolbar_1.Toolbar; -var ts_tree_1 = __webpack_require__(198); +var ts_tree_1 = __webpack_require__(207); exports.Tree = ts_tree_1.Tree; -var ts_window_1 = __webpack_require__(201); +var ts_window_1 = __webpack_require__(210); exports.Window = ts_window_1.Window; +// TOOLS var ts_colorpicker_2 = __webpack_require__(31); -var en_1 = __webpack_require__(34); -var en_2 = __webpack_require__(39); -var en_3 = __webpack_require__(48); -var en_4 = __webpack_require__(73); -var en_5 = __webpack_require__(64); +var en_1 = __webpack_require__(36); +var en_2 = __webpack_require__(42); +var en_3 = __webpack_require__(50); +var en_4 = __webpack_require__(75); +var en_5 = __webpack_require__(66); var w = window; exports.i18n = (w.dhx && w.dhx.i18n) ? w.dhx.i18 : {}; exports.i18n.setLocale = function (component, value) { @@ -6669,13 +7551,13 @@ exports.i18n.timepicker = exports.i18n.timepicker || en_5.default; /***/ }), -/* 82 */ +/* 84 */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin /***/ }), -/* 83 */ +/* 85 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6766,7 +7648,7 @@ exports.cssManager = new CssManager(); /***/ }), -/* 84 */ +/* 86 */ /***/ (function(module, exports) { if (Element && !Element.prototype.matches) { @@ -6778,7 +7660,7 @@ if (Element && !Element.prototype.matches) { /***/ }), -/* 85 */ +/* 87 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== "undefined" && global) || @@ -6834,7 +7716,7 @@ exports._unrefActive = exports.active = function(item) { }; // setimmediate attaches itself to the global object -__webpack_require__(86); +__webpack_require__(88); // On some exotic environments, it's not clear which object `setimmediate` was // able to install onto. Search each possibility in the same order as the // `setimmediate` library. @@ -6845,10 +7727,10 @@ exports.clearImmediate = (typeof self !== "undefined" && self.clearImmediate) || (typeof global !== "undefined" && global.clearImmediate) || (this && this.clearImmediate); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(32))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(33))) /***/ }), -/* 86 */ +/* 88 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) { @@ -7038,10 +7920,10 @@ exports.clearImmediate = (typeof self !== "undefined" && self.clearImmediate) || attachTo.clearImmediate = clearImmediate; }(typeof self === "undefined" ? typeof global === "undefined" ? this : global : self)); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(32), __webpack_require__(87))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(33), __webpack_require__(89))) /***/ }), -/* 87 */ +/* 89 */ /***/ (function(module, exports) { // shim for using process in browser @@ -7231,1779 +8113,80 @@ process.umask = function() { return 0; }; /***/ }), -/* 88 */ +/* 90 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; -/* WEBPACK VAR INJECTION */(function(Promise) { -Object.defineProperty(exports, "__esModule", { value: true }); -var helpers_1 = __webpack_require__(18); -var types_1 = __webpack_require__(17); -var Loader = /** @class */ (function () { - function Loader(parent, changes) { - this._parent = parent; - this._changes = changes; // todo: [dirty] mutation - } - Loader.prototype.load = function (url, driver) { - var _this = this; - return this._parent.loadData = url.load().then(function (data) { - _this._parent.removeAll(); - // const parcedData = this.parse(data, driver); - return _this.parse(data, driver); - }).catch(function (error) { - _this._parent.events.fire(types_1.DataEvents.loadError, [error]); - }); - }; - Loader.prototype.parse = function (data, driver) { - if (driver === void 0) { driver = "json"; } - if (driver === "json" && !helpers_1.hasJsonOrArrayStructure(data)) { - this._parent.events.fire(types_1.DataEvents.loadError, ["Uncaught SyntaxError: Unexpected end of input"]); - } - driver = helpers_1.toDataDriver(driver); - data = driver.toJsonArray(data); - this._parent.$parse(data); - return data; - }; - Loader.prototype.save = function (url) { - var _this = this; - var _loop_1 = function (el) { - if (el.saving || el.pending) { - helpers_1.dhxWarning("item is saving"); - } - else { - var prevEl_1 = this_1._findPrevState(el.id); - if (prevEl_1 && prevEl_1.saving) { - var pending = new Promise(function (res, rej) { - prevEl_1.promise.then(function () { - el.pending = false; - res(_this._setPromise(el, url)); - }).catch(function (err) { - _this._removeFromOrder(prevEl_1); - _this._setPromise(el, url); - helpers_1.dhxWarning(err); - rej(err); - }); - }); - this_1._addToChain(pending); - el.pending = true; - } - else { - this_1._setPromise(el, url); - } - } - }; - var this_1 = this; - for (var _i = 0, _a = this._changes.order; _i < _a.length; _i++) { - var el = _a[_i]; - _loop_1(el); - } - this._parent.saveData.then(function () { - _this._saving = false; - }); - }; - Loader.prototype._setPromise = function (el, url) { - var _this = this; - el.promise = url.save(el.obj, el.status); - el.promise.then(function () { - _this._removeFromOrder(el); - }).catch(function (err) { - el.saving = false; - el.error = true; - helpers_1.dhxError(err); - }); - el.saving = true; - this._saving = true; - this._addToChain(el.promise); - return el.promise; - }; - Loader.prototype._addToChain = function (promise) { - // tslint:disable-next-line:prefer-conditional-expression - if (this._parent.saveData && this._saving) { - this._parent.saveData = this._parent.saveData.then(function () { return promise; }); - } - else { - this._parent.saveData = promise; - } - }; - Loader.prototype._findPrevState = function (id) { - for (var _i = 0, _a = this._changes.order; _i < _a.length; _i++) { - var el = _a[_i]; - if (el.id === id) { - return el; - } - } - return null; - }; - Loader.prototype._removeFromOrder = function (el) { - this._changes.order = this._changes.order.filter(function (item) { return !helpers_1.isEqualObj(item, el); }); - }; - return Loader; -}()); -exports.Loader = Loader; +/** +* Copyright (c) 2017, Leon Sorokin +* All rights reserved. (MIT Licensed) +* +* domvm.js (DOM ViewModel) +* A thin, fast, dependency-free vdom view layer +* @preserve https://github.com/leeoniya/domvm (v3.2.6, micro build) +*/ -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(14))) +(function (global, factory) { + true ? module.exports = factory() : + undefined; +}(this, (function () { 'use strict'; -/***/ }), -/* 89 */ -/***/ (function(module, exports, __webpack_require__) { +// NOTE: if adding a new *VNode* type, make it < COMMENT and renumber rest. +// There are some places that test <= COMMENT to assert if node is a VNode -"use strict"; +// VNode types +var ELEMENT = 1; +var TEXT = 2; +var COMMENT = 3; -Object.defineProperty(exports, "__esModule", { value: true }); -var xml_1 = __webpack_require__(90); -var ARRAY_NAME = "items"; -var ITEM_NAME = "item"; -var XMLDriver = /** @class */ (function () { - function XMLDriver() { - } - XMLDriver.prototype.toJsonArray = function (data) { - return this.getRows(data); - }; - XMLDriver.prototype.serialize = function (data) { - return xml_1.jsonToXML(data); - }; - XMLDriver.prototype.getFields = function (row) { - return row; - }; - XMLDriver.prototype.getRows = function (data) { - if (typeof data === "string") { - data = this._fromString(data); - } - var childNodes = data.childNodes && data.childNodes[0] && data.childNodes[0].childNodes; - if (!childNodes || !childNodes.length) { - return null; - } - return this._getRows(childNodes); - }; - XMLDriver.prototype._getRows = function (nodes) { - var result = []; - for (var i = 0; i < nodes.length; i++) { - if (nodes[i].tagName === ITEM_NAME) { - result.push(this._nodeToJS(nodes[i])); - } - } - return result; - }; - XMLDriver.prototype._fromString = function (data) { - return (new DOMParser()).parseFromString(data, "text/xml"); - }; - XMLDriver.prototype._nodeToJS = function (node) { - var result = {}; - if (this._haveAttrs(node)) { - var attrs = node.attributes; - for (var i = 0; i < attrs.length; i++) { - var _a = attrs[i], name_1 = _a.name, value = _a.value; - result[name_1] = this._toType(value); - } - } - if (node.nodeType === 3) { - result.value = result.value || this._toType(node.textContent); - return result; - } - var childNodes = node.childNodes; - if (childNodes) { - for (var i = 0; i < childNodes.length; i++) { - var subNode = childNodes[i]; - var tag = subNode.tagName; - if (!tag) { - continue; - } - if (tag === ARRAY_NAME && subNode.childNodes) { - result[tag] = this._getRows(subNode.childNodes); - } - else { - if (this._haveAttrs(subNode)) { - result[tag] = this._nodeToJS(subNode); - } - else { - result[tag] = this._toType(subNode.textContent); - } - } - } - } - return result; - }; - XMLDriver.prototype._toType = function (val) { - if (val === "false" || val === "true") { - return val === "true"; - } - if (!isNaN(val)) { - return Number(val); - } - return val; - }; - XMLDriver.prototype._haveAttrs = function (node) { - return node.attributes && node.attributes.length; - }; - return XMLDriver; -}()); -exports.XMLDriver = XMLDriver; +// placeholder types +var VVIEW = 4; +var VMODEL = 5; +var ENV_DOM = typeof window !== "undefined"; +var win = ENV_DOM ? window : {}; +var rAF = win.requestAnimationFrame; -/***/ }), -/* 90 */ -/***/ (function(module, exports, __webpack_require__) { +var emptyObj = {}; -"use strict"; +function noop() {} -Object.defineProperty(exports, "__esModule", { value: true }); -var INDENT_STEP = 4; -function jsonToXML(data, root) { - if (root === void 0) { root = "root"; } - var result = "\n<" + root + ">"; - for (var i = 0; i < data.length; i++) { - result += "\n" + itemToXML(data[i]); - } - return result + ("\n"); +var isArr = Array.isArray; + +function isSet(val) { + return val != null; } -exports.jsonToXML = jsonToXML; -function ws(count) { - return " ".repeat(count); + +function isPlainObj(val) { + return val != null && val.constructor === Object; // && typeof val === "object" } -function itemToXML(item, indent) { - if (indent === void 0) { indent = INDENT_STEP; } - var result = ws(indent) + "\n"; - for (var key in item) { - if (Array.isArray(item[key])) { - result += ws(indent + INDENT_STEP) + ("<" + key + ">\n"); - result += item[key].map(function (subItem) { return itemToXML(subItem, indent + INDENT_STEP * 2); }).join("\n") + "\n"; - result += ws(indent + INDENT_STEP) + ("\n"); - } - else { - result += ws(indent + INDENT_STEP) + ("<" + key + ">" + item[key] + "\n"); - } - } - result += ws(indent) + ""; - return result; + +function insertArr(targ, arr, pos, rem) { + targ.splice.apply(targ, [pos, rem].concat(arr)); } +function isVal(val) { + var t = typeof val; + return t === "string" || t === "number"; +} -/***/ }), -/* 91 */ -/***/ (function(module, exports, __webpack_require__) { +function isFunc(val) { + return typeof val === "function"; +} -"use strict"; +function isProm(val) { + return typeof val === "object" && isFunc(val.then); +} -Object.defineProperty(exports, "__esModule", { value: true }); -var helpers_1 = __webpack_require__(18); -var Sort = /** @class */ (function () { - function Sort() { - } - Sort.prototype.sort = function (array, by) { - var _this = this; - if (by.rule && typeof by.rule === "function") { - this._sort(array, by); - } - else if (by.by) { - by.rule = function (a, b) { - var aa = _this._checkVal(by.as, a[by.by]); - var bb = _this._checkVal(by.as, b[by.by]); - return helpers_1.naturalCompare(aa.toString(), bb.toString()); - }; - this._sort(array, by); - } - }; - Sort.prototype._checkVal = function (method, val) { - return method ? method.call(this, val) : val; - }; - Sort.prototype._sort = function (arr, conf) { - var _this = this; - var dir = { - asc: 1, - desc: -1 - }; - return arr.sort(function (a, b) { - return conf.rule.call(_this, a, b) * (dir[conf.dir] || dir.asc); - }); - }; - return Sort; -}()); -exports.Sort = Sort; -/***/ }), -/* 92 */ -/***/ (function(module, exports, __webpack_require__) { +function assignObj(targ) { + var args = arguments; -"use strict"; + for (var i = 1; i < args.length; i++) + { for (var k in args[i]) + { targ[k] = args[i][k]; } } -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -var core_1 = __webpack_require__(1); -var datacollection_1 = __webpack_require__(55); -var dataproxy_1 = __webpack_require__(25); -var helpers_1 = __webpack_require__(18); -var types_1 = __webpack_require__(17); -function addToOrder(store, obj, parent, index) { - if (index !== undefined && index !== -1 && store[parent] && store[parent][index]) { - store[parent].splice(index, 0, obj); - } - else { - if (!store[parent]) { - store[parent] = []; - } - store[parent].push(obj); - } -} -var TreeCollection = /** @class */ (function (_super) { - __extends(TreeCollection, _super); - function TreeCollection(config, events) { - var _a; - var _this = _super.call(this, config, events) || this; - var root = _this._root = "_ROOT_" + core_1.uid(); - _this._childs = (_a = {}, _a[root] = [], _a); - _this._initChilds = null; - return _this; - } - TreeCollection.prototype.add = function (obj, index, parent) { - var _this = this; - if (index === void 0) { index = -1; } - if (parent === void 0) { parent = this._root; } - if (typeof obj !== "object") { - obj = { - value: obj - }; - } - if (Array.isArray(obj)) { - obj.map(function (element, key) { - if (key > 0 && index !== -1) { - index = index + 1; - } - element.parent = element.parent ? element.parent.toString() : parent; - var id = _super.prototype.add.call(_this, element, index); - if (Array.isArray(element.items)) { - for (var _i = 0, _a = element.items; _i < _a.length; _i++) { - var item = _a[_i]; - _this.add(item, -1, element.id); - } - } - return id; - }); - } - else { - obj.parent = obj.parent ? obj.parent.toString() : parent; - var id = _super.prototype.add.call(this, obj, index); - if (Array.isArray(obj.items)) { - for (var _i = 0, _a = obj.items; _i < _a.length; _i++) { - var item = _a[_i]; - this.add(item, -1, obj.id); - } - } - return id; - } - }; - TreeCollection.prototype.getRoot = function () { - return this._root; - }; - TreeCollection.prototype.getParent = function (id, asObj) { - if (asObj === void 0) { asObj = false; } - if (!this._pull[id]) { - return null; - } - var parent = this._pull[id].parent; - return asObj ? this._pull[parent] : parent; - }; - TreeCollection.prototype.getItems = function (id) { - if (this._childs && this._childs[id]) { - return this._childs[id]; - } - return []; - }; - TreeCollection.prototype.getLength = function (id) { - if (id === void 0) { id = this._root; } - if (!this._childs[id]) { - return null; - } - return this._childs[id].length; - }; - TreeCollection.prototype.removeAll = function (id) { - var _a; - if (id) { - var childs = this._childs[id].slice(); - for (var _i = 0, childs_1 = childs; _i < childs_1.length; _i++) { - var child = childs_1[_i]; - this.remove(child.id); - } - } - else { - _super.prototype.removeAll.call(this); - var root = this._root; - this._initChilds = null; - this._childs = (_a = {}, _a[root] = [], _a); - } - }; - TreeCollection.prototype.getIndex = function (id) { - var parent = this.getParent(id); - if (!parent || !this._childs[parent]) { - return -1; - } - return core_1.findIndex(this._childs[parent], function (item) { return item.id === id; }); - }; - TreeCollection.prototype.sort = function (by) { - var _this = this; - if (!by) { - this._childs = {}; - // [dirty] - this._parse_data(Object.keys(this._pull).map(function (key) { return _this._pull[key]; })); - if (this._filters) { - for (var key in this._filters) { - var filter = this._filters[key]; - this.filter(filter.rule, filter.config); - } - } - } - else { - for (var key in this._childs) { - this._sort.sort(this._childs[key], by); - } - if (this._initChilds && Object.keys(this._initChilds).length) { - for (var key in this._initChilds) { - this._sort.sort(this._initChilds[key], by); - } - } - } - this.events.fire(types_1.DataEvents.change); - }; - TreeCollection.prototype.map = function (cb, parent, direct) { - if (parent === void 0) { parent = this._root; } - if (direct === void 0) { direct = true; } - var result = []; - if (!this.haveItems(parent)) { - return result; - } - for (var i = 0; i < this._childs[parent].length; i++) { - result.push(cb.call(this, this._childs[parent][i], i)); - if (direct) { - var childResult = this.map(cb, this._childs[parent][i].id, direct); - result = result.concat(childResult); - } - } - return result; - }; - TreeCollection.prototype.filter = function (rule, config) { - if (config === void 0) { config = {}; } - if (!rule) { - this.restoreOrder(); - return; - } - if (!this._initChilds) { - this._initChilds = this._childs; - } - config.type = config.type || types_1.TreeFilterType.leafs; - // [todo] we can store multiple filter rules, like in datacollection - this._filters = {}; - this._filters._ = { - rule: rule, - config: config - }; - var newChilds = {}; - this._recursiveFilter(rule, config, this._root, 0, newChilds); - var parents = []; - var _loop_1 = function (i) { - if (newChilds[i].length > 0 && newChilds[i] !== newChilds[this_1.getRoot()]) { - var item = newChilds[this_1.getRoot()].find(function (element) { - if (element.id === i) { - return element; - } - }); - if (item) { - parents.push(item); - } - } - }; - var this_1 = this; - for (var i in newChilds) { - _loop_1(i); - } - newChilds[this.getRoot()] = parents; - this._childs = newChilds; - this.events.fire(types_1.DataEvents.change); - }; - TreeCollection.prototype.restoreOrder = function () { - if (this._initChilds) { - this._childs = this._initChilds; - this._initChilds = null; - } - this.events.fire(types_1.DataEvents.change); - }; - TreeCollection.prototype.copy = function (id, index, target, targetId) { - if (target === void 0) { target = this; } - if (targetId === void 0) { targetId = this._root; } - if (!this.exists(id)) { - return null; - } - var currentChilds = this._childs[id]; - if (target === this && !this.canCopy(id, targetId)) { - return null; - } - var itemCopy = helpers_1.copyWithoutInner(this.getItem(id), { items: true }); - if (target.exists(id)) { - itemCopy.id = core_1.uid(); - } - if (!helpers_1.isTreeCollection(target)) { - target.add(itemCopy, index); - return; - } - if (this.exists(id)) { - itemCopy.parent = targetId; - target.add(itemCopy, index); - id = itemCopy.id; - } - if (currentChilds) { - for (var _i = 0, currentChilds_1 = currentChilds; _i < currentChilds_1.length; _i++) { - var child = currentChilds_1[_i]; - var childId = child.id; - var childIndex = this.getIndex(childId); - this.copy(childId, childIndex, target, id); - } - } - return id; - }; - TreeCollection.prototype.move = function (id, index, target, targetId) { - if (target === void 0) { target = this; } - if (targetId === void 0) { targetId = this._root; } - if (!this.exists(id)) { - return null; - } - if (target !== this) { - if (!helpers_1.isTreeCollection(target)) { // move to datacollection - target.add(helpers_1.copyWithoutInner(this.getItem(id)), index); - this.remove(id); - return; - } - var returnId = this.copy(id, index, target, targetId); - this.remove(id); - return returnId; - } - // move inside - if (!this.canCopy(id, targetId)) { - return null; - } - var parent = this.getParent(id); - var parentIndex = this.getIndex(id); - // get item from parent array and move to target array - var spliced = this._childs[parent].splice(parentIndex, 1)[0]; - spliced.parent = targetId; // need for next moving, ... not best solution, may be full method for get item - if (!this._childs[parent].length) { - delete this._childs[parent]; - } - if (!this.haveItems(targetId)) { - this._childs[targetId] = []; - } - if (index === -1) { - index = this._childs[targetId].push(spliced); - } - else { - this._childs[targetId].splice(index, 0, spliced); - } - this.events.fire(types_1.DataEvents.change); - return id; - }; - TreeCollection.prototype.eachChild = function (id, cb, direct, checkItem) { - if (direct === void 0) { direct = true; } - if (checkItem === void 0) { checkItem = function () { return true; }; } - if (!this.haveItems(id)) { - return; - } - for (var i = 0; i < this._childs[id].length; i++) { - cb.call(this, this._childs[id][i], i); - if (direct && checkItem(this._childs[id][i])) { - this.eachChild(this._childs[id][i].id, cb, direct, checkItem); - } - } - }; - TreeCollection.prototype.getNearId = function (id) { - return id; // for selection - }; - TreeCollection.prototype.loadItems = function (id, driver) { - var _this = this; - if (driver === void 0) { driver = "json"; } - var url = this.config.autoload + "?id=" + id; - var proxy = new dataproxy_1.DataProxy(url); - proxy.load().then(function (data) { - driver = helpers_1.toDataDriver(driver); - data = driver.toJsonArray(data); - _this._parse_data(data, id); - _this.events.fire(types_1.DataEvents.change); - }); - }; - TreeCollection.prototype.refreshItems = function (id, driver) { - if (driver === void 0) { driver = "json"; } - this.removeAll(id); - this.loadItems(id, driver); - }; - TreeCollection.prototype.eachParent = function (id, cb, self) { - if (self === void 0) { self = false; } - var item = this.getItem(id); - if (!item) { - return; - } - if (self) { - cb.call(this, item); - } - if (item.parent === this._root) { - return; - } - var parent = this.getItem(item.parent); - cb.call(this, parent); - this.eachParent(item.parent, cb); - }; - TreeCollection.prototype.haveItems = function (id) { - return id in this._childs; - }; - TreeCollection.prototype.canCopy = function (id, target) { - if (id === target) { - return false; - } - var canCopy = true; - this.eachParent(target, function (item) { return item.id === id ? canCopy = false : null; }); // locate return string - return canCopy; - }; - TreeCollection.prototype.serialize = function (driver, checkItem) { - if (driver === void 0) { driver = types_1.DataDriver.json; } - var data = this._serialize(this._root, checkItem); - var dataDriver = helpers_1.toDataDriver(driver); - if (dataDriver) { - return dataDriver.serialize(data); - } - }; - TreeCollection.prototype.getId = function (index, parent) { - if (parent === void 0) { parent = this._root; } - if (!this._childs[parent] || !this._childs[parent][index]) { - return; - } - return this._childs[parent][index].id; - }; - TreeCollection.prototype._removeAll = function (id) { - var _a; - if (id) { - var childs = this._childs[id].slice(); - for (var _i = 0, childs_2 = childs; _i < childs_2.length; _i++) { - var child = childs_2[_i]; - this.remove(child.id); - } - } - else { - _super.prototype._removeAll.call(this); - var root = this._root; - this._initChilds = null; - this._childs = (_a = {}, _a[root] = [], _a); - } - }; - TreeCollection.prototype._removeCore = function (id) { - if (this._pull[id]) { - var parent_1 = this.getParent(id); - this._childs[parent_1] = this._childs[parent_1].filter(function (item) { return item.id !== id; }); - if (parent_1 !== this._root && !this._childs[parent_1].length) { - delete this._childs[parent_1]; - } - if (this._initChilds && this._initChilds[parent_1]) { - this._initChilds[parent_1] = this._initChilds[parent_1].filter(function (item) { return item.id !== id; }); - if (parent_1 !== this._root && !this._initChilds[parent_1].length) { - delete this._initChilds[parent_1]; - } - } - this._fastDeleteChilds(this._childs, id); - if (this._initChilds) { - this._fastDeleteChilds(this._initChilds, id); - } - } - }; - TreeCollection.prototype._addToOrder = function (_order, obj, index) { - var childs = this._childs; - var initChilds = this._initChilds; - var parent = obj.parent; - this._pull[obj.id] = obj; - addToOrder(childs, obj, parent, index); - if (initChilds) { - addToOrder(initChilds, obj, parent, index); - } - }; - TreeCollection.prototype._parse_data = function (data, parent) { - if (parent === void 0) { parent = this._root; } - for (var _i = 0, data_1 = data; _i < data_1.length; _i++) { - var obj = data_1[_i]; - if (this.config.init) { - obj = this.config.init(obj); - } - if (typeof obj !== "object") { - obj = { - value: obj - }; - } - obj.id = obj.id ? obj.id.toString() : core_1.uid(); - obj.parent = obj.parent ? obj.parent.toString() : parent; - this._pull[obj.id] = obj; - if (!this._childs[obj.parent]) { - this._childs[obj.parent] = []; - } - this._childs[obj.parent].push(obj); - if (obj.items && obj.items instanceof Object) { - this._parse_data(obj.items, obj.id); - } - } - }; - TreeCollection.prototype._fastDeleteChilds = function (target, id) { - if (this._pull[id]) { - delete this._pull[id]; - } - if (!target[id]) { - return; - } - for (var i = 0; i < target[id].length; i++) { - this._fastDeleteChilds(target, target[id][i].id); - } - delete target[id]; - }; - TreeCollection.prototype._recursiveFilter = function (rule, config, current, level, newChilds) { - var _this = this; - var childs = this._childs[current]; - if (!childs) { - return; - } - var condition = function (item) { - switch (config.type) { - case types_1.TreeFilterType.all: { - return true; - } - case types_1.TreeFilterType.level: { - return level === config.level; - } - case types_1.TreeFilterType.leafs: { - return !_this.haveItems(item.id); - } - } - }; - if (typeof rule === "function") { - var customRule = function (item) { return !condition(item) || rule(item); }; - var filtered = childs.filter(customRule); - if (filtered.length) { - newChilds[current] = filtered; - } - } - else if (rule.by && rule.match) { - var customRule = function (item) { return !condition(item) || item[rule.by].toString().toLowerCase().indexOf(rule.match.toString().toLowerCase()) !== -1; }; - newChilds[current] = childs.filter(customRule); - } - for (var _i = 0, childs_3 = childs; _i < childs_3.length; _i++) { - var child = childs_3[_i]; - this._recursiveFilter(rule, config, child.id, level + 1, newChilds); - } - }; - TreeCollection.prototype._serialize = function (parent, fn) { - var _this = this; - if (parent === void 0) { parent = this._root; } - return this.map(function (item) { - var itemCopy = {}; - for (var key in item) { - if (key === "parent" || key === "items") { - continue; - } - itemCopy[key] = item[key]; - } - if (fn) { - itemCopy = fn(itemCopy); - } - if (_this.haveItems(item.id)) { - itemCopy.items = _this._serialize(item.id, fn); - } - return itemCopy; - }, parent, false); - }; - return TreeCollection; -}(datacollection_1.DataCollection)); -exports.TreeCollection = TreeCollection; - - -/***/ }), -/* 93 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var html_1 = __webpack_require__(3); -var CollectionStore_1 = __webpack_require__(94); -var types_1 = __webpack_require__(17); -var helpers_1 = __webpack_require__(18); -function getPosition(e) { - var y = e.clientY; - var element = html_1.locateNode(e); - if (!element) { - return null; - } - var treeLine = element.childNodes[0]; - var _a = treeLine.getBoundingClientRect(), top = _a.top, height = _a.height; - return (y - top) / height; -} -function dragEventContent(element, elements) { - var rect = element.getBoundingClientRect(); - var ghost = document.createElement("div"); - var clone = element.cloneNode(true); - clone.style.width = rect.width + "px"; - clone.style.height = rect.height + "px"; - clone.style.maxHeight = rect.height + "px"; - clone.style.opacity = "0.6"; - ghost.appendChild(clone); - if (elements && elements.length) { - elements.forEach(function (node, key) { - var nodeClone = node.cloneNode(true); - nodeClone.style.width = rect.width + "px"; - nodeClone.style.height = rect.height + "px"; - nodeClone.style.maxHeight = rect.height + "px"; - nodeClone.style.top = ((key + 1) * 12 - rect.height) - (rect.height * key) + "px"; - nodeClone.style.left = (key + 1) * 12 + "px"; - nodeClone.style.opacity = "0.6"; - nodeClone.style.zIndex = "" + (-key - 1); - ghost.appendChild(nodeClone); - }); - } - ghost.className = "dhx_drag-ghost"; - ghost.style.position = "absolute"; - ghost.style.pointerEvents = "none"; - return ghost; -} -var DragManager = /** @class */ (function () { - function DragManager() { - var _this = this; - this._transferData = {}; - this._canMove = true; - this._selectedIds = []; - this._onMouseMove = function (e) { - if (!_this._transferData.id) { - return; - } - var pageX = e.pageX, pageY = e.pageY; - if (!_this._transferData.ghost) { - if (Math.abs(_this._transferData.x - pageX) < 3 && Math.abs(_this._transferData.y - pageY) < 3) { - return; - } - else { - var ghost = _this._onDragStart(_this._transferData.id, _this._transferData.targetId); - if (!ghost) { - _this._endDrop(); - return; - } - else { - _this._transferData.ghost = ghost; - document.body.appendChild(_this._transferData.ghost); - } - } - } - _this._moveGhost(pageX, pageY); - _this._onDrag(e); - }; - this._onMouseUp = function () { - if (!_this._transferData.x) { - return; - } - if (_this._transferData.ghost) { - _this._removeGhost(); - _this._onDrop(); - } - else { - _this._endDrop(); - } - document.removeEventListener("mousemove", _this._onMouseMove); - document.removeEventListener("mouseup", _this._onMouseUp); - }; - } - DragManager.prototype.setItem = function (id, item) { - CollectionStore_1.collectionStore.setItem(id, item); - }; - DragManager.prototype.onMouseDown = function (e, selectedIds, itemsForGhost) { - if (e.which !== 1) { - return; - } - e.preventDefault(); - document.addEventListener("mousemove", this._onMouseMove); - document.addEventListener("mouseup", this._onMouseUp); - var item = html_1.locateNode(e, "dhx_id"); - var id = item && item.getAttribute("dhx_id"); - var targetId = html_1.locate(e, "dhx_widget_id"); - if (selectedIds && selectedIds.indexOf(id) !== -1 && selectedIds.length > 1) { - this._selectedIds = selectedIds; - this._itemsForGhost = itemsForGhost; - } - else { - this._selectedIds = []; - this._itemsForGhost = null; - } - if (id && targetId) { - var _a = html_1.getBox(item), left = _a.left, top_1 = _a.top; - this._transferData.initXOffset = e.pageX - left; - this._transferData.initYOffset = e.pageY - top_1; - this._transferData.x = e.pageX; - this._transferData.y = e.pageY; - this._transferData.targetId = targetId; - this._transferData.id = id; - this._transferData.item = item; - } - }; - DragManager.prototype._moveGhost = function (x, y) { - if (this._transferData.ghost) { - this._transferData.ghost.style.left = x - this._transferData.initXOffset + "px"; - this._transferData.ghost.style.top = y - this._transferData.initYOffset + "px"; - } - }; - DragManager.prototype._removeGhost = function () { - document.body.removeChild(this._transferData.ghost); - }; - DragManager.prototype._onDrop = function () { - if (!this._canMove) { - this._endDrop(); - return; - } - var target = CollectionStore_1.collectionStore.getItem(this._lastCollectionId); - var config = target && target.config; - if (!target || config.dragMode === types_1.DragMode.source) { - this._endDrop(); - return; - } - if (target.events.fire(types_1.DragEvents.beforeDrop, [this._lastId, this._transferData.target])) { - var to = { - id: this._lastId, - target: target - }; - var from = { - id: this._transferData.id, - target: this._transferData.target - }; - this._move(from, to); - to.target.events.fire(types_1.DragEvents.dropComplete, [to.id, this._transferData.dropPosition]); - } - this._endDrop(); - }; - DragManager.prototype._onDragStart = function (id, targetId) { - var target = CollectionStore_1.collectionStore.getItem(targetId); - var config = target.config; - if (config.dragMode === types_1.DragMode.target) { - return null; - } - var item = target.data.getItem(id); - var ghost = dragEventContent(this._transferData.item, this._itemsForGhost); - var ans = target.events.fire(types_1.DragEvents.beforeDrag, [item, ghost]); - if (!ans || !id) { - return null; - } - target.events.fire(types_1.DragEvents.dragStart, [id, this._selectedIds]); - this._toggleTextSelection(true); - this._transferData.target = target; - this._transferData.dragConfig = config; - return ghost; - }; - DragManager.prototype._onDrag = function (e) { - var clientX = e.clientX, clientY = e.clientY; - var element = document.elementFromPoint(clientX, clientY); - var collectionId = html_1.locate(element, "dhx_widget_id"); - if (!collectionId) { - if (this._canMove) { - this._cancelCanDrop(); - } - return; - } - var target = CollectionStore_1.collectionStore.getItem(collectionId); - var id = html_1.locate(element, "dhx_id"); - if (!id) { - this._cancelCanDrop(); - this._lastCollectionId = collectionId; - this._lastId = null; - this._canDrop(); - return; - } - if (target.config.dropBehaviour === types_1.DropBehaviour.complex) { - var pos = getPosition(e); - if (pos <= 0.25) { - this._transferData.dropPosition = types_1.DropPosition.top; - } - else if (pos >= 0.75) { - this._transferData.dropPosition = types_1.DropPosition.bot; - } - else { - this._transferData.dropPosition = types_1.DropPosition.in; - } - } - else if (this._lastId === id && this._lastCollectionId === collectionId) { - return; - } - var from = { - id: this._transferData.id, - target: this._transferData.target - }; - if (target.config.dragMode === "source") { - return; - } - from.target.events.fire(types_1.DragEvents.dragOut, [id, target]); - if (collectionId !== this._transferData.targetId || !helpers_1.isTreeCollection(from.target.data) || - (helpers_1.isTreeCollection(from.target.data) && from.target.data.canCopy(from.id, id))) { - this._cancelCanDrop(); // clear last - this._lastId = id; - this._lastCollectionId = collectionId; - var canMove = from.target.events.fire(types_1.DragEvents.dragIn, [id, this._transferData.dropPosition, CollectionStore_1.collectionStore.getItem(collectionId)]); - if (canMove) { - this._canDrop(); - } - } - else { - this._cancelCanDrop(); - } - }; - DragManager.prototype._move = function (from, to) { - var fromData = from.target.data; - var toData = to.target.data; - var index = 0; - var targetId = to.id; - var behaviour = helpers_1.isTreeCollection(toData) ? to.target.config.dropBehaviour : undefined; - switch (behaviour) { - case types_1.DropBehaviour.child: - break; - case types_1.DropBehaviour.sibling: - targetId = toData.getParent(targetId); - index = toData.getIndex(to.id) + 1; - break; - case types_1.DropBehaviour.complex: - var dropPosition = this._transferData.dropPosition; - if (dropPosition === types_1.DropPosition.top) { - targetId = toData.getParent(targetId); - index = toData.getIndex(to.id); - } - else if (dropPosition === types_1.DropPosition.bot) { - targetId = toData.getParent(targetId); - index = toData.getIndex(to.id) + 1; - } - break; - default: - // list move - if (!to.id) { - index = -1; - } - else if (from.target === to.target && toData.getIndex(from.id) < toData.getIndex(to.id)) { - index = toData.getIndex(to.id) - 1; - } - else { - index = toData.getIndex(to.id); - } - } - if (this._transferData.dragConfig.dragCopy) { - if (this._selectedIds instanceof Array && this._selectedIds.length > 1) { - this._selectedIds.map(function (selctedId) { - fromData.copy(selctedId, index, toData, targetId); - if (index > -1) { - index++; - } - }); - } - else { - fromData.copy(from.id, index, toData, targetId); - } - } - else { - if (this._selectedIds instanceof Array && this._selectedIds.length > 1) { - this._selectedIds.map(function (selctedId) { - fromData.move(selctedId, index, toData, targetId); - if (index > -1) { - index++; - } - }); - } - else { - fromData.move(from.id, index, toData, targetId); // typescript bug?? - } - } - }; - DragManager.prototype._endDrop = function () { - this._toggleTextSelection(false); - if (this._transferData.target) { - this._transferData.target.events.fire(types_1.DragEvents.dragEnd, [this._transferData.id, this._selectedIds]); - } - this._cancelCanDrop(); - this._canMove = true; - this._transferData = {}; - this._lastId = null; - this._lastCollectionId = null; - }; - DragManager.prototype._cancelCanDrop = function () { - this._canMove = false; - var collection = CollectionStore_1.collectionStore.getItem(this._lastCollectionId); - if (collection && this._lastId) { - collection.events.fire(types_1.DragEvents.cancelDrop, [this._lastId]); - } - this._lastCollectionId = null; - this._lastId = null; - }; - DragManager.prototype._canDrop = function () { - this._canMove = true; - var target = CollectionStore_1.collectionStore.getItem(this._lastCollectionId); - if (target && this._lastId) { - target.events.fire(types_1.DragEvents.canDrop, [this._lastId, this._transferData.dropPosition]); - } - }; - DragManager.prototype._toggleTextSelection = function (add) { - if (add) { - document.body.classList.add("dhx_no-select"); - } - else { - document.body.classList.remove("dhx_no-select"); - } - }; - return DragManager; -}()); -var dhx = window.dhxHelpers = window.dhxHelpers || {}; -dhx.dragManager = dhx.dragManager || new DragManager(); -exports.dragManager = dhx.dragManager; - - -/***/ }), -/* 94 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var CollectionStore = /** @class */ (function () { - function CollectionStore() { - this._store = {}; - } - CollectionStore.prototype.setItem = function (id, target) { - this._store[id] = target; - }; - CollectionStore.prototype.getItem = function (id) { - if (!this._store[id]) { - return null; - } - return this._store[id]; - }; - return CollectionStore; -}()); -var dhx = window.dhxHelpers = window.dhxHelpers || {}; -dhx.collectionStore = dhx.collectionStore || new CollectionStore(); -exports.collectionStore = dhx.collectionStore; - - -/***/ }), -/* 95 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var events_1 = __webpack_require__(2); -var types_1 = __webpack_require__(21); -var types_2 = __webpack_require__(17); -var Selection = /** @class */ (function () { - function Selection(_config, data, events) { - var _this = this; - this.events = events || (new events_1.EventSystem(this)); - this._data = data; - this._data.events.on(types_2.DataEvents.removeAll, function () { - _this._selected = null; - }); - this._data.events.on(types_2.DataEvents.change, function () { - if (_this._selected) { - var near = _this._data.getNearId(_this._selected); - if (near !== _this._selected) { - _this._selected = null; - if (near) { - _this.add(near); - } - } - } - }); - } - Selection.prototype.getId = function () { - return this._selected; - }; - Selection.prototype.getItem = function () { - if (this._selected) { - return this._data.getItem(this._selected); - } - return null; - }; - Selection.prototype.remove = function (id) { - id = id || this._selected; - if (!id) { - return true; - } - if (this.events.fire(types_1.SelectionEvents.beforeUnSelect, [id])) { - this._data.update(id, { $selected: false }); - this._selected = null; - this.events.fire(types_1.SelectionEvents.afterUnSelect, [id]); - return true; - } - return false; - }; - Selection.prototype.add = function (id) { - if (this._selected === id) { - return; - } - this.remove(); - if (this.events.fire(types_1.SelectionEvents.beforeSelect, [id])) { - this._selected = id; - this._data.update(id, { $selected: true }); - this.events.fire(types_1.SelectionEvents.afterSelect, [id]); - } - }; - return Selection; -}()); -exports.Selection = Selection; - - -/***/ }), -/* 96 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __assign = (this && this.__assign) || function () { - __assign = Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -var core_1 = __webpack_require__(1); -var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); -var html_1 = __webpack_require__(3); -var scrollView_1 = __webpack_require__(98); -var view_1 = __webpack_require__(4); -var ts_data_1 = __webpack_require__(7); -var ts_layout_1 = __webpack_require__(12); -var ts_message_1 = __webpack_require__(19); -var ts_toolbar_1 = __webpack_require__(27); -var en_1 = __webpack_require__(35); -var types_1 = __webpack_require__(26); -var Uploader_1 = __webpack_require__(54); -var configs_1 = __webpack_require__(116); -var helper_1 = __webpack_require__(117); -var ProgressBar_1 = __webpack_require__(118); -var ReadStackPreview_1 = __webpack_require__(119); -var Vault = /** @class */ (function (_super) { - __extends(Vault, _super); - function Vault(container, config) { - if (config === void 0) { config = {}; } - var _this = _super.call(this, null, core_1.extend({ - mode: types_1.VaultMode.list, - toolbar: true, - updateFromResponse: true, - scaleFactor: 4, - customScroll: true, - uploader: {}, - progressBar: {} - }, config)) || this; - if (!_this.config.toolbar) { - _this.config.uploader.autosend = true; - } - if (config.data) { - _this.data = config.data; - _this.events = config.data.events; - _this.events.context = _this; - } - else { - _this.events = new events_1.EventSystem(_this); - _this.data = new ts_data_1.DataCollection({}, _this.events); - } - _this.data.config.init = function (obj) { - obj.status = obj.status || types_1.FileStatus.uploaded; - if (obj.file) { - obj.size = obj.file.size; - obj.name = obj.file.name; - } - else { - obj.size = obj.size || 0; - obj.name = obj.name || ""; - } - if (_this.config.mode === types_1.VaultMode.grid && obj.file && helper_1.isImage(obj)) { - _this._readStack.add(obj, _this.uploader.config.autosend); - } - return obj; - }; - _this._readStack = new ReadStackPreview_1.ReadStackPreview(_this.data); - _this.uploader = new Uploader_1.Uploader(_this.config.uploader, _this.data, _this.events); - _this._scrollView = new scrollView_1.ScrollView(function () { return _this._vaultView.getRootView(); }); - _this._progressBar = new ProgressBar_1.ProgressBar(_this.events, _this.config.progressBar); - _this.events.on(types_1.UploaderEvents.uploadProgress, function (progress, current, total) { return _this._progressBar.setState(progress, { current: current, total: total }); }); - _this._initHandlers(); - _this._initUI(container); - _this._initEvents(); - return _this; - } - Vault.prototype.destructor = function () { - this.toolbar.destructor(); - this._readStack.stop(); - this.uploader.unlinkDropArea(); - this.uploader.abort(); - }; - Vault.prototype.getRootView = function () { - return this._layout.getRootView(); - }; - Vault.prototype._initUI = function (container) { - var _this = this; - var cfg = this.config.toolbar ? configs_1.layoutConfig : configs_1.layoutConfigWithoutTopbar; - cfg.on = this._getDragEvents(); - var layout = this._layout = new ts_layout_1.Layout(container, cfg); - var toolbar = this.toolbar = new ts_toolbar_1.Toolbar(null, { css: "vault-toolbar" }); - this.toolbar.data.parse([ - { - id: "add", - tooltip: en_1.default.add, - type: ts_toolbar_1.ItemType.button, - icon: "dxi-plus" - }, - { - id: "upload", - tooltip: en_1.default.upload, - type: ts_toolbar_1.ItemType.button, - icon: "dxi icon-upload" // Custom Web Font Icon - }, - { - id: "spacer", - type: ts_toolbar_1.ItemType.spacer - }, - { - id: "remove-all", - tooltip: en_1.default.clearAll, - type: ts_toolbar_1.ItemType.button, - icon: "dxi-delete-forever" - } - ]); - this._hideUploadAndDeleteButtons(); - this._vaultView = view_1.toViewLike(dom_1.create({ render: function () { return _this._draw(); } })); - if (this.config.toolbar) { - layout.cell("topbar").attach(toolbar); - } - layout.cell("vault").attach(this._vaultView); - }; - Vault.prototype._initHandlers = function () { - var _this = this; - this._handlers = { - onclick: { - ".action-add": function () { return _this.uploader.selectFile(); }, - ".action-remove-file": function (e) { - var id = html_1.locate(e); - if (!id) { - return; - } - _this.data.update(id, { $toRemove: true }); - setTimeout(function () { - _this.data.update(id, { $toRemove: false }, true); - _this.data.remove(id); - }, 200); - } - }, - onmouseover: { - ".action-download": function (e) { - ts_message_1.tooltip(en_1.default.download, { - node: e.target, - position: ts_message_1.Position.bottom - }); - }, - ".action-remove-file": function (e) { - ts_message_1.tooltip(en_1.default.clear, { - node: e.target, - position: ts_message_1.Position.bottom - }); - }, - ".title-content, .dhx-file-name": function (e) { - var id = html_1.locate(e); - var item = _this.data.getItem(id); - ts_message_1.tooltip(item.name, { - node: e.target, - position: ts_message_1.Position.bottom, - css: "tooltip-light" - }); - } - } - }; - }; - Vault.prototype._getDragEvents = function () { - var _this = this; - var rect = { - left: null, - top: null, - width: null, - height: null - }; - return { - dragleave: function (e) { - if (!_this._canDrop) { - return; - } - if (e.pageX > rect.left + rect.width - 1 || e.pageX < rect.left || e.pageY > rect.top + rect.height - 1 || e.pageY < rect.top) { - _this._canDrop = false; - if (_this.config.toolbar) { - _this._layout.cell("topbar").show(); - } - _this._layout.config.css = "vault-layout"; - _this._layout.paint(); - } - }, - dragenter: function (e) { - e.preventDefault(); - if (_this.uploader.isActive || _this._canDrop) { - return; - } - var types = e.dataTransfer.types; - for (var _i = 0, types_2 = types; _i < types_2.length; _i++) { - var type = types_2[_i]; - if (type !== "Files" && type !== "application/x-moz-file") { - _this._canDrop = false; - return; - } - } - _this._canDrop = true; - var clientRect = _this.getRootView().node.el.getBoundingClientRect(); - rect.left = clientRect.left + window.pageXOffset; - rect.top = clientRect.top + window.pageYOffset; - rect.width = clientRect.width; - rect.height = clientRect.height; - _this._canDrop = true; - if (_this.config.toolbar) { - _this._layout.cell("topbar").hide(); - } - _this._layout.config.css = "vault-layout dhx-dragin"; - _this._layout.paint(); - }, - dragover: function (e) { - e.preventDefault(); - }, - drop: function (e) { - e.preventDefault(); - if (!_this._canDrop) { - return; - } - var dataTransfer = e.dataTransfer; - _this.uploader.parseFiles(dataTransfer); - _this._canDrop = false; - if (_this.config.toolbar) { - _this._layout.cell("topbar").show(); - } - _this._layout.config.css = "vault-layout"; - _this._layout.paint(); - } - }; - }; - Vault.prototype._hideUploadAndDeleteButtons = function () { - this.toolbar.hide(["upload", "remove-all"]); - }; - Vault.prototype._showUploadAndDeleteButtons = function () { - if (this.uploader.config.autosend) { - this.toolbar.show("remove-all"); - } - else { - this.toolbar.show(["upload", "remove-all"]); - } - }; - Vault.prototype._initEvents = function () { - var _this = this; - this.data.events.on(ts_data_1.DataEvents.change, function () { - if (!_this.data.getLength()) { - _this._hideUploadAndDeleteButtons(); - } - else { - _this._showUploadAndDeleteButtons(); - } - _this._vaultView.paint(); - }); - this.events.on(types_1.UploaderEvents.uploadBegin, function () { - if (_this.config.toolbar) { - _this._layout.cell("topbar").attach(_this._progressBar); - } - }); - this.events.on(types_1.UploaderEvents.uploadComplete, function () { - if (_this.config.mode === types_1.VaultMode.grid && _this.uploader.config.autosend) { - _this._readStack.read(); - } - if (_this.config.toolbar) { - _this._layout.cell("topbar").attach(_this.toolbar); - } - }); - this.toolbar.events.on(ts_toolbar_1.NavigationBarEvents.click, function (id) { - switch (id) { - case "add": - _this.uploader.selectFile(); - break; - case "remove-all": - _this.data.removeAll(); - break; - case "upload": - _this.uploader.send(); - break; - } - }); - this.events.on(types_1.ProgressBarEvents.cancel, function () { - _this.uploader.abort(); - _this._vaultView.paint(); - }); - }; - Vault.prototype._draw = function () { - var isEmpty = !this.data.getLength(); - var files = this.config.mode === types_1.VaultMode.grid ? this._drawGrid() : this._drawList(); - return dom_1.el("div", __assign({ class: "vault dhx_widget" + (this._canDrop ? " drop-here" : "") }, this._handlers, { dhx_widget_id: this._uid }), [ - this._canDrop || isEmpty ? this._drawDropableArea() : - this.config.customScroll ? this._scrollView.render(files) : files - ]); - }; - Vault.prototype._getFileActions = function (file) { - var defaultActions = []; - var hoverActions = []; - var actions = [ - dom_1.el(".dhx-default-actions", defaultActions), - dom_1.el(".dhx-hover-actions", hoverActions) - ]; - if (file.status === types_1.FileStatus.inprogress) { - return actions; - } - if (file.status !== types_1.FileStatus.failed && file.link) { - var link = (this.config.downloadURL || "") + file.link; - var downloadName = link.split("/").pop().split("?")[0]; - var download = dom_1.el("a", { - download: downloadName, - class: "download-link", - href: link - }, [ - dom_1.el(".icon-btn.dxi.dxi-download.action-download") - ]); - hoverActions.push(download); - } - var remove = dom_1.el(".icon-btn.dxi.dxi-delete-forever.action-remove-file"); - hoverActions.push(remove); - if (file.status === types_1.FileStatus.failed) { - var warn = dom_1.el(".dxi.dxi-alert-circle.warning-status"); - defaultActions.push(warn); - } - if (file.status === types_1.FileStatus.uploaded) { - var uploadComplete = dom_1.el(".dxi.dxi-checkbox-marked-circle.uploaded-status"); - defaultActions.push(uploadComplete); - } - return actions; - }; - Vault.prototype._drawList = function () { - var _this = this; - return dom_1.el(".dhx-files-block.dhx-webkit-scroll", this.data.map(function (item) { - var isError = item.status === types_1.FileStatus.failed && item.request; - var inProgress = item.status === types_1.FileStatus.inprogress; - var inQueue = item.status === types_1.FileStatus.queue; - var notUploaded = item.status !== types_1.FileStatus.uploaded; - return dom_1.el("div", { - class: "dhx-file-item" + (item.$toRemove ? " to-remove" : "") + (inQueue ? " in-queue" : ""), - dhx_id: item.id, - _key: item.id - }, [ - dom_1.el(".dhx-file-icon", [ - dom_1.el("div", { - class: "dhx-file-type " + helper_1.getFileClassName(item) + (notUploaded ? " not-loaded" : "") - }) - ]), - dom_1.el(".dhx-file-title", [ - dom_1.el(".dhx-title-content", item.name), - dom_1.el(".dhx-file-info", [ - isError && dom_1.el(".warn-message", item.request.statusText || en_1.default.error), - inProgress ? dom_1.el(".progress-value", (item.progress * 100).toFixed(1) + "%") - : dom_1.el(".dhx-size" + (isError && ".dhx-size-error" || ""), helper_1.getBasis(item.size)) - ]) - ]), - inProgress && dom_1.el(".dhx-download-progress", { - style: { - width: (item.progress * 100).toFixed(1) + "%" - } - }), - !inProgress && dom_1.el(".dhx-file-action", _this._getFileActions(item)) - ]); - })); - }; - Vault.prototype._drawDropableArea = function () { - return dom_1.el(".dhx-dropable-area.drop-files-here", [ - dom_1.el(".dhx-big-icon-block", [ - dom_1.el(".dxi.icon-upload") // Custom Web Font Icon - ]), - !this._canDrop && dom_1.el(".drop-area-bold-text", en_1.default.dragAndDrop), - !this._canDrop && dom_1.el(".drop-area-bold-text", en_1.default.filesOrFoldersHere), - !this._canDrop && dom_1.el(".drop-area-light-text", en_1.default.or), - !this._canDrop && dom_1.el("button.dhx_btn.dhx_btn--flat.dhx_btn--small.action-add", en_1.default.browse) - ]); - }; - Vault.prototype._drawGrid = function () { - var _this = this; - return dom_1.el("div", { - class: "dhx-files-grid dhx-webkit-scroll" - }, [ - dom_1.el(".dhx-grid-content", this.data.map(function (item) { - var inProgress = item.status === types_1.FileStatus.inprogress; - var inQueue = item.status === types_1.FileStatus.queue; - var isError = item.status === types_1.FileStatus.failed; - return dom_1.el("div", { - class: "dhx-file-grid-item" + (inProgress ? " in-progress" : "") - + (item.$toRemove ? " to-remove" : "") + (inQueue ? " in-queue" : "") + (isError ? " failed" : ""), - dhx_id: item.id, - _key: item.id - }, [ - dom_1.el(".dhx-preview-wrapper", [ - item.preview ? dom_1.el(".dhx-server-file-preview", [ - dom_1.el("img", { src: item.preview }) - ]) : - item.image ? dom_1.el("canvas", { - width: 98 * _this.config.scaleFactor, - height: 98 * _this.config.scaleFactor, - _hooks: { - didInsert: function (node) { - var _a = helper_1.calculateCover(item.image), dx = _a.dx, dy = _a.dy, sx = _a.sx, sy = _a.sy, sHeight = _a.sHeight, sWidth = _a.sWidth; - var ctx = node.el.getContext("2d"); - ctx.drawImage(item.image, sx, sy, sWidth, sHeight, dx, dy, 98 * _this.config.scaleFactor, 98 * _this.config.scaleFactor); - } - } - }) : dom_1.el("div", { - class: "dhx-file-preview dhx-file-type " + helper_1.getFileClassName(item) - }), - inProgress && _this._drawCircle(item.progress) - ].concat(_this._getFileActions(item), [ - dom_1.el(".dhx-file-info", [ - isError && dom_1.el(".warn-message", item.request.statusText || en_1.default.error), - !inProgress && dom_1.el(".dhx-size" + (isError && ".dhx-size-error" || ""), helper_1.getBasis(item.size)) - ]) - ])), - dom_1.el(".dhx-file-name", helper_1.truncateWord(item.name)) - ]); - })) - ]); - }; - Vault.prototype._drawCircle = function (progress) { - return dom_1.el(".progress-layout", [ - dom_1.el(".progress-amount", (progress * 100).toFixed(1) + "%"), - dom_1.sv("svg", { - xmlns: "http://www.w3.org/2000/svg", - class: "progress-circle", - viewBox: "0 0 60 60", - }, [ - dom_1.sv("circle", { - "cx": 30, - "cy": 30, - "r": 28, - "stroke-width": 4, - "class": "progress-bar-background", - }), - dom_1.sv("circle.active-circle", { - "cx": 30, - "cy": 30, - "r": 28, - "stroke-width": 4, - "stroke-dasharray": "175.9 175.9", - "stroke-dashoffset": (1 - progress) * 175.9, - "class": "progress-bar-active", - }), - ]) - ]); - }; - return Vault; -}(view_1.View)); -exports.Vault = Vault; - - -/***/ }), -/* 97 */ -/***/ (function(module, exports, __webpack_require__) { - -/** -* Copyright (c) 2017, Leon Sorokin -* All rights reserved. (MIT Licensed) -* -* domvm.js (DOM ViewModel) -* A thin, fast, dependency-free vdom view layer -* @preserve https://github.com/leeoniya/domvm (v3.2.6, micro build) -*/ - -(function (global, factory) { - true ? module.exports = factory() : - undefined; -}(this, (function () { 'use strict'; - -// NOTE: if adding a new *VNode* type, make it < COMMENT and renumber rest. -// There are some places that test <= COMMENT to assert if node is a VNode - -// VNode types -var ELEMENT = 1; -var TEXT = 2; -var COMMENT = 3; - -// placeholder types -var VVIEW = 4; -var VMODEL = 5; - -var ENV_DOM = typeof window !== "undefined"; -var win = ENV_DOM ? window : {}; -var rAF = win.requestAnimationFrame; - -var emptyObj = {}; - -function noop() {} - -var isArr = Array.isArray; - -function isSet(val) { - return val != null; -} - -function isPlainObj(val) { - return val != null && val.constructor === Object; // && typeof val === "object" -} - -function insertArr(targ, arr, pos, rem) { - targ.splice.apply(targ, [pos, rem].concat(arr)); -} - -function isVal(val) { - var t = typeof val; - return t === "string" || t === "number"; -} - -function isFunc(val) { - return typeof val === "function"; -} - -function isProm(val) { - return typeof val === "object" && isFunc(val.then); -} - - - -function assignObj(targ) { - var args = arguments; - - for (var i = 1; i < args.length; i++) - { for (var k in args[i]) - { targ[k] = args[i][k]; } } - - return targ; + return targ; } // export const defProp = Object.defineProperty; @@ -10664,214 +9847,2141 @@ function defineView(view, data, key, opts) { return new VView(view, data, key, opts); } -// placeholder for injected ViewModels -function VModel(vm) { - this.vm = vm; -} +// placeholder for injected ViewModels +function VModel(vm) { + this.vm = vm; +} + +VModel.prototype = { + constructor: VModel, + + type: VMODEL, + vm: null, +}; + +function injectView(vm) { +// if (vm.node == null) +// vm._redraw(null, null, false); + +// return vm.node; + + return new VModel(vm); +} + +function injectElement(el) { + var node = new VNode; + node.type = ELEMENT; + node.el = node.key = el; + return node; +} + +function lazyList(items, cfg) { + var len = items.length; + + var self = { + items: items, + length: len, + // defaults to returning item identity (or position?) + key: function(i) { + return cfg.key(items[i], i); + }, + // default returns 0? + diff: function(i, donor) { + var newVals = cfg.diff(items[i], i); + if (donor == null) + { return newVals; } + var oldVals = donor._diff; + var same = newVals === oldVals || isArr(oldVals) ? cmpArr(newVals, oldVals) : cmpObj(newVals, oldVals); + return same || newVals; + }, + tpl: function(i) { + return cfg.tpl(items[i], i); + }, + map: function(tpl) { + cfg.tpl = tpl; + return self; + }, + body: function(vnode) { + var nbody = Array(len); + + for (var i = 0; i < len; i++) { + var vnode2 = self.tpl(i); + + // if ((vnode.flags & KEYED_LIST) === KEYED_LIST && self. != null) + // vnode2.key = getKey(item); + + vnode2._diff = self.diff(i); // holds oldVals for cmp + + nbody[i] = vnode2; + + // run preproc pass (should this be just preProc in above loop?) bench + preProc(vnode2, vnode, i); + } + + // replace List with generated body + vnode.body = nbody; + } + }; + + return self; +} + +var nano = { + config: config, + + ViewModel: ViewModel, + VNode: VNode, + + createView: createView, + + defineElement: defineElement, + defineSvgElement: defineSvgElement, + defineText: defineText, + defineComment: defineComment, + defineView: defineView, + + injectView: injectView, + injectElement: injectElement, + + lazyList: lazyList, + + FIXED_BODY: FIXED_BODY, + DEEP_REMOVE: DEEP_REMOVE, + KEYED_LIST: KEYED_LIST, + LAZY_LIST: LAZY_LIST, +}; + +function protoPatch(n, doRepaint) { + patch$1(this, n, doRepaint); +} + +// newNode can be either {class: style: } or full new VNode +// will/didPatch hooks? +function patch$1(o, n, doRepaint) { + if (n.type != null) { + // no full patching of view roots, just use redraw! + if (o.vm != null) + { return; } + + preProc(n, o.parent, o.idx, null); + o.parent.body[o.idx] = n; + patch(n, o); + doRepaint && repaint(n); + drainDidHooks(getVm(n)); + } + else { + // TODO: re-establish refs + + // shallow-clone target + var donor = Object.create(o); + // fixate orig attrs + donor.attrs = assignObj({}, o.attrs); + // assign new attrs into live targ node + var oattrs = assignObj(o.attrs, n); + // prepend any fixed shorthand class + if (o._class != null) { + var aclass = oattrs.class; + oattrs.class = aclass != null && aclass !== "" ? o._class + " " + aclass : o._class; + } + + patchAttrs(o, donor); + + doRepaint && repaint(o); + } +} + +VNodeProto.patch = protoPatch; + +function nextSubVms(n, accum) { + var body = n.body; + + if (isArr(body)) { + for (var i = 0; i < body.length; i++) { + var n2 = body[i]; + + if (n2.vm != null) + { accum.push(n2.vm); } + else + { nextSubVms(n2, accum); } + } + } + + return accum; +} + +function defineElementSpread(tag) { + var args = arguments; + var len = args.length; + var body, attrs; + + if (len > 1) { + var bodyIdx = 1; + + if (isPlainObj(args[1])) { + attrs = args[1]; + bodyIdx = 2; + } + + if (len === bodyIdx + 1 && (isVal(args[bodyIdx]) || isArr(args[bodyIdx]) || attrs && (attrs._flags & LAZY_LIST) === LAZY_LIST)) + { body = args[bodyIdx]; } + else + { body = sliceArgs(args, bodyIdx); } + } + + return initElementNode(tag, attrs, body); +} + +function defineSvgElementSpread() { + var n = defineElementSpread.apply(null, arguments); + n.ns = SVG_NS; + return n; +} + +ViewModelProto.emit = emit; +ViewModelProto.onemit = null; + +ViewModelProto.body = function() { + return nextSubVms(this.node, []); +}; + +nano.defineElementSpread = defineElementSpread; +nano.defineSvgElementSpread = defineSvgElementSpread; + +return nano; + +}))); +//# sourceMappingURL=domvm.micro.js.map + -VModel.prototype = { - constructor: VModel, +/***/ }), +/* 91 */ +/***/ (function(module, exports, __webpack_require__) { - type: VMODEL, - vm: null, +"use strict"; +/* WEBPACK VAR INJECTION */(function(Promise) { +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); }; +Object.defineProperty(exports, "__esModule", { value: true }); +var helpers_1 = __webpack_require__(16); +var types_1 = __webpack_require__(15); +var Loader = /** @class */ (function () { + function Loader(parent, changes) { + this._parent = parent; + this._changes = changes; // todo: [dirty] mutation + } + Loader.prototype.load = function (url, driver) { + var _this = this; + // TODO: change way for checking lazyLoad + if (url.config && !this._parent.events.fire(types_1.DataEvents.beforeLazyLoad, [])) { + return; + } + return this._parent.loadData = url.load().then(function (data) { + if (data) { + return _this.parse(data, driver); + } + else { + return []; + } + }).catch(function (error) { + _this._parent.events.fire(types_1.DataEvents.loadError, [error]); + }); + }; + Loader.prototype.parse = function (data, driver) { + var _this = this; + if (driver === void 0) { driver = "json"; } + if (driver === "json" && !helpers_1.hasJsonOrArrayStructure(data)) { + this._parent.events.fire(types_1.DataEvents.loadError, ["Uncaught SyntaxError: Unexpected end of input"]); + } + driver = helpers_1.toDataDriver(driver); + data = driver.toJsonArray(data); + if (!(data instanceof Array)) { + var totalCount = data.total_count - 1; + var from_1 = data.from; + data = data.data; + if (this._parent.getLength() === 0) { + var newData = []; + for (var i = 0, j = 0; i <= totalCount; i++) { + if (i >= from_1 && i <= (from_1 + data.length - 1)) { + newData.push(data[j]); + j++; + } + else { + newData.push({ $empty: true }); + } + } + data = newData; + } + else { + data.forEach(function (newItem, i) { + var index = from_1 + i; + var oldId = _this._parent.getId(index); + if (oldId) { + var emptyItem = _this._parent.getItem(oldId); + if (emptyItem && emptyItem.$empty) { + _this._parent.changeId(oldId, newItem.id, true); + _this._parent.update(newItem.id, __assign(__assign({}, newItem), { $empty: undefined }), true); + } + } + else { + helpers_1.dhxWarning("item not found"); + } + }); + this._parent.events.fire(types_1.DataEvents.afterLazyLoad, [from_1, data.length]); + this._parent.events.fire(types_1.DataEvents.change); + return data; + } + } + if (!!this._parent.getInitialData()) { + this._parent.removeAll(); + } + this._parent.$parse(data); + return data; + }; + Loader.prototype.save = function (url) { + var _this = this; + var _loop_1 = function (el) { + if (el.saving || el.pending) { + helpers_1.dhxWarning("item is saving"); + } + else { + var prevEl_1 = this_1._findPrevState(el.id); + if (prevEl_1 && prevEl_1.saving) { + var pending = new Promise(function (res, rej) { + prevEl_1.promise.then(function () { + el.pending = false; + res(_this._setPromise(el, url)); + }).catch(function (err) { + _this._removeFromOrder(prevEl_1); + _this._setPromise(el, url); + helpers_1.dhxWarning(err); + rej(err); + }); + }); + this_1._addToChain(pending); + el.pending = true; + } + else { + this_1._setPromise(el, url); + } + } + }; + var this_1 = this; + for (var _i = 0, _a = this._changes.order; _i < _a.length; _i++) { + var el = _a[_i]; + _loop_1(el); + } + this._parent.saveData.then(function () { + _this._saving = false; + }); + }; + Loader.prototype._setPromise = function (el, url) { + var _this = this; + el.promise = url.save(el.obj, el.status); + el.promise.then(function () { + _this._removeFromOrder(el); + }).catch(function (err) { + el.saving = false; + el.error = true; + helpers_1.dhxError(err); + }); + el.saving = true; + this._saving = true; + this._addToChain(el.promise); + return el.promise; + }; + Loader.prototype._addToChain = function (promise) { + // tslint:disable-next-line:prefer-conditional-expression + if (this._parent.saveData && this._saving) { + this._parent.saveData = this._parent.saveData.then(function () { return promise; }); + } + else { + this._parent.saveData = promise; + } + }; + Loader.prototype._findPrevState = function (id) { + for (var _i = 0, _a = this._changes.order; _i < _a.length; _i++) { + var el = _a[_i]; + if (el.id === id) { + return el; + } + } + return null; + }; + Loader.prototype._removeFromOrder = function (el) { + this._changes.order = this._changes.order.filter(function (item) { return !helpers_1.isEqualObj(item, el); }); + }; + return Loader; +}()); +exports.Loader = Loader; -function injectView(vm) { -// if (vm.node == null) -// vm._redraw(null, null, false); +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12))) -// return vm.node; +/***/ }), +/* 92 */ +/***/ (function(module, exports, __webpack_require__) { - return new VModel(vm); -} +"use strict"; -function injectElement(el) { - var node = new VNode; - node.type = ELEMENT; - node.el = node.key = el; - return node; +Object.defineProperty(exports, "__esModule", { value: true }); +var xml_1 = __webpack_require__(93); +var ARRAY_NAME = "items"; +var ITEM_NAME = "item"; +// convert xml tag to js object, all subtags and attributes are mapped to the properties of result object +function tagToObject(tag, initialObj) { + initialObj = initialObj || {}; + // map attributes + var a = tag.attributes; + if (a && a.length) { + for (var i = 0; i < a.length; i++) { + initialObj[a[i].name] = a[i].value; + } + } + // map subtags + var b = tag.childNodes; + for (var i = 0; i < b.length; i++) { + if (b[i].nodeType === 1) { + var name_1 = b[i].tagName; + if (initialObj[name_1]) { + if (typeof initialObj[name_1].push !== "function") { + initialObj[name_1] = [initialObj[name_1]]; + } + initialObj[name_1].push(tagToObject(b[i], {})); + } + else { + initialObj[name_1] = tagToObject(b[i], {}); // sub-object for complex subtags + } + } + } + return initialObj; } +var XMLDriver = /** @class */ (function () { + function XMLDriver() { + } + XMLDriver.prototype.toJsonArray = function (data) { + return this.getRows(data); + }; + XMLDriver.prototype.toJsonObject = function (data) { + var doc; + if (typeof data === "string") { + doc = this._fromString(data); + } + return tagToObject(doc); + }; + XMLDriver.prototype.serialize = function (data) { + return xml_1.jsonToXML(data); + }; + XMLDriver.prototype.getFields = function (row) { + return row; + }; + XMLDriver.prototype.getRows = function (data) { + if (typeof data === "string") { + data = this._fromString(data); + } + if (data) { + var childNodes = data.childNodes && data.childNodes[0] && data.childNodes[0].childNodes; + if (!childNodes || !childNodes.length) { + return null; + } + return this._getRows(childNodes); + } + return []; + }; + XMLDriver.prototype._getRows = function (nodes) { + var result = []; + for (var i = 0; i < nodes.length; i++) { + if (nodes[i].tagName === ITEM_NAME) { + result.push(this._nodeToJS(nodes[i])); + } + } + return result; + }; + XMLDriver.prototype._fromString = function (data) { + try { + return (new DOMParser()).parseFromString(data, "text/xml"); + } + catch (_a) { + return null; + } + }; + XMLDriver.prototype._nodeToJS = function (node) { + var result = {}; + if (this._haveAttrs(node)) { + var attrs = node.attributes; + for (var i = 0; i < attrs.length; i++) { + var _a = attrs[i], name_2 = _a.name, value = _a.value; + result[name_2] = this._toType(value); + } + } + if (node.nodeType === 3) { + result.value = result.value || this._toType(node.textContent); + return result; + } + var childNodes = node.childNodes; + if (childNodes) { + for (var i = 0; i < childNodes.length; i++) { + var subNode = childNodes[i]; + var tag = subNode.tagName; + if (!tag) { + continue; + } + if (tag === ARRAY_NAME && subNode.childNodes) { + result[tag] = this._getRows(subNode.childNodes); + } + else { + if (this._haveAttrs(subNode)) { + result[tag] = this._nodeToJS(subNode); + } + else { + result[tag] = this._toType(subNode.textContent); + } + } + } + } + return result; + }; + XMLDriver.prototype._toType = function (val) { + if (val === "false" || val === "true") { + return val === "true"; + } + if (!isNaN(val)) { + return Number(val); + } + return val; + }; + XMLDriver.prototype._haveAttrs = function (node) { + return node.attributes && node.attributes.length; + }; + return XMLDriver; +}()); +exports.XMLDriver = XMLDriver; -function lazyList(items, cfg) { - var len = items.length; - - var self = { - items: items, - length: len, - // defaults to returning item identity (or position?) - key: function(i) { - return cfg.key(items[i], i); - }, - // default returns 0? - diff: function(i, donor) { - var newVals = cfg.diff(items[i], i); - if (donor == null) - { return newVals; } - var oldVals = donor._diff; - var same = newVals === oldVals || isArr(oldVals) ? cmpArr(newVals, oldVals) : cmpObj(newVals, oldVals); - return same || newVals; - }, - tpl: function(i) { - return cfg.tpl(items[i], i); - }, - map: function(tpl) { - cfg.tpl = tpl; - return self; - }, - body: function(vnode) { - var nbody = Array(len); - for (var i = 0; i < len; i++) { - var vnode2 = self.tpl(i); +/***/ }), +/* 93 */ +/***/ (function(module, exports, __webpack_require__) { - // if ((vnode.flags & KEYED_LIST) === KEYED_LIST && self. != null) - // vnode2.key = getKey(item); +"use strict"; - vnode2._diff = self.diff(i); // holds oldVals for cmp +Object.defineProperty(exports, "__esModule", { value: true }); +var INDENT_STEP = 4; +function jsonToXML(data, root) { + if (root === void 0) { root = "root"; } + var result = "\n<" + root + ">"; + for (var i = 0; i < data.length; i++) { + result += "\n" + itemToXML(data[i]); + } + return result + ("\n"); +} +exports.jsonToXML = jsonToXML; +function ws(count) { + return " ".repeat(count); +} +function itemToXML(item, indent) { + if (indent === void 0) { indent = INDENT_STEP; } + var result = ws(indent) + "\n"; + for (var key in item) { + if (Array.isArray(item[key])) { + result += ws(indent + INDENT_STEP) + ("<" + key + ">\n"); + result += item[key].map(function (subItem) { return itemToXML(subItem, indent + INDENT_STEP * 2); }).join("\n") + "\n"; + result += ws(indent + INDENT_STEP) + ("\n"); + } + else { + result += ws(indent + INDENT_STEP) + ("<" + key + ">" + item[key] + "\n"); + } + } + result += ws(indent) + ""; + return result; +} - nbody[i] = vnode2; - // run preproc pass (should this be just preProc in above loop?) bench - preProc(vnode2, vnode, i); - } +/***/ }), +/* 94 */ +/***/ (function(module, exports, __webpack_require__) { - // replace List with generated body - vnode.body = nbody; - } - }; +"use strict"; - return self; -} +Object.defineProperty(exports, "__esModule", { value: true }); +var helpers_1 = __webpack_require__(16); +var Sort = /** @class */ (function () { + function Sort() { + } + Sort.prototype.sort = function (array, by) { + var _this = this; + if (by.rule && typeof by.rule === "function") { + this._sort(array, by); + } + else if (by.by) { + by.rule = function (a, b) { + var aa = _this._checkVal(by.as, a[by.by]); + var bb = _this._checkVal(by.as, b[by.by]); + return helpers_1.naturalCompare(aa.toString(), bb.toString()); + }; + this._sort(array, by); + } + }; + Sort.prototype._checkVal = function (method, val) { + return method ? method.call(this, val) : val; + }; + Sort.prototype._sort = function (arr, conf) { + var _this = this; + var dir = { + asc: 1, + desc: -1 + }; + return arr.sort(function (a, b) { + return conf.rule.call(_this, a, b) * (dir[conf.dir] || dir.asc); + }); + }; + return Sort; +}()); +exports.Sort = Sort; -var nano = { - config: config, - ViewModel: ViewModel, - VNode: VNode, +/***/ }), +/* 95 */ +/***/ (function(module, exports, __webpack_require__) { - createView: createView, +"use strict"; - defineElement: defineElement, - defineSvgElement: defineSvgElement, - defineText: defineText, - defineComment: defineComment, - defineView: defineView, +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var core_1 = __webpack_require__(1); +var datacollection_1 = __webpack_require__(57); +var dataproxy_1 = __webpack_require__(21); +var helpers_1 = __webpack_require__(16); +var types_1 = __webpack_require__(15); +function addToOrder(store, obj, parent, index) { + if (index !== undefined && index !== -1 && store[parent] && store[parent][index]) { + store[parent].splice(index, 0, obj); + } + else { + if (!store[parent]) { + store[parent] = []; + } + store[parent].push(obj); + } +} +var TreeCollection = /** @class */ (function (_super) { + __extends(TreeCollection, _super); + function TreeCollection(config, events) { + var _a; + var _this = _super.call(this, config, events) || this; + var root = _this._root = "_ROOT_" + core_1.uid(); + _this._childs = (_a = {}, _a[root] = [], _a); + _this._initChilds = null; + return _this; + } + TreeCollection.prototype.add = function (obj, index, parent) { + var _this = this; + if (index === void 0) { index = -1; } + if (parent === void 0) { parent = this._root; } + if (typeof obj !== "object") { + obj = { + value: obj + }; + } + if (Array.isArray(obj)) { + return obj.map(function (element, key) { + return _this._add(element, index, parent, key); + }); + } + else { + return this._add(obj, index, parent); + } + }; + TreeCollection.prototype.getRoot = function () { + return this._root; + }; + TreeCollection.prototype.getParent = function (id, asObj) { + if (asObj === void 0) { asObj = false; } + if (!this._pull[id]) { + return null; + } + var parent = this._pull[id].parent; + return asObj ? this._pull[parent] : parent; + }; + TreeCollection.prototype.getItems = function (id) { + if (this._childs && this._childs[id]) { + return this._childs[id]; + } + return []; + }; + TreeCollection.prototype.getLength = function (id) { + if (id === void 0) { id = this._root; } + if (!this._childs[id]) { + return null; + } + return this._childs[id].length; + }; + TreeCollection.prototype.removeAll = function (id) { + var _a; + if (id) { + var childs = __spreadArrays(this._childs[id]); + for (var _i = 0, childs_1 = childs; _i < childs_1.length; _i++) { + var child = childs_1[_i]; + this.remove(child.id); + } + } + else { + _super.prototype.removeAll.call(this); + var root = this._root; + this._initChilds = null; + this._childs = (_a = {}, _a[root] = [], _a); + } + }; + TreeCollection.prototype.getIndex = function (id) { + var parent = this.getParent(id); + if (!parent || !this._childs[parent]) { + return -1; + } + return core_1.findIndex(this._childs[parent], function (item) { return item.id === id; }); + }; + TreeCollection.prototype.sort = function (by) { + var _this = this; + if (!by) { + this._childs = {}; + // [dirty] + this._parse_data(Object.keys(this._pull).map(function (key) { return _this._pull[key]; })); + if (this._filters) { + for (var key in this._filters) { + var filter = this._filters[key]; + this.filter(filter.rule, filter.config); + } + } + } + else { + for (var key in this._childs) { + this._sort.sort(this._childs[key], by); + } + if (this._initChilds && Object.keys(this._initChilds).length) { + for (var key in this._initChilds) { + this._sort.sort(this._initChilds[key], by); + } + } + } + this.events.fire(types_1.DataEvents.change); + }; + TreeCollection.prototype.filter = function (rule, config) { + var _this = this; + if (config === void 0) { config = {}; } + if (!rule) { + this.restoreOrder(); + return; + } + if (!this._initChilds) { + this._initChilds = this._childs; + } + config.type = config.type || types_1.TreeFilterType.all; + // [todo] we can store multiple filter rules, like in datacollection + this._filters = {}; + this._filters._ = { + rule: rule, + config: config + }; + var newChilds = {}; + this._recursiveFilter(rule, config, this._root, 0, newChilds); + Object.keys(newChilds).forEach(function (key) { + var parentId = _this.getParent(key); + var current = _this.getItem(key); + while (parentId) { + if (!newChilds[parentId]) { + newChilds[parentId] = []; + } + if (current && !newChilds[parentId].find(function (x) { return x.id === current.id; })) { + newChilds[parentId].push(current); + } + current = _this.getItem(parentId); + parentId = _this.getParent(parentId); + } + }); + this._childs = newChilds; + this.events.fire(types_1.DataEvents.change); + }; + TreeCollection.prototype.restoreOrder = function () { + if (this._initChilds) { + this._childs = this._initChilds; + this._initChilds = null; + } + this.events.fire(types_1.DataEvents.change); + }; + TreeCollection.prototype.copy = function (id, index, target, targetId) { + var _this = this; + if (target === void 0) { target = this; } + if (targetId === void 0) { targetId = this._root; } + if (id instanceof Array) { + return id.map(function (elementId, key) { + return _this._copy(elementId, index, target, targetId, key); + }); + } + else { + return this._copy(id, index, target, targetId); + } + }; + TreeCollection.prototype.move = function (id, index, target, targetId) { + var _this = this; + if (target === void 0) { target = this; } + if (targetId === void 0) { targetId = this._root; } + if (id instanceof Array) { + return id.map(function (elementId, key) { + return _this._move(elementId, index, target, targetId, key); + }); + } + else { + return this._move(id, index, target, targetId); + } + }; + TreeCollection.prototype.forEach = function (cb, parent, level) { + if (parent === void 0) { parent = this._root; } + if (level === void 0) { level = Infinity; } + if (!this.haveItems(parent) || (level < 1)) { + return; + } + var array = this._childs[parent]; + for (var i = 0; i < array.length; i++) { + cb.call(this, array[i], i, array); + if (this.haveItems(array[i].id)) { + this.forEach(cb, array[i].id, --level); + } + } + }; + TreeCollection.prototype.eachChild = function (id, cb, direct, checkItem) { + if (direct === void 0) { direct = true; } + if (checkItem === void 0) { checkItem = function () { return true; }; } + if (!this.haveItems(id)) { + return; + } + for (var i = 0; i < this._childs[id].length; i++) { + cb.call(this, this._childs[id][i], i); + if (direct && checkItem(this._childs[id][i])) { + this.eachChild(this._childs[id][i].id, cb, direct, checkItem); + } + } + }; + TreeCollection.prototype.getNearId = function (id) { + return id; // for selection + }; + TreeCollection.prototype.loadItems = function (id, driver) { + var _this = this; + if (driver === void 0) { driver = "json"; } + var url = this.config.autoload + "?id=" + id; + var proxy = new dataproxy_1.DataProxy(url); + proxy.load().then(function (data) { + driver = helpers_1.toDataDriver(driver); + data = driver.toJsonArray(data); + _this._parse_data(data, id); + _this.events.fire(types_1.DataEvents.change); + }); + }; + TreeCollection.prototype.refreshItems = function (id, driver) { + if (driver === void 0) { driver = "json"; } + this.removeAll(id); + this.loadItems(id, driver); + }; + TreeCollection.prototype.eachParent = function (id, cb, self) { + if (self === void 0) { self = false; } + var item = this.getItem(id); + if (!item) { + return; + } + if (self) { + cb.call(this, item); + } + if (item.parent === this._root) { + return; + } + var parent = this.getItem(item.parent); + cb.call(this, parent); + this.eachParent(item.parent, cb); + }; + TreeCollection.prototype.haveItems = function (id) { + return id in this._childs; + }; + TreeCollection.prototype.canCopy = function (id, target) { + if (id === target) { + return false; + } + var canCopy = true; + this.eachParent(target, function (item) { return item.id === id ? canCopy = false : null; }); // locate return string + return canCopy; + }; + TreeCollection.prototype.serialize = function (driver, checkItem) { + if (driver === void 0) { driver = types_1.DataDriver.json; } + var data = this._serialize(this._root, checkItem); + var dataDriver = helpers_1.toDataDriver(driver); + if (dataDriver) { + return dataDriver.serialize(data); + } + }; + TreeCollection.prototype.getId = function (index, parent) { + if (parent === void 0) { parent = this._root; } + if (!this._childs[parent] || !this._childs[parent][index]) { + return; + } + return this._childs[parent][index].id; + }; + // Non public API from suite_6.4 + TreeCollection.prototype.map = function (cb, parent, direct) { + if (parent === void 0) { parent = this._root; } + if (direct === void 0) { direct = true; } + var result = []; + if (!this.haveItems(parent)) { + return result; + } + for (var i = 0; i < this._childs[parent].length; i++) { + result.push(cb.call(this, this._childs[parent][i], i, this._childs)); + if (direct) { + var childResult = this.map(cb, this._childs[parent][i].id, direct); + result = result.concat(childResult); + } + } + return result; + }; + TreeCollection.prototype._add = function (obj, index, parent, key) { + if (index === void 0) { index = -1; } + if (parent === void 0) { parent = this._root; } + obj.parent = obj.parent ? obj.parent.toString() : parent; + if (key > 0 && index !== -1) { + index = index + 1; + } + var id = _super.prototype._add.call(this, obj, index); + if (Array.isArray(obj.items)) { + for (var _i = 0, _a = obj.items; _i < _a.length; _i++) { + var item = _a[_i]; + this.add(item, -1, obj.id); + } + } + return id; + }; + TreeCollection.prototype._copy = function (id, index, target, targetId, key) { + if (target === void 0) { target = this; } + if (targetId === void 0) { targetId = this._root; } + if (!this.exists(id)) { + return null; + } + var currentChilds = this._childs[id]; + if (key) { + index = index === -1 ? -1 : index + key; + } + if (target === this && !this.canCopy(id, targetId)) { + return null; + } + var itemCopy = helpers_1.copyWithoutInner(this.getItem(id), { items: true }); + if (target.exists(id)) { + itemCopy.id = core_1.uid(); + } + if (!helpers_1.isTreeCollection(target)) { + target.add(itemCopy, index); + return; + } + if (this.exists(id)) { + itemCopy.parent = targetId; + if (target !== this && targetId === this._root) { + itemCopy.parent = target.getRoot(); + } + target.add(itemCopy, index); + id = itemCopy.id; + } + if (currentChilds) { + for (var _i = 0, currentChilds_1 = currentChilds; _i < currentChilds_1.length; _i++) { + var child = currentChilds_1[_i]; + var childId = child.id; + var childIndex = this.getIndex(childId); + if (typeof id === "string") { + this.copy(childId, childIndex, target, id); + } + } + } + return id; + }; + TreeCollection.prototype._move = function (id, index, target, targetId, key) { + if (target === void 0) { target = this; } + if (targetId === void 0) { targetId = this._root; } + if (!this.exists(id)) { + return null; + } + if (key) { + index = index === -1 ? -1 : index + key; + } + if (target !== this) { + if (!helpers_1.isTreeCollection(target)) { // move to datacollection + target.add(helpers_1.copyWithoutInner(this.getItem(id)), index); + this.remove(id); + return; + } + var returnId = this.copy(id, index, target, targetId); + this.remove(id); + return returnId; + } + // move inside + if (!this.canCopy(id, targetId)) { + return null; + } + var parent = this.getParent(id); + var parentIndex = this.getIndex(id); + // get item from parent array and move to target array + var spliced = this._childs[parent].splice(parentIndex, 1)[0]; + spliced.parent = targetId; // need for next moving, ... not best solution, may be full method for get item + if (!this._childs[parent].length) { + delete this._childs[parent]; + } + if (!this.haveItems(targetId)) { + this._childs[targetId] = []; + } + if (index === -1) { + index = this._childs[targetId].push(spliced); + } + else { + this._childs[targetId].splice(index, 0, spliced); + } + this.events.fire(types_1.DataEvents.change); + return id; + }; + TreeCollection.prototype._removeAll = function (id) { + var _a; + if (id) { + var childs = __spreadArrays(this._childs[id]); + for (var _i = 0, childs_2 = childs; _i < childs_2.length; _i++) { + var child = childs_2[_i]; + this.remove(child.id); + } + } + else { + _super.prototype._removeAll.call(this); + var root = this._root; + this._initChilds = null; + this._childs = (_a = {}, _a[root] = [], _a); + } + }; + TreeCollection.prototype._removeCore = function (id) { + if (this._pull[id]) { + var parent_1 = this.getParent(id); + this._childs[parent_1] = this._childs[parent_1].filter(function (item) { return item.id !== id; }); + if (parent_1 !== this._root && !this._childs[parent_1].length) { + delete this._childs[parent_1]; + } + if (this._initChilds && this._initChilds[parent_1]) { + this._initChilds[parent_1] = this._initChilds[parent_1].filter(function (item) { return item.id !== id; }); + if (parent_1 !== this._root && !this._initChilds[parent_1].length) { + delete this._initChilds[parent_1]; + } + } + this._fastDeleteChilds(this._childs, id); + if (this._initChilds) { + this._fastDeleteChilds(this._initChilds, id); + } + } + }; + TreeCollection.prototype._addToOrder = function (_order, obj, index) { + var childs = this._childs; + var initChilds = this._initChilds; + var parent = obj.parent; + this._pull[obj.id] = obj; + addToOrder(childs, obj, parent, index); + if (initChilds) { + addToOrder(initChilds, obj, parent, index); + } + }; + TreeCollection.prototype._parse_data = function (data, parent) { + if (parent === void 0) { parent = this._root; } + for (var _i = 0, data_1 = data; _i < data_1.length; _i++) { + var obj = data_1[_i]; + if (this.config.init) { + obj = this.config.init(obj); + } + if (typeof obj !== "object") { + obj = { + value: obj + }; + } + obj.id = obj.id ? obj.id.toString() : core_1.uid(); + obj.parent = obj.parent ? obj.parent.toString() : parent; + this._pull[obj.id] = obj; + if (!this._childs[obj.parent]) { + this._childs[obj.parent] = []; + } + this._childs[obj.parent].push(obj); + if (obj.items && obj.items instanceof Object) { + this._parse_data(obj.items, obj.id); + } + } + }; + TreeCollection.prototype._fastDeleteChilds = function (target, id) { + if (this._pull[id]) { + delete this._pull[id]; + } + if (!target[id]) { + return; + } + for (var i = 0; i < target[id].length; i++) { + this._fastDeleteChilds(target, target[id][i].id); + } + delete target[id]; + }; + TreeCollection.prototype._recursiveFilter = function (rule, config, current, level, newChilds) { + var _this = this; + var childs = this._childs[current]; + if (!childs) { + return; + } + var condition = function (item) { + switch (config.type) { + case types_1.TreeFilterType.all: { + return true; + } + case types_1.TreeFilterType.level: { + return level === config.level; + } + case types_1.TreeFilterType.leafs: { + return !_this.haveItems(item.id); + } + } + }; + if (typeof rule === "function") { + var customRule = function (item) { return condition(item) && rule(item); }; + var filtered = childs.filter(customRule); + if (filtered.length) { + newChilds[current] = filtered; + } + } + else if (rule.by && rule.match) { + var customRule = function (item) { return condition(item) && item[rule.by].toString().toLowerCase().indexOf(rule.match.toString().toLowerCase()) !== -1; }; + var filtered = childs.filter(customRule); + if (filtered.length) { + newChilds[current] = filtered; + } + } + for (var _i = 0, childs_3 = childs; _i < childs_3.length; _i++) { + var child = childs_3[_i]; + this._recursiveFilter(rule, config, child.id, level + 1, newChilds); + } + }; + TreeCollection.prototype._serialize = function (parent, fn) { + var _this = this; + if (parent === void 0) { parent = this._root; } + return this.map(function (item) { + var itemCopy = {}; + for (var key in item) { + if (key === "parent" || key === "items") { + continue; + } + itemCopy[key] = item[key]; + } + if (fn) { + itemCopy = fn(itemCopy); + } + if (_this.haveItems(item.id)) { + itemCopy.items = _this._serialize(item.id, fn); + } + return itemCopy; + }, parent, false); + }; + return TreeCollection; +}(datacollection_1.DataCollection)); +exports.TreeCollection = TreeCollection; - injectView: injectView, - injectElement: injectElement, - lazyList: lazyList, +/***/ }), +/* 96 */ +/***/ (function(module, exports, __webpack_require__) { - FIXED_BODY: FIXED_BODY, - DEEP_REMOVE: DEEP_REMOVE, - KEYED_LIST: KEYED_LIST, - LAZY_LIST: LAZY_LIST, -}; +"use strict"; -function protoPatch(n, doRepaint) { - patch$1(this, n, doRepaint); +Object.defineProperty(exports, "__esModule", { value: true }); +var html_1 = __webpack_require__(2); +var CollectionStore_1 = __webpack_require__(97); +var types_1 = __webpack_require__(15); +var helpers_1 = __webpack_require__(16); +function getPosition(e) { + var y = e.clientY; + var element = html_1.locateNode(e); + if (!element) { + return null; + } + var treeLine = element.childNodes[0]; + var _a = treeLine.getBoundingClientRect(), top = _a.top, height = _a.height; + return (y - top) / height; } - -// newNode can be either {class: style: } or full new VNode -// will/didPatch hooks? -function patch$1(o, n, doRepaint) { - if (n.type != null) { - // no full patching of view roots, just use redraw! - if (o.vm != null) - { return; } - - preProc(n, o.parent, o.idx, null); - o.parent.body[o.idx] = n; - patch(n, o); - doRepaint && repaint(n); - drainDidHooks(getVm(n)); - } - else { - // TODO: re-establish refs - - // shallow-clone target - var donor = Object.create(o); - // fixate orig attrs - donor.attrs = assignObj({}, o.attrs); - // assign new attrs into live targ node - var oattrs = assignObj(o.attrs, n); - // prepend any fixed shorthand class - if (o._class != null) { - var aclass = oattrs.class; - oattrs.class = aclass != null && aclass !== "" ? o._class + " " + aclass : o._class; - } - - patchAttrs(o, donor); - - doRepaint && repaint(o); - } +function dragEventContent(element, elements) { + var rect = element.getBoundingClientRect(); + var ghost = document.createElement("div"); + var clone = element.cloneNode(true); + clone.style.width = rect.width + "px"; + clone.style.height = rect.height + "px"; + clone.style.maxHeight = rect.height + "px"; + clone.style.fontSize = window.getComputedStyle(element.parentElement).fontSize; + clone.style.opacity = "0.8"; + clone.style.fontSize = window.getComputedStyle(element.parentElement).fontSize; + ghost.appendChild(clone); + if (elements && elements.length) { + elements.forEach(function (node, key) { + var nodeClone = node.cloneNode(true); + nodeClone.style.width = rect.width + "px"; + nodeClone.style.height = rect.height + "px"; + nodeClone.style.maxHeight = rect.height + "px"; + nodeClone.style.top = ((key + 1) * 12 - rect.height) - (rect.height * key) + "px"; + nodeClone.style.left = (key + 1) * 12 + "px"; + nodeClone.style.opacity = "0.6"; + nodeClone.style.zIndex = "" + (-key - 1); + ghost.appendChild(nodeClone); + }); + } + ghost.className = "dhx_drag-ghost"; + return ghost; } +var DragManager = /** @class */ (function () { + function DragManager() { + var _this = this; + this._transferData = {}; + this._canMove = true; + this._selectedIds = []; + this._onMouseMove = function (e) { + if (!_this._transferData.id) { + return; + } + var pageX = e.pageX, pageY = e.pageY; + if (!_this._transferData.ghost) { + if (Math.abs(_this._transferData.x - pageX) < 3 && Math.abs(_this._transferData.y - pageY) < 3) { + return; + } + else { + var ghost = _this._onDragStart(_this._transferData.id, _this._transferData.targetId); + if (!ghost) { + _this._endDrop(); + return; + } + else { + _this._transferData.ghost = ghost; + document.body.appendChild(_this._transferData.ghost); + } + } + } + _this._moveGhost(pageX, pageY); + _this._onDrag(e); + }; + this._onMouseUp = function () { + if (!_this._transferData.x) { + return; + } + if (_this._transferData.ghost) { + _this._removeGhost(); + _this._onDrop(); + } + else { + _this._endDrop(); + } + document.removeEventListener("mousemove", _this._onMouseMove); + document.removeEventListener("mouseup", _this._onMouseUp); + }; + } + DragManager.prototype.setItem = function (id, item) { + CollectionStore_1.collectionStore.setItem(id, item); + }; + DragManager.prototype.onMouseDown = function (e, selectedIds, itemsForGhost) { + if (e.which !== 1) { + return; + } + e.preventDefault(); + document.addEventListener("mousemove", this._onMouseMove); + document.addEventListener("mouseup", this._onMouseUp); + var item = html_1.locateNode(e, "dhx_id"); + var id = item && item.getAttribute("dhx_id"); + var targetId = html_1.locate(e, "dhx_widget_id"); + if (selectedIds && selectedIds.indexOf(id) !== -1 && selectedIds.length > 1) { + this._selectedIds = selectedIds; + this._itemsForGhost = itemsForGhost; + } + else { + this._selectedIds = []; + this._itemsForGhost = null; + } + if (id && targetId) { + var _a = html_1.getBox(item), left = _a.left, top_1 = _a.top; + this._transferData.initXOffset = e.pageX - left; + this._transferData.initYOffset = e.pageY - top_1; + this._transferData.x = e.pageX; + this._transferData.y = e.pageY; + this._transferData.targetId = targetId; + this._transferData.id = id; + this._transferData.item = item; + } + }; + DragManager.prototype._moveGhost = function (x, y) { + if (this._transferData.ghost) { + this._transferData.ghost.style.left = x - this._transferData.initXOffset + "px"; + this._transferData.ghost.style.top = y - this._transferData.initYOffset + "px"; + } + }; + DragManager.prototype._removeGhost = function () { + document.body.removeChild(this._transferData.ghost); + }; + DragManager.prototype._onDrop = function () { + if (!this._canMove) { + this._endDrop(); + return; + } + var target = CollectionStore_1.collectionStore.getItem(this._lastCollectionId); + var config = target && target.config; + if (!target || config.dragMode === types_1.DragMode.source) { + this._endDrop(); + return; + } + if (target.events.fire(types_1.DragEvents.beforeDrop, [this._lastId, this._transferData.target])) { + var to = { + id: this._lastId, + target: target + }; + var from = { + id: this._transferData.id, + target: this._transferData.target + }; + this._move(from, to); + to.target.events.fire(types_1.DragEvents.dropComplete, [to.id, this._transferData.dropPosition]); + } + this._endDrop(); + }; + DragManager.prototype._onDragStart = function (id, targetId) { + var target = CollectionStore_1.collectionStore.getItem(targetId); + var config = target.config; + if (config.dragMode === types_1.DragMode.target) { + return null; + } + var item = target.data.getItem(id); + var ghost = dragEventContent(this._transferData.item, this._itemsForGhost); + var ans = target.events.fire(types_1.DragEvents.beforeDrag, [item, ghost]); + if (!ans || !id) { + return null; + } + target.events.fire(types_1.DragEvents.dragStart, [id, this._selectedIds]); + this._toggleTextSelection(true); + this._transferData.target = target; + this._transferData.dragConfig = config; + return ghost; + }; + DragManager.prototype._onDrag = function (e) { + var clientX = e.clientX, clientY = e.clientY; + var element = document.elementFromPoint(clientX, clientY); + var collectionId = html_1.locate(element, "dhx_widget_id"); + if (!collectionId) { + if (this._canMove) { + this._cancelCanDrop(); + } + return; + } + var target = CollectionStore_1.collectionStore.getItem(collectionId); + var id = html_1.locate(element, "dhx_id"); + if (!id) { + this._cancelCanDrop(); + this._lastCollectionId = collectionId; + this._lastId = null; + this._canDrop(); + return; + } + if (target.config.dropBehaviour === types_1.DropBehaviour.complex) { + var pos = getPosition(e); + if (pos <= 0.25) { + this._transferData.dropPosition = types_1.DropPosition.top; + } + else if (pos >= 0.75) { + this._transferData.dropPosition = types_1.DropPosition.bot; + } + else { + this._transferData.dropPosition = types_1.DropPosition.in; + } + } + else if (this._lastId === id && this._lastCollectionId === collectionId) { + return; + } + var from = { + id: this._transferData.id, + target: this._transferData.target + }; + if (target.config.dragMode === "source") { + return; + } + from.target.events.fire(types_1.DragEvents.dragOut, [id, target]); + if (collectionId !== this._transferData.targetId || !helpers_1.isTreeCollection(from.target.data) || + (helpers_1.isTreeCollection(from.target.data) && from.target.data.canCopy(from.id, id))) { + this._cancelCanDrop(); // clear last + this._lastId = id; + this._lastCollectionId = collectionId; + var canMove = from.target.events.fire(types_1.DragEvents.dragIn, [id, this._transferData.dropPosition, CollectionStore_1.collectionStore.getItem(collectionId)]); + if (canMove) { + this._canDrop(); + } + } + else { + this._cancelCanDrop(); + } + }; + DragManager.prototype._move = function (from, to) { + var fromData = from.target.data; + var toData = to.target.data; + var index = 0; + var targetId = to.id; + var behaviour = helpers_1.isTreeCollection(toData) ? to.target.config.dropBehaviour : undefined; + switch (behaviour) { + case types_1.DropBehaviour.child: + break; + case types_1.DropBehaviour.sibling: + targetId = toData.getParent(targetId); + index = toData.getIndex(to.id) + 1; + break; + case types_1.DropBehaviour.complex: + var dropPosition = this._transferData.dropPosition; + if (dropPosition === types_1.DropPosition.top) { + targetId = toData.getParent(targetId); + index = toData.getIndex(to.id); + } + else if (dropPosition === types_1.DropPosition.bot) { + targetId = toData.getParent(targetId); + index = toData.getIndex(to.id) + 1; + } + break; + default: + // list move + if (!to.id) { + index = -1; + } + else if (from.target === to.target && toData.getIndex(from.id) < toData.getIndex(to.id)) { + index = toData.getIndex(to.id) - 1; + } + else { + index = toData.getIndex(to.id); + } + } + if (this._transferData.dragConfig.dragCopy) { + if (this._selectedIds instanceof Array && this._selectedIds.length > 1) { + this._selectedIds.map(function (selctedId) { + fromData.copy(selctedId, index, toData, targetId); + if (index > -1) { + index++; + } + }); + } + else { + fromData.copy(from.id, index, toData, targetId); + } + } + else { + if (this._selectedIds instanceof Array && this._selectedIds.length > 1) { + this._selectedIds.map(function (selctedId) { + fromData.move(selctedId, index, toData, targetId); + if (index > -1) { + index++; + } + }); + } + else { + fromData.move(from.id, index, toData, targetId); // typescript bug?? + } + } + }; + DragManager.prototype._endDrop = function () { + this._toggleTextSelection(false); + if (this._transferData.target) { + this._transferData.target.events.fire(types_1.DragEvents.dragEnd, [this._transferData.id, this._selectedIds]); + } + this._cancelCanDrop(); + this._canMove = true; + this._transferData = {}; + this._lastId = null; + this._lastCollectionId = null; + }; + DragManager.prototype._cancelCanDrop = function () { + this._canMove = false; + var collection = CollectionStore_1.collectionStore.getItem(this._lastCollectionId); + if (collection && this._lastId) { + collection.events.fire(types_1.DragEvents.cancelDrop, [this._lastId]); + } + this._lastCollectionId = null; + this._lastId = null; + }; + DragManager.prototype._canDrop = function () { + this._canMove = true; + var target = CollectionStore_1.collectionStore.getItem(this._lastCollectionId); + if (target && this._lastId) { + target.events.fire(types_1.DragEvents.canDrop, [this._lastId, this._transferData.dropPosition]); + } + }; + DragManager.prototype._toggleTextSelection = function (add) { + if (add) { + document.body.classList.add("dhx_no-select"); + } + else { + document.body.classList.remove("dhx_no-select"); + } + }; + return DragManager; +}()); +var dhx = window.dhxHelpers = window.dhxHelpers || {}; +dhx.dragManager = dhx.dragManager || new DragManager(); +exports.dragManager = dhx.dragManager; -VNodeProto.patch = protoPatch; - -function nextSubVms(n, accum) { - var body = n.body; - if (isArr(body)) { - for (var i = 0; i < body.length; i++) { - var n2 = body[i]; +/***/ }), +/* 97 */ +/***/ (function(module, exports, __webpack_require__) { - if (n2.vm != null) - { accum.push(n2.vm); } - else - { nextSubVms(n2, accum); } - } - } +"use strict"; - return accum; -} +Object.defineProperty(exports, "__esModule", { value: true }); +var CollectionStore = /** @class */ (function () { + function CollectionStore() { + this._store = {}; + } + CollectionStore.prototype.setItem = function (id, target) { + this._store[id] = target; + }; + CollectionStore.prototype.getItem = function (id) { + if (!this._store[id]) { + return null; + } + return this._store[id]; + }; + return CollectionStore; +}()); +var dhx = window.dhxHelpers = window.dhxHelpers || {}; +dhx.collectionStore = dhx.collectionStore || new CollectionStore(); +exports.collectionStore = dhx.collectionStore; -function defineElementSpread(tag) { - var args = arguments; - var len = args.length; - var body, attrs; - if (len > 1) { - var bodyIdx = 1; +/***/ }), +/* 98 */ +/***/ (function(module, exports, __webpack_require__) { - if (isPlainObj(args[1])) { - attrs = args[1]; - bodyIdx = 2; - } +"use strict"; +/* WEBPACK VAR INJECTION */(function(Promise) { +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +var dataproxy_1 = __webpack_require__(21); +var core_1 = __webpack_require__(1); +var ajax_1 = __webpack_require__(34); +var LazyDataProxy = /** @class */ (function (_super) { + __extends(LazyDataProxy, _super); + function LazyDataProxy(url, config) { + var _this = _super.call(this, url) || this; + _this.config = core_1.extend({ + from: 0, + limit: 50, + delay: 50, + prepare: 0 + }, config); + _this.updateUrl(url, { from: _this.config.from, limit: _this.config.limit }); + return _this; + } + LazyDataProxy.prototype.load = function () { + var _this = this; + return new Promise(function (resolve) { + if (!_this._timeout) { + ajax_1.ajax.get(_this.url, { responseType: "text" }).then(resolve); + _this._cooling = true; + _this._timeout = setTimeout(function () { return; }); + } + else { + clearTimeout(_this._timeout); + _this._timeout = setTimeout(function () { + ajax_1.ajax.get(_this.url, { responseType: "text" }).then(resolve); + _this._cooling = true; + }, _this.config.delay); + if (_this._cooling) { + resolve(null); + _this._cooling = false; + } + } + }); + }; + return LazyDataProxy; +}(dataproxy_1.DataProxy)); +exports.LazyDataProxy = LazyDataProxy; - if (len === bodyIdx + 1 && (isVal(args[bodyIdx]) || isArr(args[bodyIdx]) || attrs && (attrs._flags & LAZY_LIST) === LAZY_LIST)) - { body = args[bodyIdx]; } - else - { body = sliceArgs(args, bodyIdx); } - } +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12))) - return initElementNode(tag, attrs, body); -} +/***/ }), +/* 99 */ +/***/ (function(module, exports, __webpack_require__) { -function defineSvgElementSpread() { - var n = defineElementSpread.apply(null, arguments); - n.ns = SVG_NS; - return n; -} +"use strict"; -ViewModelProto.emit = emit; -ViewModelProto.onemit = null; +Object.defineProperty(exports, "__esModule", { value: true }); +var events_1 = __webpack_require__(3); +var types_1 = __webpack_require__(22); +var types_2 = __webpack_require__(15); +var Selection = /** @class */ (function () { + function Selection(_config, data, events) { + var _this = this; + this.events = events || (new events_1.EventSystem(this)); + this._data = data; + this._data.events.on(types_2.DataEvents.removeAll, function () { + _this._selected = null; + }); + this._data.events.on(types_2.DataEvents.change, function () { + if (_this._selected) { + var near = _this._data.getNearId(_this._selected); + if (near !== _this._selected) { + _this._selected = null; + if (near) { + _this.add(near); + } + } + } + }); + } + Selection.prototype.getId = function () { + return this._selected; + }; + Selection.prototype.getItem = function () { + if (this._selected) { + return this._data.getItem(this._selected); + } + return null; + }; + Selection.prototype.remove = function (id) { + id = id || this._selected; + if (!id) { + return true; + } + if (this.events.fire(types_1.SelectionEvents.beforeUnSelect, [id])) { + this._data.update(id, { $selected: false }); + this._selected = null; + this.events.fire(types_1.SelectionEvents.afterUnSelect, [id]); + return true; + } + return false; + }; + Selection.prototype.add = function (id) { + if (this._selected === id) { + return; + } + this.remove(); + if (this.events.fire(types_1.SelectionEvents.beforeSelect, [id])) { + this._selected = id; + this._data.update(id, { $selected: true }); + this.events.fire(types_1.SelectionEvents.afterSelect, [id]); + } + }; + return Selection; +}()); +exports.Selection = Selection; -ViewModelProto.body = function() { - return nextSubVms(this.node, []); -}; -nano.defineElementSpread = defineElementSpread; -nano.defineSvgElementSpread = defineSvgElementSpread; +/***/ }), +/* 100 */ +/***/ (function(module, exports, __webpack_require__) { -return nano; +"use strict"; -}))); -//# sourceMappingURL=domvm.micro.js.map +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var core_1 = __webpack_require__(1); +var dom_1 = __webpack_require__(0); +var events_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); +var scrollView_1 = __webpack_require__(101); +var view_1 = __webpack_require__(4); +var ts_data_1 = __webpack_require__(7); +var ts_layout_1 = __webpack_require__(14); +var ts_message_1 = __webpack_require__(19); +var ts_toolbar_1 = __webpack_require__(29); +var en_1 = __webpack_require__(37); +var types_1 = __webpack_require__(27); +var Uploader_1 = __webpack_require__(56); +var configs_1 = __webpack_require__(120); +var helper_1 = __webpack_require__(121); +var ProgressBar_1 = __webpack_require__(122); +var ReadStackPreview_1 = __webpack_require__(123); +var Vault = /** @class */ (function (_super) { + __extends(Vault, _super); + function Vault(container, config) { + if (config === void 0) { config = {}; } + var _this = _super.call(this, null, core_1.extend({ + mode: types_1.VaultMode.list, + toolbar: true, + updateFromResponse: true, + scaleFactor: 4, + customScroll: true, + uploader: {}, + progressBar: {} + }, config)) || this; + if (!_this.config.toolbar) { + _this.config.uploader.autosend = true; + } + if (config.data) { + _this.data = config.data; + _this.events = config.data.events; + _this.events.context = _this; + } + else { + _this.events = new events_1.EventSystem(_this); + _this.data = new ts_data_1.DataCollection({}, _this.events); + } + _this.data.config.init = function (obj) { + obj.status = obj.status || types_1.FileStatus.uploaded; + if (obj.file) { + obj.size = obj.file.size; + obj.name = obj.file.name; + } + else { + obj.size = obj.size || 0; + obj.name = obj.name || ""; + } + if (_this.config.mode === types_1.VaultMode.grid && obj.file && helper_1.isImage(obj)) { + _this._readStack.add(obj, _this.uploader.config.autosend); + } + return obj; + }; + _this._readStack = new ReadStackPreview_1.ReadStackPreview(_this.data); + _this.uploader = new Uploader_1.Uploader(_this.config.uploader, _this.data, _this.events); + _this._scrollView = new scrollView_1.ScrollView(function () { return _this._vaultView.getRootView(); }); + _this._progressBar = new ProgressBar_1.ProgressBar(_this.events, _this.config.progressBar); + _this.events.on(types_1.UploaderEvents.uploadProgress, function (progress, current, total) { return _this._progressBar.setState(progress, { current: current, total: total }); }); + _this._initHandlers(); + _this._initUI(container); + _this._initEvents(); + return _this; + } + Vault.prototype.destructor = function () { + this.toolbar.destructor(); + this._readStack.stop(); + this.uploader.unlinkDropArea(); + this.uploader.abort(); + }; + Vault.prototype.getRootView = function () { + return this._layout.getRootView(); + }; + Vault.prototype._initUI = function (container) { + var _this = this; + var cfg = this.config.toolbar ? configs_1.layoutConfig : configs_1.layoutConfigWithoutTopbar; + cfg.on = this._getDragEvents(); + var layout = this._layout = new ts_layout_1.Layout(container, cfg); + var toolbar = this.toolbar = new ts_toolbar_1.Toolbar(null, { css: "vault-toolbar" }); + this.toolbar.data.parse([ + { + id: "add", + tooltip: en_1.default.add, + type: ts_toolbar_1.ItemType.button, + icon: "dxi-plus" + }, + { + id: "upload", + tooltip: en_1.default.upload, + type: ts_toolbar_1.ItemType.button, + icon: "dxi icon-upload" // Custom Web Font Icon + }, + { + id: "spacer", + type: ts_toolbar_1.ItemType.spacer + }, + { + id: "remove-all", + tooltip: en_1.default.clearAll, + type: ts_toolbar_1.ItemType.button, + icon: "dxi-delete-forever" + } + ]); + this._hideUploadAndDeleteButtons(); + this._vaultView = view_1.toViewLike(dom_1.create({ render: function () { return _this._draw(); } })); + if (this.config.toolbar) { + layout.getCell("topbar").attach(toolbar); + } + layout.getCell("vault").attach(this._vaultView); + }; + Vault.prototype._initHandlers = function () { + var _this = this; + this._handlers = { + onclick: { + ".action-add": function () { return _this.uploader.selectFile(); }, + ".action-remove-file": function (e) { + var id = html_1.locate(e); + if (!id) { + return; + } + _this.data.update(id, { $toRemove: true }); + setTimeout(function () { + _this.data.update(id, { $toRemove: false }, true); + _this.data.remove(id); + }, 200); + } + }, + onmouseover: { + ".action-download": function (e) { + ts_message_1.tooltip(en_1.default.download, { + node: e.target, + position: ts_message_1.Position.bottom + }); + }, + ".action-remove-file": function (e) { + ts_message_1.tooltip(en_1.default.clear, { + node: e.target, + position: ts_message_1.Position.bottom + }); + }, + ".title-content, .dhx-file-name": function (e) { + var id = html_1.locate(e); + var item = _this.data.getItem(id); + ts_message_1.tooltip(item.name, { + node: e.target, + position: ts_message_1.Position.bottom, + css: "tooltip-light" + }); + } + } + }; + }; + Vault.prototype._getDragEvents = function () { + var _this = this; + var rect = { + left: null, + top: null, + width: null, + height: null + }; + return { + dragleave: function (e) { + if (!_this._canDrop) { + return; + } + if (e.pageX > rect.left + rect.width - 1 || e.pageX < rect.left || e.pageY > rect.top + rect.height - 1 || e.pageY < rect.top) { + _this._canDrop = false; + if (_this.config.toolbar) { + _this._layout.getCell("topbar").show(); + } + _this._layout.config.css = "vault-layout"; + _this._layout.paint(); + } + }, + dragenter: function (e) { + e.preventDefault(); + if (_this.uploader.isActive || _this._canDrop) { + return; + } + var types = e.dataTransfer.types; + for (var _i = 0, types_2 = types; _i < types_2.length; _i++) { + var type = types_2[_i]; + if (type !== "Files" && type !== "application/x-moz-file") { + _this._canDrop = false; + return; + } + } + _this._canDrop = true; + var clientRect = _this.getRootView().node.el.getBoundingClientRect(); + rect.left = clientRect.left + window.pageXOffset; + rect.top = clientRect.top + window.pageYOffset; + rect.width = clientRect.width; + rect.height = clientRect.height; + _this._canDrop = true; + if (_this.config.toolbar) { + _this._layout.getCell("topbar").hide(); + } + _this._layout.config.css = "vault-layout dhx-dragin"; + _this._layout.paint(); + }, + dragover: function (e) { + e.preventDefault(); + }, + drop: function (e) { + e.preventDefault(); + if (!_this._canDrop) { + return; + } + var dataTransfer = e.dataTransfer; + _this.uploader.parseFiles(dataTransfer); + _this._canDrop = false; + if (_this.config.toolbar) { + _this._layout.getCell("topbar").show(); + } + _this._layout.config.css = "vault-layout"; + _this._layout.paint(); + } + }; + }; + Vault.prototype._hideUploadAndDeleteButtons = function () { + this.toolbar.hide(["upload", "remove-all"]); + }; + Vault.prototype._showUploadAndDeleteButtons = function () { + if (this.uploader.config.autosend) { + this.toolbar.show("remove-all"); + } + else { + this.toolbar.show(["upload", "remove-all"]); + } + }; + Vault.prototype._initEvents = function () { + var _this = this; + this.data.events.on(ts_data_1.DataEvents.change, function () { + if (!_this.data.getLength()) { + _this._hideUploadAndDeleteButtons(); + } + else { + _this._showUploadAndDeleteButtons(); + } + _this._vaultView.paint(); + }); + this.events.on(types_1.UploaderEvents.uploadBegin, function () { + if (_this.config.toolbar) { + _this._layout.getCell("topbar").attach(_this._progressBar); + } + }); + this.events.on(types_1.UploaderEvents.uploadComplete, function () { + if (_this.config.mode === types_1.VaultMode.grid && _this.uploader.config.autosend) { + _this._readStack.read(); + } + if (_this.config.toolbar) { + _this._layout.getCell("topbar").attach(_this.toolbar); + } + }); + this.toolbar.events.on(ts_toolbar_1.NavigationBarEvents.click, function (id) { + switch (id) { + case "add": + _this.uploader.selectFile(); + break; + case "remove-all": + _this.data.removeAll(); + break; + case "upload": + _this.uploader.send(); + break; + } + }); + this.events.on(types_1.ProgressBarEvents.cancel, function () { + _this.uploader.abort(); + _this._vaultView.paint(); + }); + }; + Vault.prototype._draw = function () { + var isEmpty = !this.data.getLength(); + var files = this.config.mode === types_1.VaultMode.grid ? this._drawGrid() : this._drawList(); + return dom_1.el("div", __assign(__assign({ class: "vault dhx_widget" + (this._canDrop ? " drop-here" : "") }, this._handlers), { dhx_widget_id: this._uid }), [ + this._canDrop || isEmpty ? this._drawDropableArea() : + this.config.customScroll ? this._scrollView.render(files) : files + ]); + }; + Vault.prototype._getFileActions = function (file) { + var defaultActions = []; + var hoverActions = []; + var actions = [ + dom_1.el(".dhx-default-actions", defaultActions), + dom_1.el(".dhx-hover-actions", hoverActions) + ]; + if (file.status === types_1.FileStatus.inprogress) { + return actions; + } + if (file.status !== types_1.FileStatus.failed && file.link) { + var link = (this.config.downloadURL || "") + file.link; + var downloadName = link.split("/").pop().split("?")[0]; + var download = dom_1.el("a", { + download: downloadName, + class: "download-link", + href: link + }, [ + dom_1.el(".icon-btn.dxi.dxi-download.action-download") + ]); + hoverActions.push(download); + } + var remove = dom_1.el(".icon-btn.dxi.dxi-delete-forever.action-remove-file"); + hoverActions.push(remove); + if (file.status === types_1.FileStatus.failed) { + var warn = dom_1.el(".dxi.dxi-alert-circle.warning-status"); + defaultActions.push(warn); + } + if (file.status === types_1.FileStatus.uploaded) { + var uploadComplete = dom_1.el(".dxi.dxi-checkbox-marked-circle.uploaded-status"); + defaultActions.push(uploadComplete); + } + return actions; + }; + Vault.prototype._drawList = function () { + var _this = this; + return dom_1.el(".dhx-files-block.dhx-webkit-scroll", this.data.map(function (item) { + var isError = item.status === types_1.FileStatus.failed && item.request; + var inProgress = item.status === types_1.FileStatus.inprogress; + var inQueue = item.status === types_1.FileStatus.queue; + var notUploaded = item.status !== types_1.FileStatus.uploaded; + return dom_1.el("div", { + class: "dhx-file-item" + (item.$toRemove ? " to-remove" : "") + (inQueue ? " in-queue" : ""), + dhx_id: item.id, + _key: item.id + }, [ + dom_1.el(".dhx-file-icon", [ + dom_1.el("div", { + class: "dhx-file-type " + helper_1.getFileClassName(item) + (notUploaded ? " not-loaded" : "") + }) + ]), + dom_1.el(".dhx-file-title", [ + dom_1.el(".dhx-title-content", item.name), + dom_1.el(".dhx-file-info", [ + isError && dom_1.el(".warn-message", item.request.statusText || en_1.default.error), + inProgress ? dom_1.el(".progress-value", (item.progress * 100).toFixed(1) + "%") + : dom_1.el(".dhx-size" + (isError && ".dhx-size-error" || ""), helper_1.getBasis(item.size)) + ]) + ]), + inProgress && dom_1.el(".dhx-download-progress", { + style: { + width: (item.progress * 100).toFixed(1) + "%" + } + }), + !inProgress && dom_1.el(".dhx-file-action", _this._getFileActions(item)) + ]); + })); + }; + Vault.prototype._drawDropableArea = function () { + return dom_1.el(".dhx-dropable-area.drop-files-here", [ + dom_1.el(".dhx-big-icon-block", [ + dom_1.el(".dxi.icon-upload") // Custom Web Font Icon + ]), + !this._canDrop && dom_1.el(".drop-area-bold-text", en_1.default.dragAndDrop), + !this._canDrop && dom_1.el(".drop-area-bold-text", en_1.default.filesOrFoldersHere), + !this._canDrop && dom_1.el(".drop-area-light-text", en_1.default.or), + !this._canDrop && dom_1.el("button.dhx_btn.dhx_btn--flat.dhx_btn--small.action-add", en_1.default.browse) + ]); + }; + Vault.prototype._drawGrid = function () { + var _this = this; + return dom_1.el("div", { + class: "dhx-files-grid dhx-webkit-scroll" + }, [ + dom_1.el(".dhx-grid-content", this.data.map(function (item) { + var inProgress = item.status === types_1.FileStatus.inprogress; + var inQueue = item.status === types_1.FileStatus.queue; + var isError = item.status === types_1.FileStatus.failed; + return dom_1.el("div", { + class: "dhx-file-grid-item" + (inProgress ? " in-progress" : "") + + (item.$toRemove ? " to-remove" : "") + (inQueue ? " in-queue" : "") + (isError ? " failed" : ""), + dhx_id: item.id, + _key: item.id + }, [ + dom_1.el(".dhx-preview-wrapper", __spreadArrays([ + item.preview ? dom_1.el(".dhx-server-file-preview", [ + dom_1.el("img", { src: item.preview }) + ]) : + item.image ? dom_1.el("canvas", { + width: 98 * _this.config.scaleFactor, + height: 98 * _this.config.scaleFactor, + _hooks: { + didInsert: function (node) { + var _a = helper_1.calculateCover(item.image), dx = _a.dx, dy = _a.dy, sx = _a.sx, sy = _a.sy, sHeight = _a.sHeight, sWidth = _a.sWidth; + var ctx = node.el.getContext("2d"); + ctx.drawImage(item.image, sx, sy, sWidth, sHeight, dx, dy, 98 * _this.config.scaleFactor, 98 * _this.config.scaleFactor); + } + } + }) : dom_1.el("div", { + class: "dhx-file-preview dhx-file-type " + helper_1.getFileClassName(item) + }), + inProgress && _this._drawCircle(item.progress) + ], _this._getFileActions(item), [ + dom_1.el(".dhx-file-info", [ + isError && dom_1.el(".warn-message", item.request.statusText || en_1.default.error), + !inProgress && dom_1.el(".dhx-size" + (isError && ".dhx-size-error" || ""), helper_1.getBasis(item.size)) + ]) + ])), + dom_1.el(".dhx-file-name", helper_1.truncateWord(item.name)) + ]); + })) + ]); + }; + Vault.prototype._drawCircle = function (progress) { + return dom_1.el(".progress-layout", [ + dom_1.el(".progress-amount", (progress * 100).toFixed(1) + "%"), + dom_1.sv("svg", { + xmlns: "http://www.w3.org/2000/svg", + class: "progress-circle", + viewBox: "0 0 60 60", + }, [ + dom_1.sv("circle", { + "cx": 30, + "cy": 30, + "r": 28, + "stroke-width": 4, + "class": "progress-bar-background", + }), + dom_1.sv("circle.active-circle", { + "cx": 30, + "cy": 30, + "r": 28, + "stroke-width": 4, + "stroke-dasharray": "175.9 175.9", + "stroke-dashoffset": (1 - progress) * 175.9, + "class": "progress-bar-active", + }), + ]) + ]); + }; + return Vault; +}(view_1.View)); +exports.Vault = Vault; /***/ }), -/* 98 */ +/* 101 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -10879,12 +11989,12 @@ return nano; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var html_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var ScrollView = /** @class */ (function () { function ScrollView(getRootView, config) { var _a; - if (config === void 0) { config = {}; } var _this = this; + if (config === void 0) { config = {}; } this.config = core_1.extend({ speed: 20 }, config); @@ -10988,8 +12098,8 @@ var ScrollView = /** @class */ (function () { _a); } ScrollView.prototype.render = function (element) { - var _this = this; var _a; + var _this = this; if (this._scrollWidth === 0) { return element; } @@ -11079,7 +12189,7 @@ exports.ScrollView = ScrollView; /***/ }), -/* 99 */ +/* 102 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11098,7 +12208,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var Cell_1 = __webpack_require__(100); +var Cell_1 = __webpack_require__(103); +var types_1 = __webpack_require__(28); var dom_1 = __webpack_require__(0); var Layout = /** @class */ (function (_super) { __extends(Layout, _super); @@ -11108,6 +12219,10 @@ var Layout = /** @class */ (function (_super) { _this._root = _this.config.parent || _this; _this._all = {}; _this._parseConfig(); + if (_this.config.activeTab) { + _this.config.activeView = _this.config.activeTab; + } + // Need replace to tabbar if (_this.config.views) { _this.config.activeView = _this.config.activeView || _this._cells[0].id; _this._isViewLayout = true; @@ -11118,13 +12233,9 @@ var Layout = /** @class */ (function (_super) { } return _this; } - Layout.prototype.cell = function (id) { - // FIXME - return this._root._all[id]; - }; Layout.prototype.toVDOM = function () { if (this._isViewLayout) { - var roots = [this.cell(this.config.activeView).toVDOM()]; + var roots = [this.getCell(this.config.activeView).toVDOM()]; return _super.prototype.toVDOM.call(this, roots); } var nodes = []; @@ -11140,27 +12251,37 @@ var Layout = /** @class */ (function (_super) { return _super.prototype.toVDOM.call(this, nodes); }; Layout.prototype.removeCell = function (id) { + if (!this.events.fire(types_1.LayoutEvents.beforeRemove, [id])) { + return; + } var root = (this.config.parent || this); if (root !== this) { return root.removeCell(id); } // this === root layout - var view = this.cell(id); + var view = this.getCell(id); if (view) { var parent_1 = view.getParent(); delete this._all[id]; parent_1._cells = parent_1._cells.filter(function (cell) { return cell.id !== id; }); parent_1.paint(); } + this.events.fire(types_1.LayoutEvents.afterRemove, [id]); }; Layout.prototype.addCell = function (config, index) { if (index === void 0) { index = -1; } + if (!this.events.fire(types_1.LayoutEvents.beforeAdd, [config.id])) { + return; + } var view = this._createCell(config); if (index < 0) { index = this._cells.length + index + 1; } this._cells.splice(index, 0, view); this.paint(); + if (!this.events.fire(types_1.LayoutEvents.afterAdd, [config.id])) { + return; + } }; Layout.prototype.getId = function (index) { if (index < 0) { @@ -11171,6 +12292,33 @@ var Layout = /** @class */ (function (_super) { Layout.prototype.getRefs = function (name) { return this._root.getRootView().refs[name]; }; + Layout.prototype.getCell = function (id) { + return this._root._all[id]; + }; + Layout.prototype.forEach = function (cb, parent, level) { + if (level === void 0) { level = Infinity; } + if (!this._haveCells(parent) || level < 1) { + return; + } + var array; + if (parent) { + array = this._root._all[parent]._cells; + } + else { + array = this._root._cells; + } + for (var index = 0; index < array.length; index++) { + var cell = array[index]; + cb.call(this, cell, index, array); + if (this._haveCells(cell.id)) { + cell.forEach(cb, cell.id, --level); + } + } + }; + // TODO: remove sute_7.0 + Layout.prototype.cell = function (id) { + return this.getCell(id); + }; Layout.prototype._getCss = function (content) { var layoutCss = this._xLayout ? "dhx_layout-columns" : "dhx_layout-rows"; var directionCss = this.config.align ? " " + layoutCss + "--" + this.config.align : ""; @@ -11203,13 +12351,20 @@ var Layout = /** @class */ (function (_super) { this._root._all[view.id] = view; return view; }; + Layout.prototype._haveCells = function (id) { + if (id) { + var array = this._root._all[id]; + return array._cells && array._cells.length > 0; + } + return Object.keys(this._all).length > 0; + }; return Layout; }(Cell_1.Cell)); exports.Layout = Layout; /***/ }), -/* 100 */ +/* 103 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11242,64 +12397,27 @@ Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); var view_1 = __webpack_require__(4); -var resizeMode; -(function (resizeMode) { - resizeMode[resizeMode["unknown"] = 0] = "unknown"; - resizeMode[resizeMode["percents"] = 1] = "percents"; - resizeMode[resizeMode["pixels"] = 2] = "pixels"; - resizeMode[resizeMode["mixedpx1"] = 3] = "mixedpx1"; - resizeMode[resizeMode["mixedpx2"] = 4] = "mixedpx2"; - resizeMode[resizeMode["mixedperc1"] = 5] = "mixedperc1"; - resizeMode[resizeMode["mixedperc2"] = 6] = "mixedperc2"; -})(resizeMode || (resizeMode = {})); -function getResizeMode(dir, conf1, conf2) { - var field = dir ? "width" : "height"; - var is1perc = conf1[field] && conf1[field].indexOf("%") !== -1; - var is2perc = conf2[field] && conf2[field].indexOf("%") !== -1; - var is1px = conf1[field] && conf1[field].indexOf("px") !== -1; - var is2px = conf2[field] && conf2[field].indexOf("px") !== -1; - if (is1perc && is2perc) { - return resizeMode.percents; - } - if (is1px && is2px) { - return resizeMode.pixels; - } - if (is1px && !is2px) { - return resizeMode.mixedpx1; - } - if (is2px && !is1px) { - return resizeMode.mixedpx2; - } - if (is1perc) { - return resizeMode.mixedperc1; - } - if (is2perc) { - return resizeMode.mixedperc2; - } - return resizeMode.unknown; -} -function getBlockRange(block1, block2, isXLayout) { - if (isXLayout === void 0) { isXLayout = true; } - if (isXLayout) { - return { - min: block1.left + window.pageXOffset, - max: block2.right + window.pageXOffset - }; - } - return { - min: block1.top + window.pageYOffset, - max: block2.bottom + window.pageYOffset - }; -} +var types_1 = __webpack_require__(28); +var helpers_1 = __webpack_require__(104); +var events_1 = __webpack_require__(3); var Cell = /** @class */ (function (_super) { __extends(Cell, _super); function Cell(parent, config) { - var _this = _super.call(this, parent, core_1.extend({ gravity: true }, config)) || this; + var _this = _super.call(this, parent, core_1.extend({ gravity: true, collapsed: false }, config)) || this; + _this._disabled = []; var p = parent; if (p && p.isVisible) { _this._parent = p; } - _this.config.full = _this.config.full === undefined ? Boolean(_this.config.header || _this.config.collapsable) : _this.config.full; + if (_this._parent && _this._parent.events) { + _this.events = _this._parent.events; + } + else { + _this.events = new events_1.EventSystem(_this); + } + _this.config.full = _this.config.full === undefined ? Boolean(_this.config.header || + _this.config.collapsable || _this.config.headerHeight || _this.config.headerIcon || _this.config.headerImage) + : _this.config.full; _this._initHandlers(); _this.id = _this.config.id || core_1.uid(); return _this; @@ -11332,12 +12450,19 @@ var Cell = /** @class */ (function (_super) { return !this.config.hidden && (!this._parent || this._parent.isVisible()); }; Cell.prototype.hide = function () { + if (!this.events.fire(types_1.LayoutEvents.beforeHide, [this.id])) { + return; + } this.config.hidden = true; if (this._parent && this._parent.paint) { this._parent.paint(); } + this.events.fire(types_1.LayoutEvents.afterHide, [this.id]); }; Cell.prototype.show = function () { + if (!this.events.fire(types_1.LayoutEvents.beforeShow, [this.id])) { + return; + } if (this._parent && this._parent.config.activeView) { this._parent.config.activeView = this.id; } @@ -11348,6 +12473,31 @@ var Cell = /** @class */ (function (_super) { this._parent.show(); } this.paint(); + this.events.fire(types_1.LayoutEvents.afterShow, [this.id]); + }; + Cell.prototype.expand = function () { + if (!this.events.fire(types_1.LayoutEvents.beforeExpand, [this.id])) { + return; + } + this.config.collapsed = false; + this.events.fire(types_1.LayoutEvents.afterExpand, [this.id]); + this.paint(); + }; + Cell.prototype.collapse = function () { + if (!this.events.fire(types_1.LayoutEvents.beforeCollapse, [this.id])) { + return; + } + this.config.collapsed = true; + this.events.fire(types_1.LayoutEvents.afterCollapse, [this.id]); + this.paint(); + }; + Cell.prototype.toggle = function () { + if (this.config.collapsed) { + this.expand(); + } + else { + this.collapse(); + } }; Cell.prototype.getParent = function () { return this._parent; @@ -11413,7 +12563,7 @@ var Cell = /** @class */ (function (_super) { } } var resizer = this.config.resizable && !this._isLastCell() && !this.config.collapsed ? - dom_1.el(".dhx_layout-resizer." + (this._isXDirection() ? "dhx_layout-resizer--x" : "dhx_layout-resizer--y"), __assign({}, this._resizerHandlers, { _ref: "resizer_" + this._uid }), [dom_1.el("span.dhx_layout-resizer__icon", { + dom_1.el(".dhx_layout-resizer." + (this._isXDirection() ? "dhx_layout-resizer--x" : "dhx_layout-resizer--y"), __assign(__assign({}, this._resizerHandlers), { _ref: "resizer_" + this._uid }), [dom_1.el("span.dhx_layout-resizer__icon", { class: "dxi " + (this._isXDirection() ? "dxi-dots-vertical" : "dxi-dots-horizontal") })]) : null; var handlers = {}; @@ -11422,11 +12572,11 @@ var Cell = /** @class */ (function (_super) { handlers["on" + key] = this.config.on[key]; } } - var cell = dom_1.el("div", __assign((_a = { _key: this._uid, style: this.config.full || this.config.html ? style : __assign({}, style, stylePadding), _ref: this._uid }, _a["aria-labelledby"] = this.config.id ? "tab-content-" + this.config.id : null, _a), handlers, { class: this._getCss(false) + + var cell = dom_1.el("div", __assign(__assign((_a = { _key: this._uid, style: this.config.full || this.config.html ? style : __assign(__assign({}, style), stylePadding), _ref: this._uid }, _a["aria-labelledby"] = this.config.id ? "tab-content-" + this.config.id : null, _a), handlers), { class: this._getCss(false) + (this.config.css ? " " + this.config.css : "") + (this.config.collapsed ? " dhx_layout-cell--collapsed" : "") + (this.config.resizable ? " dhx_layout-cell--resizeble" : "") + - // только для селов + // for cells only (this.config.gravity ? " dhx_layout-cell--gravity" : "") }), this.config.full ? [ dom_1.el("div", { tabindex: this.config.collapsable ? "0" : "-1", @@ -11435,10 +12585,13 @@ var Cell = /** @class */ (function (_super) { (this.config.collapsable ? " dhx_layout-cell-header--collapseble" : "") + (this.config.collapsed ? " dhx_layout-cell-header--collapsed" : "") + (((this.getParent() || {}).config || {}).isAccordion ? " dhx_layout-cell-header--accordion" : ""), - onclick: this._handlers.collapse, + style: { + height: this.config.headerHeight + }, + onclick: this._handlers.toggle, onkeydown: this._handlers.enterCollapse }, [ - this.config.headerIcon && dom_1.el("span.dhx_layout-cell-header__icon" + this.config.headerIcon), + this.config.headerIcon && dom_1.el("span.dhx_layout-cell-header__icon", { class: this.config.headerIcon }), this.config.headerImage && dom_1.el(".dhx_layout-cell-header__image-wrapper", [ dom_1.el("img", { src: this.config.headerImage, @@ -11446,12 +12599,16 @@ var Cell = /** @class */ (function (_super) { }) ]), this.config.header && dom_1.el("h3.dhx_layout-cell-header__title", this.config.header), - this.config.collapsable && dom_1.el("div.dhx_layout-cell-header__collapse-icon", { - class: this._getCollapseIcon() - }), + this.config.collapsable + ? dom_1.el("div.dhx_layout-cell-header__collapse-icon", { + class: this._getCollapseIcon() + }) + : dom_1.el("div.dhx_layout-cell-header__collapse-icon", { + class: "dxi dxi-empty" + }) ]), !this.config.collapsed ? dom_1.el("div", { - "style": this.config.html || nodes ? stylePadding : null, + "style": __assign(__assign({}, stylePadding), { height: "calc(100% - " + (this.config.headerHeight || 37) + "px)" }), ".innerHTML": this.config.html, "class": this._getCss(true) + " dhx_layout-cell-content", }, kids) : null @@ -11471,6 +12628,31 @@ var Cell = /** @class */ (function (_super) { }; Cell.prototype._initHandlers = function () { var _this = this; + this._handlers = { + enterCollapse: function (e) { + if (e.keyCode === 13) { + _this._handlers.toggle(); + } + }, + collapse: function () { + if (!_this.config.collapsable) { + return; + } + _this.collapse(); + }, + expand: function () { + if (!_this.config.collapsable) { + return; + } + _this.expand(); + }, + toggle: function () { + if (!_this.config.collapsable) { + return; + } + _this.toggle(); + } + }; var blockOpts = { left: null, top: null, @@ -11488,9 +12670,10 @@ var Cell = /** @class */ (function (_super) { document.body.classList.remove("dhx_no-select--resize"); document.removeEventListener("mouseup", mouseUp); document.removeEventListener("mousemove", mouseMove); + _this.events.fire(types_1.LayoutEvents.afterResizeEnd, [_this.id]); }; var mouseMove = function (e) { - if (!blockOpts.isActive || blockOpts.mode === resizeMode.unknown) { + if (!blockOpts.isActive || blockOpts.mode === types_1.resizeMode.unknown) { return; } var newValue = blockOpts.xLayout @@ -11504,42 +12687,29 @@ var Cell = /** @class */ (function (_super) { newValue = blockOpts.size - blockOpts.resizerLength; } switch (blockOpts.mode) { - case resizeMode.pixels: + case types_1.resizeMode.pixels: _this.config[prop] = newValue - blockOpts.resizerLength / 2 + "px"; blockOpts.nextCell.config[prop] = blockOpts.size - newValue - blockOpts.resizerLength / 2 + "px"; break; - case resizeMode.mixedpx1: + case types_1.resizeMode.mixedpx1: _this.config[prop] = newValue - blockOpts.resizerLength / 2 + "px"; break; - case resizeMode.mixedpx2: + case types_1.resizeMode.mixedpx2: blockOpts.nextCell.config[prop] = blockOpts.size - newValue - blockOpts.resizerLength / 2 + "px"; break; - case resizeMode.percents: + case types_1.resizeMode.percents: _this.config[prop] = newValue / blockOpts.size * blockOpts.percentsum + "%"; blockOpts.nextCell.config[prop] = (blockOpts.size - newValue) / blockOpts.size * blockOpts.percentsum + "%"; break; - case resizeMode.mixedperc1: + case types_1.resizeMode.mixedperc1: _this.config[prop] = newValue / blockOpts.size * blockOpts.percentsum + "%"; break; - case resizeMode.mixedperc2: + case types_1.resizeMode.mixedperc2: blockOpts.nextCell.config[prop] = (blockOpts.size - newValue) / blockOpts.size * blockOpts.percentsum + "%"; break; } _this.paint(); - }; - this._handlers = { - enterCollapse: function (e) { - if (e.keyCode === 13) { - _this._handlers.collapse(); - } - }, - collapse: function () { - if (!_this.config.collapsable) { - return; - } - _this.config.collapsed = !_this.config.collapsed; - _this.paint(); - } + _this.events.fire(types_1.LayoutEvents.resize, [_this.id]); }; this._resizerHandlers = { onmousedown: function (e) { @@ -11549,6 +12719,9 @@ var Cell = /** @class */ (function (_super) { if (blockOpts.isActive) { mouseUp(); } + if (!_this.events.fire(types_1.LayoutEvents.beforeResizeStart, [_this.id])) { + return; + } document.body.classList.add("dhx_no-select--resize"); var block = _this.getCellView(); var nextCell = _this._getNextCell(); @@ -11560,21 +12733,21 @@ var Cell = /** @class */ (function (_super) { blockOpts.xLayout = _this._isXDirection(); blockOpts.left = blockOffsets.left + window.pageXOffset; blockOpts.top = blockOffsets.top + window.pageYOffset; - blockOpts.range = getBlockRange(blockOffsets, nextBlockOffsets, blockOpts.xLayout); + blockOpts.range = helpers_1.getBlockRange(blockOffsets, nextBlockOffsets, blockOpts.xLayout); blockOpts.size = blockOpts.range.max - blockOpts.range.min; blockOpts.isActive = true; blockOpts.nextCell = nextCell; blockOpts.resizerLength = blockOpts.xLayout ? resizerOffsets.width : resizerOffsets.height; - blockOpts.mode = getResizeMode(blockOpts.xLayout, _this.config, nextCell.config); - if (blockOpts.mode === resizeMode.percents) { + blockOpts.mode = helpers_1.getResizeMode(blockOpts.xLayout, _this.config, nextCell.config); + if (blockOpts.mode === types_1.resizeMode.percents) { var field = blockOpts.xLayout ? "width" : "height"; blockOpts.percentsum = parseFloat(_this.config[field]) + parseFloat(nextCell.config[field]); } - if (blockOpts.mode === resizeMode.mixedperc1) { + if (blockOpts.mode === types_1.resizeMode.mixedperc1) { var field = blockOpts.xLayout ? "width" : "height"; blockOpts.percentsum = 1 / (blockOffsets[field] / (blockOpts.size - blockOpts.resizerLength)) * parseFloat(_this.config[field]); } - if (blockOpts.mode === resizeMode.mixedperc2) { + if (blockOpts.mode === types_1.resizeMode.mixedperc2) { var field = blockOpts.xLayout ? "width" : "height"; blockOpts.percentsum = 1 / (nextBlockOffsets[field] / (blockOpts.size - blockOpts.resizerLength)) * parseFloat(nextCell.config[field]); } @@ -11630,16 +12803,12 @@ var Cell = /** @class */ (function (_super) { } else { if (config.height !== undefined && !config.collapsed) { - style.flexBasis = config.height; style.height = config.height; } if (config.width !== undefined) { style.width = config.width; } } - // if (config.padding) { - // style.padding = config.padding; - // } return style; }; return Cell; @@ -11648,14 +12817,65 @@ exports.Cell = Cell; /***/ }), -/* 101 */ +/* 104 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var html_1 = __webpack_require__(3); -var types_1 = __webpack_require__(33); +var types_1 = __webpack_require__(28); +function getResizeMode(isXLayout, conf1, conf2) { + var field = isXLayout ? "width" : "height"; + var is1perc = conf1[field] && conf1[field].indexOf("%") !== -1; + var is2perc = conf2[field] && conf2[field].indexOf("%") !== -1; + var is1px = conf1[field] && conf1[field].indexOf("px") !== -1; + var is2px = conf2[field] && conf2[field].indexOf("px") !== -1; + if (is1perc && is2perc) { + return types_1.resizeMode.percents; + } + if (is1px && is2px) { + return types_1.resizeMode.pixels; + } + if (is1px && !is2px) { + return types_1.resizeMode.mixedpx1; + } + if (is2px && !is1px) { + return types_1.resizeMode.mixedpx2; + } + if (is1perc) { + return types_1.resizeMode.mixedperc1; + } + if (is2perc) { + return types_1.resizeMode.mixedperc2; + } + return types_1.resizeMode.unknown; +} +exports.getResizeMode = getResizeMode; +function getBlockRange(block1, block2, isXLayout) { + if (isXLayout === void 0) { isXLayout = true; } + if (isXLayout) { + return { + min: block1.left + window.pageXOffset, + max: block2.right + window.pageXOffset + }; + } + return { + min: block1.top + window.pageYOffset, + max: block2.bottom + window.pageYOffset + }; +} +exports.getBlockRange = getBlockRange; + + +/***/ }), +/* 105 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var html_1 = __webpack_require__(2); +var types_1 = __webpack_require__(35); var nodeTimeout = new WeakMap(); var containers = new Map(); function onExpire(node, fromClick) { @@ -11691,7 +12911,7 @@ function message(props) { } props.position = props.position || types_1.MessageContainerPosition.topRight; var messageBox = document.createElement("div"); - messageBox.className = "dhx_message " + (props.css || ""); + messageBox.className = "dhx_widget dhx_message " + (props.css || ""); if (props.html) { messageBox.innerHTML = props.html; } @@ -11742,20 +12962,20 @@ function createMessageContainer(parent, position) { /***/ }), -/* 102 */ +/* 106 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(Promise) { Object.defineProperty(exports, "__esModule", { value: true }); -var en_1 = __webpack_require__(34); -var common_1 = __webpack_require__(59); +var en_1 = __webpack_require__(36); +var common_1 = __webpack_require__(61); function alert(props) { var apply = props.buttons && props.buttons[0] ? props.buttons[0] : en_1.default.apply; var unblock = common_1.blockScreen(props.blockerCss); return new Promise(function (res) { var alertBox = document.createElement("div"); - alertBox.className = "dhx_alert " + (props.css || ""); + alertBox.className = "dhx_widget dhx_alert " + (props.css || ""); alertBox.innerHTML = "\n\t\t\t" + (props.header ? "
" + props.header + "
" : "") + "\n\t\t\t" + (props.text ? "
" + props.text + "
" : "") + "\n\t\t\t"; document.body.appendChild(alertBox); alertBox.querySelector(".dhx_alert__apply-button").focus(); @@ -11768,17 +12988,17 @@ function alert(props) { } exports.alert = alert; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(14))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12))) /***/ }), -/* 103 */ +/* 107 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(Promise) { Object.defineProperty(exports, "__esModule", { value: true }); -var en_1 = __webpack_require__(34); -var common_1 = __webpack_require__(59); +var en_1 = __webpack_require__(36); +var common_1 = __webpack_require__(61); function confirm(props) { var apply = props.buttons && props.buttons[0] ? props.buttons[0] : en_1.default.apply; var reject = props.buttons && props.buttons[1] ? props.buttons[1] : en_1.default.reject; @@ -11791,7 +13011,7 @@ function confirm(props) { res(val); }; var confirmBox = document.createElement("div"); - confirmBox.className = "dhx_alert dhx_alert--confirm" + (props.css ? " " + props.css : ""); + confirmBox.className = "dhx_widget dhx_alert dhx_alert--confirm" + (props.css ? " " + props.css : ""); confirmBox.innerHTML = "\n\t\t" + (props.header ? "
" + props.header + "
" : "") + "\n\t\t" + (props.text ? "
" + props.text + "
" : "") + "\n\t\t\t"; document.body.appendChild(confirmBox); confirmBox.querySelector(".dhx_alert__confirm-reject").focus(); @@ -11805,10 +13025,10 @@ function confirm(props) { } exports.confirm = confirm; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(14))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12))) /***/ }), -/* 104 */ +/* 108 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11829,8 +13049,8 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var html_1 = __webpack_require__(3); -var ts_navbar_1 = __webpack_require__(15); +var html_1 = __webpack_require__(2); +var ts_navbar_1 = __webpack_require__(17); var ts_message_1 = __webpack_require__(19); var Toolbar = /** @class */ (function (_super) { __extends(Toolbar, _super); @@ -11918,6 +13138,7 @@ var Toolbar = /** @class */ (function (_super) { ts_navbar_1.ItemType.title, ts_navbar_1.ItemType.navItem, ts_navbar_1.ItemType.menuItem, + ts_navbar_1.ItemType.customHTML, ], widgetName: "toolbar" }); @@ -11962,10 +13183,10 @@ var Toolbar = /** @class */ (function (_super) { Toolbar.prototype._getMode = function (item, root) { return item.id === root ? "bottom" : "right"; }; - Toolbar.prototype._close = function () { + Toolbar.prototype._close = function (e) { this._activePosition = null; this._currentRoot = null; - _super.prototype._close.call(this); + _super.prototype._close.call(this, e); }; Toolbar.prototype._setRoot = function (id) { if (this.data.getParent(id) === this.data.getRoot()) { @@ -11978,7 +13199,7 @@ exports.Toolbar = Toolbar; /***/ }), -/* 105 */ +/* 109 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12010,12 +13231,12 @@ var __assign = (this && this.__assign) || function () { Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); -var html_1 = __webpack_require__(3); +var events_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var Keymanager_1 = __webpack_require__(13); var view_1 = __webpack_require__(4); var ts_data_1 = __webpack_require__(7); -var types_1 = __webpack_require__(22); +var types_1 = __webpack_require__(23); var Navbar = /** @class */ (function (_super) { __extends(Navbar, _super); function Navbar(element, config) { @@ -12037,10 +13258,10 @@ var Navbar = /** @class */ (function (_super) { _this.data = new ts_data_1.TreeCollection({}, _this.events); } _this._documentClick = function (e) { - if (html_1.locate(e, "dhx_widget_id") !== _this._uid && _this._documentHaveListener) { + if (_this._documentHaveListener) { document.removeEventListener("click", _this._documentClick); _this._documentHaveListener = false; - _this._close(); + _this._close(e); } }; _this._currentRoot = _this.data.getRoot(); @@ -12063,6 +13284,12 @@ var Navbar = /** @class */ (function (_super) { Navbar.prototype.enable = function (ids) { this._setProp(ids, "disabled", false); }; + Navbar.prototype.isDisabled = function (id) { + var item = this.data.getItem(id); + if (item) { + return item.disabled || false; + } + }; Navbar.prototype.show = function (ids) { this._setProp(ids, "hidden", false); }; @@ -12077,8 +13304,11 @@ var Navbar = /** @class */ (function (_super) { Navbar.prototype._customHandlers = function () { return {}; }; - Navbar.prototype._close = function () { + Navbar.prototype._close = function (e) { var _this = this; + if (!this._popupActive || !this.events.fire(types_1.NavigationBarEvents.beforeHide, [this._activeMenu, e])) { + return; + } if (this._activeParents) { this._activeParents.forEach(function (parentId) { return _this.data.exists(parentId) && _this.data.update(parentId, { $activeParent: false }); }); } @@ -12086,14 +13316,16 @@ var Navbar = /** @class */ (function (_super) { this._isActive = false; } clearTimeout(this._currentTimeout); + this._popupActive = false; this._activeMenu = null; + this.events.fire(types_1.NavigationBarEvents.afterHide, [e]); this.paint(); }; Navbar.prototype._init = function () { var _this = this; var render = function () { return dom_1.el("div", { dhx_widget_id: _this._uid, - class: "dhx_" + (_this._isContextMenu ? " dhx_context-menu" : ""), + class: (_this._isContextMenu ? " dhx_context-menu" : "") + " " + (_this.config.css ? _this.config.css.split(" ").map(function (i) { return i + "--context-menu"; }).join(" ") : ""), onmousemove: _this._handlers.onmousemove, onmouseleave: _this._handlers.onmouseleave, onclick: _this._handlers.onclick, @@ -12123,16 +13355,27 @@ var Navbar = /** @class */ (function (_super) { } var id = elem.getAttribute("dhx_id"); if (_this._activeMenu !== id) { - _this._activeMenu = id; if (_this.data.haveItems(id)) { var position = html_1.getRealPosition(elem); _this.data.update(id, { $position: position }, false); } - _this._activeItemChange(id); + _this._activeItemChange(id, e); } - }, onmouseleave: function () { + }, onmouseleave: function (e) { if (_this.config.navigationType !== types_1.NavigationType.click) { // maybe all time when mouse leave close menu - _this._activeItemChange(null); + if (_this._popupActive) { + var element = html_1.locateNode(e, "dhx_id", "relatedTarget"); + if (element) { + var id = element.getAttribute("dhx_id"); + if (!_this.data.getItem(id)) { + _this._close(e); + } + } + else { + _this._close(e); + } + } + _this._activeItemChange(null, e); } }, onclick: function (e) { var element = html_1.locateNode(e); @@ -12146,17 +13389,15 @@ var Navbar = /** @class */ (function (_super) { } if (_this.data.haveItems(id)) { if (id === _this._currentRoot) { - _this._close(); return; } if (!_this._isActive) { _this._isActive = true; } _this._setRoot(id); - _this._activeMenu = id; var position = html_1.getRealPosition(element); _this.data.update(id, { $position: position }, false); - _this._activeItemChange(id); + _this._activeItemChange(id, e); } else { switch (item.type) { @@ -12177,7 +13418,7 @@ var Navbar = /** @class */ (function (_super) { _this.events.fire(types_1.NavigationBarEvents.click, [id, e]); // missed break for trigger close default: - _this._close(); + _this._close(e); } } }, onmousedown: function (e) { @@ -12305,6 +13546,7 @@ var Navbar = /** @class */ (function (_super) { return null; } var item = _this.data.getItem(itemId) || _this._rootItem; // for root item + _this._popupActive = true; return dom_1.el("ul", { class: "dhx_widget dhx_menu" + (_this.config.menuCss ? " " + _this.config.menuCss : ""), _key: itemId, @@ -12342,9 +13584,9 @@ var Navbar = /** @class */ (function (_super) { this.data.update(item.id, { active: !item.active }); } this.events.fire(types_1.NavigationBarEvents.click, [id, e]); - this._close(); + this._close(e); }; - Navbar.prototype._activeItemChange = function (id) { + Navbar.prototype._activeItemChange = function (id, e) { var _this = this; if (this._activeParents) { var parentIds_1 = this._getParents(id, this._currentRoot); @@ -12358,13 +13600,14 @@ var Navbar = /** @class */ (function (_super) { this._listenOuterClick(); } if (id && this.data.haveItems(id)) { - this.events.fire(types_1.NavigationBarEvents.openMenu, [id]); + if (this._activeMenu !== id || !this._popupActive) { + this.events.fire(types_1.NavigationBarEvents.openMenu, [id]); + } this._activeMenu = id; clearTimeout(this._currentTimeout); this.paint(); } else { - this._activeMenu = id; clearTimeout(this._currentTimeout); this._currentTimeout = setTimeout(function () { return _this.paint(); }, 400); } @@ -12379,8 +13622,8 @@ var Navbar = /** @class */ (function (_super) { }); }; Navbar.prototype._setProp = function (id, key, value) { - var _this = this; var _a; + var _this = this; if (Array.isArray(id)) { id.forEach(function (itemId) { var _a; @@ -12411,23 +13654,23 @@ function addInGroups(groups, item) { /***/ }), -/* 106 */ +/* 110 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var button_1 = __webpack_require__(107); -var navItem_1 = __webpack_require__(108); -var customHTMLButton_1 = __webpack_require__(109); -var imageButton_1 = __webpack_require__(110); -var input_1 = __webpack_require__(111); -var menuItem_1 = __webpack_require__(112); -var separator_1 = __webpack_require__(113); -var spacer_1 = __webpack_require__(114); -var title_1 = __webpack_require__(115); -var types_1 = __webpack_require__(22); -var helpers_1 = __webpack_require__(23); +var button_1 = __webpack_require__(111); +var navItem_1 = __webpack_require__(112); +var customHTMLButton_1 = __webpack_require__(113); +var imageButton_1 = __webpack_require__(114); +var input_1 = __webpack_require__(115); +var menuItem_1 = __webpack_require__(116); +var separator_1 = __webpack_require__(117); +var spacer_1 = __webpack_require__(118); +var title_1 = __webpack_require__(119); +var types_1 = __webpack_require__(23); +var helpers_1 = __webpack_require__(24); function itemfactory(item, events, widgetName, props) { switch (item.type) { case types_1.ItemType.navItem: @@ -12448,7 +13691,7 @@ function itemfactory(item, events, widgetName, props) { case types_1.ItemType.menuItem: return menuItem_1.menuItem(item, widgetName, props.asMenuItem); case types_1.ItemType.customHTMLButton: - return customHTMLButton_1.customHTMLButton(item, widgetName); + return customHTMLButton_1.customHTMLButton(item, widgetName, props.asMenuItem); case types_1.ItemType.block: default: throw new Error("unknown item type " + item.type); @@ -12467,7 +13710,7 @@ function createFactory(_a) { return null; } if (!item.type || item.type === "button" || item.type === "navItem" || item.type === "menuItem") { - if (!item.value && !item.icon) { + if (!item.value && !item.icon && !item.html) { return null; } } @@ -12478,13 +13721,18 @@ function createFactory(_a) { if (item.type === types_1.ItemType.imageButton && widgetName !== "ribbon") { item.active = false; } - if (asMenuItem && item.type !== types_1.ItemType.spacer && item.type !== types_1.ItemType.separator) { + if (asMenuItem && + item.type !== types_1.ItemType.spacer && + item.type !== types_1.ItemType.separator && + item.type !== types_1.ItemType.customHTML) { item.type = types_1.ItemType.menuItem; } if (data.haveItems(item.id)) { normalizeOpenIcon(widgetName, item, data); } - return helpers_1.navbarComponentMixin(widgetName, item, asMenuItem, itemfactory(item, events, widgetName, { asMenuItem: asMenuItem, collapsed: widgetName !== "sidebar" || config.collapsed })); + var itemVNode = item.type !== types_1.ItemType.customHTML && + itemfactory(item, events, widgetName, { asMenuItem: asMenuItem, collapsed: widgetName !== "sidebar" || config.collapsed }); + return helpers_1.navbarComponentMixin(widgetName, item, asMenuItem, itemVNode); }; } exports.createFactory = createFactory; @@ -12523,24 +13771,27 @@ function normalizeOpenIcon(widgetName, item, data) { /***/ }), -/* 107 */ +/* 111 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var helpers_1 = __webpack_require__(23); +var helpers_1 = __webpack_require__(24); function button(item, widgetName) { var isIconButton = item.icon && !item.value; var counterClass = isIconButton ? " dhx_navbar-count--absolute" : " dhx_navbar-count--button-inline"; return dom_1.el("button.dhx_button", { class: helpers_1.getNavbarButtonCSS(item, widgetName), dhx_id: item.id, - disabled: item.disabled + disabled: item.disabled, + type: "button" }, [ item.icon ? helpers_1.getIcon(item.icon, "button") : null, - item.value && dom_1.el("span.dhx_button__text", item.value), + item.html ? + dom_1.el("div.dhx_button__text", { ".innerHTML": item.html }) : + item.value && dom_1.el("span.dhx_button__text", item.value), item.count > 0 && helpers_1.getCount(item, counterClass, isIconButton), item.value && item.$openIcon ? dom_1.el("span.dhx_button__icon.dhx_button__icon--menu.dxi.dxi-menu-right") : null, item.loading && dom_1.el("span.dhx_button__loading", [ @@ -12552,14 +13803,14 @@ exports.button = button; /***/ }), -/* 108 */ +/* 112 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var helpers_1 = __webpack_require__(23); +var helpers_1 = __webpack_require__(24); function navItem(item, widgetName, collapsed) { var baseClass = " dhx_" + widgetName + "-button"; return dom_1.el("button", { @@ -12572,16 +13823,21 @@ function navItem(item, widgetName, collapsed) { (!item.value && item.icon ? baseClass + "--icon" : "") + (item.css ? " " + item.css : ""), dhx_id: item.id, - disabled: item.disabled + disabled: item.disabled, + type: "button" }, [ item.icon && dom_1.el("span", { class: item.icon + baseClass + "__icon" }), - item.value && dom_1.el("span", { + item.html && dom_1.el("div", { + "class": baseClass.trim() + "__html", + ".innerHTML": item.html + }), + !item.html && item.value && dom_1.el("span", { class: baseClass.trim() + "__text" }, item.value), item.count > 0 && helpers_1.getCount(item, baseClass + "__count", collapsed), - item.value && item.$openIcon && dom_1.el("span.dxi.dxi-menu-right", { + item.$openIcon && dom_1.el("span.dxi.dxi-menu-right", { class: baseClass + "__caret" }) ]); @@ -12590,16 +13846,19 @@ exports.navItem = navItem; /***/ }), -/* 109 */ +/* 113 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -function customHTMLButton(item, widgetName) { +function customHTMLButton(item, widgetName, asMenuItem) { + var baseClass = asMenuItem ? " dhx_button dhx_menu-button" : " dhx_button dhx_nav-menu-button"; return dom_1.el("button", { + "class": "dhx_custom-button" + baseClass + (item.$activeParent ? baseClass + "--active" : ""), "dhx_id": item.id, + "type": "button", ".innerHTML": item.html }, item.html ? "" : item.value); } @@ -12607,14 +13866,14 @@ exports.customHTMLButton = customHTMLButton; /***/ }), -/* 110 */ +/* 114 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var helpers_1 = __webpack_require__(23); +var helpers_1 = __webpack_require__(24); function imageButton(item, widgetName) { var baseClass = "dhx_" + widgetName + "-button-image"; var isRibbon = widgetName === "ribbon"; @@ -12624,13 +13883,19 @@ function imageButton(item, widgetName) { (isRibbon && item.$openIcon ? " " + baseClass + "--select" : "") + (item.active ? " " + baseClass + "--active" : ""), dhx_id: item.id, + type: "button" }, [ isRibbon && item.value && item.$openIcon && dom_1.el("span.dxi.dxi-menu-right", { class: baseClass + "__caret" }), - item.value && dom_1.el("span", { - class: baseClass + "__text", - }, item.value), + item.html ? + dom_1.el("div", { + "class": baseClass + "__text", + ".innerHTML": item.html + }) : + item.value && dom_1.el("span", { + class: baseClass + "__text", + }, item.value), item.src && dom_1.el("span", { class: baseClass + "__image", style: { backgroundImage: "url(" + item.src + ")" } @@ -12642,14 +13907,14 @@ exports.imageButton = imageButton; /***/ }), -/* 111 */ +/* 115 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var types_1 = __webpack_require__(22); +var types_1 = __webpack_require__(23); function onBlur(events, id) { events.fire(types_1.NavigationBarEvents.inputBlur, [id]); } @@ -12663,7 +13928,7 @@ function input(item, events, widgetName) { }, }, [ dom_1.el("label.dhx_label", { for: item.id }, item.label), - dom_1.el(".dhx_input-wrapper", [ + dom_1.el(".dhx_input__wrapper", [ dom_1.el("input.dhx_input", { placeholder: item.placeholder, class: item.icon ? "dhx_input--icon-padding" : "", @@ -12690,43 +13955,50 @@ exports.input = input; /***/ }), -/* 112 */ +/* 116 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var helpers_1 = __webpack_require__(23); +var helpers_1 = __webpack_require__(24); function menuItem(item, widgetName, asMenuItem) { var baseClass = asMenuItem ? " dhx_menu-button" : " dhx_nav-menu-button"; return dom_1.el("button", { class: "dhx_button" + baseClass + (item.disabled ? baseClass + "--disabled" : "") + - (item.$activeParent ? baseClass + "--active" : ""), + (item.active || item.$activeParent ? baseClass + "--active" : ""), disabled: item.disabled, dhx_id: item.id, + type: "button" }, asMenuItem ? [ - item.icon || item.value ? dom_1.el("span.dhx_menu-button__block.dhx_menu-button__block--left", [ + item.icon || item.value || item.html ? dom_1.el("span.dhx_menu-button__block.dhx_menu-button__block--left", [ item.icon && dom_1.el("span.dhx_menu-button__icon", { class: item.icon }), - item.value && dom_1.el("span.dhx_menu-button__text", item.value), + item.html ? + dom_1.el("div.dhx_menu-button__text", { ".innerHTML": item.html }) : + item.value && dom_1.el("span.dhx_menu-button__text", item.value), ]) : null, (item.count > 0 || item.hotkey || item.items) ? dom_1.el("span.dhx_menu-button__block.dhx_menu-button__block--right", [ item.count > 0 && helpers_1.getCount(item, " dhx_menu-button__count", false), item.hotkey && dom_1.el("span.dhx_menu-button__hotkey", item.hotkey), item.items && dom_1.el("span.dhx_menu-button__caret.dxi.dxi-menu-right"), ]) : null - ] : [ - item.value && dom_1.el("span.dhx_nav-menu-button__text", item.value), - ]); + ] : + [ + item.icon && dom_1.el("span.dhx_menu-button__icon", { + class: item.icon + }), + item.html ? dom_1.el("div.dhx_menu-button__text", { ".innerHTML": item.html }) : item.value && dom_1.el("span.dhx_nav-menu-button__text", item.value), + ]); } exports.menuItem = menuItem; /***/ }), -/* 113 */ +/* 117 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12739,20 +14011,20 @@ exports.separator = separator; /***/ }), -/* 114 */ +/* 118 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -function spacer(_item, widgetName) { +function spacer(item, widgetName) { return null; } exports.spacer = spacer; /***/ }), -/* 115 */ +/* 119 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12761,14 +14033,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); function title(item, widgetName) { return dom_1.el("span", { - class: "dhx_navbar-title" + " dhx_navbar-title--" + widgetName, - }, item.value); + "class": "dhx_navbar-title" + " dhx_navbar-title--" + widgetName, + ".innerHTML": item.html + }, !item.html ? item.value : null); } exports.title = title; /***/ }), -/* 116 */ +/* 120 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12799,13 +14072,13 @@ exports.layoutConfigWithoutTopbar = { /***/ }), -/* 117 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var en_1 = __webpack_require__(35); +var en_1 = __webpack_require__(37); var basis = [ "byte", "kilobyte", @@ -13037,7 +14310,7 @@ exports.isImage = isImage; /***/ }), -/* 118 */ +/* 122 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -13058,8 +14331,8 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); var view_1 = __webpack_require__(4); -var en_1 = __webpack_require__(35); -var types_1 = __webpack_require__(26); +var en_1 = __webpack_require__(37); +var types_1 = __webpack_require__(27); var ProgressBar = /** @class */ (function (_super) { __extends(ProgressBar, _super); function ProgressBar(events, config) { @@ -13109,7 +14382,7 @@ exports.ProgressBar = ProgressBar; /***/ }), -/* 119 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -13162,7 +14435,7 @@ exports.ReadStackPreview = ReadStackPreview; /***/ }), -/* 120 */ +/* 124 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -13195,24 +14468,29 @@ Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var ts_data_1 = __webpack_require__(7); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); var Keymanager_1 = __webpack_require__(13); -var types_1 = __webpack_require__(21); +var types_1 = __webpack_require__(22); var view_1 = __webpack_require__(4); -var Selection_1 = __webpack_require__(61); -var html_1 = __webpack_require__(3); -var types_2 = __webpack_require__(37); -var editors_1 = __webpack_require__(121); +var Selection_1 = __webpack_require__(63); +var html_1 = __webpack_require__(2); +var types_2 = __webpack_require__(39); +var editors_1 = __webpack_require__(125); +var helpers_1 = __webpack_require__(127); var List = /** @class */ (function (_super) { __extends(List, _super); function List(node, config) { if (config === void 0) { config = {}; } var _this = _super.call(this, node, core_1.extend({ - itemHeight: config.virtual ? 34 : config.itemHeight || null, + itemHeight: config.virtual ? 37 : config.itemHeight || null, keyNavigation: false, multiselectionMode: config.multiselectionMode ? config.multiselectionMode : "click", - editing: false + editable: false }, config)) || this; + if (_this.config.multiselectionMode === "ctrlClick") { + _this.config.multiselection = "ctrlClick"; // TODO: remove sute_7.0 + } + _this.config.editable = _this.config.editable || _this.config.editing; // TODO: remove sute_7.0 if (Array.isArray(_this.config.data)) { _this.events = new events_1.EventSystem(_this); _this.data = new ts_data_1.DataCollection({}, _this.events); @@ -13228,8 +14506,7 @@ var List = /** @class */ (function (_super) { _this.data = new ts_data_1.DataCollection({}, _this.events); } _this.selection = new Selection_1.Selection({ - multiselection: _this.config.multiselection, - multiselectionMode: _this.config.multiselectionMode, + multiselection: _this.config.multiselection }, _this.data); _this._getHotkeys(); var updater = function (updateObj) { return function (id, ids) { @@ -13242,12 +14519,12 @@ var List = /** @class */ (function (_super) { } }; }; _this.events.on(ts_data_1.DataEvents.change, function () { - if (_this.config.virtual) { - _this._updateVirtual(0); - } _this.paint(); }); _this.events.on(ts_data_1.DataEvents.load, function () { + if (_this.config.virtual) { + _this._updateVirtual(0); + } _this.data.map(function (item) { if (item.$selected) { _this.selection.add(item.id); @@ -13261,14 +14538,14 @@ var List = /** @class */ (function (_super) { _this.events.on(ts_data_1.DragEvents.dragEnd, updater({ $dragtarget: undefined })); _this.events.on(types_2.ListEvents.afterEditEnd, function (value, id) { var item = _this.data.getItem(id); - _this.data.update(id, __assign({}, item, { value: value })); + _this.data.update(id, __assign(__assign({}, item), { value: value })); _this._edited = null; _this._getHotkeys(); _this.paint(); }); _this.selection.events.on(types_1.SelectionEvents.afterSelect, function (id) { if (id) { - _this.setFocusIndex(_this.data.getIndex(id)); + _this.setFocus(id); } }); _this._handlers = { @@ -13292,14 +14569,14 @@ var List = /** @class */ (function (_super) { if (!id) { return; } - _this.events.fire(types_2.ListEvents.contextmenu, [id, e]); + _this.events.fire(types_2.ListEvents.itemRightClick, [id, e]); + _this.events.fire(types_2.ListEvents.contextmenu, [id, e]); // TODO: remove sute_7.0 }, onclick: function (e) { var id = html_1.locate(e); if (!id) { return; } - _this.setFocusIndex(_this.data.getIndex(id)); _this.selection.add(id, e.ctrlKey || e.metaKey, e.shiftKey); _this.events.fire(types_2.ListEvents.click, [id, e]); }, @@ -13308,12 +14585,35 @@ var List = /** @class */ (function (_super) { if (!id) { return; } - if (_this.config.editing) { - _this.edit(id); + if (_this.config.editable) { + _this.editItem(id); } _this.events.fire(types_2.ListEvents.doubleClick, [id, e]); }, - onscroll: function (e) { return _this.config.virtual ? _this._updateVirtual(e.target.scrollTop) : null; } + onscroll: function (e) { + if (_this.config.virtual) { + // [TODO] Hide loading data to render + _this._lazyLoad(e); + _this._updateVirtual(e.target.scrollTop); + } + }, + onmouseover: function (e) { + var id = html_1.locate(e); + var element = html_1.locateNode(e, "dhx_id", "relatedTarget"); + if (!element && id) { + _this.events.fire(types_2.ListEvents.itemMouseOver, [id, e]); + return; + } + else if (!element) { + return; + } + var attr = element.getAttribute("dhx_id") ? element.getAttribute("dhx_id") : null; + var prevId = attr ? attr : ""; + if (!id || id === prevId) { + return; + } + _this.events.fire(types_2.ListEvents.itemMouseOver, [id, e]); + } }; if (_this.config.dragMode) { ts_data_1.dragManager.setItem(_this._uid, _this); @@ -13328,7 +14628,8 @@ var List = /** @class */ (function (_super) { didMount: function (vm) { if (!_this.config.height) { var element = vm.node.el; - _this.config.height = (element && element.parentNode && element.parentNode.offsetHeight) || 200; + _this.config.height = (element && element.parentNode && + element.parentNode.offsetHeight) || "100%"; } if (_this.config.virtual) { _this._visibleHeight = _this.config.height; @@ -13341,7 +14642,7 @@ var List = /** @class */ (function (_super) { _this.mount(node, view); return _this; } - List.prototype.edit = function (id) { + List.prototype.editItem = function (id) { this._edited = id; if (!this.data.getItem(this._edited) || !this.events.fire(types_2.ListEvents.beforeEditStart, [id])) { this._edited = null; @@ -13351,45 +14652,18 @@ var List = /** @class */ (function (_super) { this.paint(); this.events.fire(types_2.ListEvents.afterEditStart, [id]); }; - List.prototype.setFocusIndex = function (index) { - if (index < 0 || index > this.data.getLength() - 1) { - return; - } - this._focusIndex = index; - var rootView = this.getRootView(); - if (!rootView || !rootView.node || !rootView.node.el) { - return; - } - var listEl = this.getRootNode(); - if (!listEl) { - return; - } - if (this.config.virtual) { - var position = index * this.config.itemHeight; - if (position >= this._visibleHeight + this._topOffset || position < this._topOffset) { - listEl.scrollTo(0, position); - } - } - else { - var listItem = listEl.children[index]; - if (!listItem) { - return; - } - if (listItem.offsetTop >= listEl.scrollTop + listEl.clientHeight - listItem.clientHeight) { - listEl.scrollTop = listItem.offsetTop - listEl.clientHeight + listItem.clientHeight; - } - else if (listItem.offsetTop < listEl.scrollTop) { - listEl.scrollTop = listItem.offsetTop; - } - } - this.events.fire(types_2.ListEvents.focusChange, [this._focusIndex, this.data.getId(this._focusIndex)]); - this.paint(); - }; List.prototype.getFocusItem = function () { - return this.data.getId(this._focusIndex); + return this.data.getItem(this.data.getId(this._focusIndex)); }; - List.prototype.getFocusIndex = function () { - return this._focusIndex; + List.prototype.setFocus = function (id) { + var index = this.data.getIndex(id); + this._setFocusIndex(index); + }; + List.prototype.getFocus = function () { + var id = this.data.getId(this._focusIndex); + if (id) { + return id; + } }; List.prototype.destructor = function () { if (this._navigationDestructor) { @@ -13400,6 +14674,18 @@ var List = /** @class */ (function (_super) { } this.unmount(); }; + // TODO: remove sute_7.0 + List.prototype.getFocusIndex = function () { + return this._focusIndex; + }; + // TODO: remove sute_7.0 + List.prototype.setFocusIndex = function (index) { + this._setFocusIndex(index); + }; + // TODO: remove sute_7.0 + List.prototype.edit = function (id) { + this.editItem(id); + }; List.prototype._renderItem = function (item, index) { var html = (this.config.template && this.config.template(item)) || item.html; var focus = index === this._focusIndex; @@ -13451,41 +14737,80 @@ var List = /** @class */ (function (_super) { var _this = this; var kids = this.data.map(function (obj, index) { return _this._renderItem(obj, index); }); return dom_1.el("ul.dhx_widget.dhx_list", __assign({ style: { - "max-height": this.config.height + "px", + "min-height": this.config.itemHeight, + "max-height": this.config.height, "position": "relative" - }, class: this.config.css + + }, class: (this.config.css ? this.config.css : "") + (this.config.multiselection && this.selection.getItem() ? " dhx_no-select--pointer" : ""), dhx_widget_id: this._uid }, this._handlers), kids); }; List.prototype._renderVirtualList = function () { var _this = this; - var kids = this.data.mapRange(this._range[0], this._range[1], function (obj, index) { return _this._renderItem(obj, index); }); + var kids = this.data.mapRange(this._range[0], this._range[1], function (obj, index) { + return _this._renderItem(obj, index); + }); return dom_1.el(".dhx_widget.dhx_virtual-list-wrapper", __assign({ dhx_widget_id: this._uid, style: { + "min-height": this.config.itemHeight, "max-height": this._visibleHeight } }, this._handlers), [ dom_1.el("ul.dhx_list.dhx_list--virtual", { - class: this.config.css + + class: (this.config.css ? this.config.css : "") + (this.config.multiselection && this.selection.getItem() ? " dhx_no-select--pointer" : ""), style: { - "height": this._getHeight() + "px", - "padding-top": this._topOffset + "px" + "height": this._getHeight() + helpers_1.defineUnit(this.config.itemHeight), + "padding-top": this._topOffset }, }, kids) ]); }; + List.prototype._setFocusIndex = function (index) { + if (index < 0 || index > this.data.getLength() - 1) { + return; + } + this._focusIndex = index; + var rootView = this.getRootView(); + if (!rootView || !rootView.node || !rootView.node.el) { + return; + } + var listEl = this.getRootNode(); + if (!listEl) { + return; + } + if (this.config.virtual) { + var position = index * helpers_1.defineValue(this.config.itemHeight); + if (position >= helpers_1.defineValue(this._visibleHeight) + this._topOffset || position < this._topOffset) { + listEl.scrollTo(0, position); + } + } + else { + var listItem = listEl.children[index]; + if (!listItem) { + return; + } + if (listItem.offsetTop >= listEl.scrollTop + listEl.clientHeight - listItem.clientHeight) { + listEl.scrollTop = listItem.offsetTop - listEl.clientHeight + listItem.clientHeight; + } + else if (listItem.offsetTop < listEl.scrollTop) { + listEl.scrollTop = listItem.offsetTop; + } + } + this.events.fire(types_2.ListEvents.focusChange, [this._focusIndex, this.data.getId(this._focusIndex)]); + this.paint(); + }; List.prototype._updateVirtual = function (position) { var overscanCount = 5; var totalHeight = this._getHeight(); - if (position > totalHeight - this._visibleHeight) { - position = totalHeight - this._visibleHeight; + if (position > totalHeight - helpers_1.defineValue(this._visibleHeight)) { + position = totalHeight - helpers_1.defineValue(this._visibleHeight); } - var count = Math.floor(this._visibleHeight / this.config.itemHeight) + overscanCount; - var index = Math.floor(position / this.config.itemHeight); + var count = Math.floor(helpers_1.defineValue(this._visibleHeight) / helpers_1.defineValue(this.config.itemHeight)) + + overscanCount; + var index = Math.floor(position / helpers_1.defineValue(this.config.itemHeight)); this._range = [index, count + index]; this._topOffset = position; this.paint(); }; List.prototype._getHeight = function () { - return this.data.getLength() * this.config.itemHeight; + return this.data.getLength() * helpers_1.defineValue(this.config.itemHeight); }; List.prototype._getHotkeys = function () { var _this = this; @@ -13506,9 +14831,9 @@ var List = /** @class */ (function (_super) { e.preventDefault(); fn(); }; }; - this._navigationDestructor = Keymanager_1.addHotkeys({ - "arrowdown": preventEvent(function () { return _this.setFocusIndex(_this._focusIndex + 1); }), - "arrowup": preventEvent(function () { return _this.setFocusIndex(_this._focusIndex - 1); }), + var handlers = { + "arrowDown": preventEvent(function () { return _this.setFocusIndex(_this._focusIndex + 1); }), + "arrowUp": preventEvent(function () { return _this.setFocusIndex(_this._focusIndex - 1); }), "enter": function (e) { var id = _this.data.getId(_this._focusIndex); _this.selection.add(id); @@ -13523,29 +14848,40 @@ var List = /** @class */ (function (_super) { var id = _this.data.getId(_this._focusIndex); _this.selection.add(id, true, false); _this.events.fire(types_2.ListEvents.click, [id, e]); - }, - "enter+meta": function (e) { - var id = _this.data.getId(_this._focusIndex); - _this.selection.add(id, true, false); - _this.events.fire(types_2.ListEvents.click, [id, e]); } - }, keyNavigation); + }; + if (html_1.isIE()) { + handlers = __assign({ up: handlers.arrowUp, down: handlers.arrowDown }, handlers); + delete handlers.arrowUp; + delete handlers.arrowDown; + } + this._navigationDestructor = Keymanager_1.addHotkeys(handlers, keyNavigation); } } }; + List.prototype._lazyLoad = function (e) { + var y = e.target.scrollTop; + var from = Math.round(y / helpers_1.defineValue(this.config.itemHeight)); + var onScreenCount = this.config.height / helpers_1.defineValue(this.config.itemHeight); + var proxy = this.data.dataProxy; + if (proxy && proxy.config && !this.data.isDataLoaded(from, onScreenCount + from + proxy.config.prepare)) { + proxy.updateUrl(null, { from: from, limit: proxy.config.limit }); + this.data.load(proxy); + } + }; return List; }(view_1.View)); exports.List = List; /***/ }), -/* 121 */ +/* 125 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var InputEditor_1 = __webpack_require__(122); +var InputEditor_1 = __webpack_require__(126); function getEditor(item, list) { return new InputEditor_1.InputEditor(item, list); } @@ -13553,14 +14889,14 @@ exports.getEditor = getEditor; /***/ }), -/* 122 */ +/* 126 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var types_1 = __webpack_require__(37); +var types_1 = __webpack_require__(39); var InputEditor = /** @class */ (function () { function InputEditor(item, list) { var _this = this; @@ -13592,8 +14928,8 @@ var InputEditor = /** @class */ (function () { InputEditor.prototype.toHTML = function () { this._mode = true; var itemHeight = this._config.itemHeight; - return dom_1.el(".dhx_input-wrapper", {}, [ - dom_1.el("div.dhx_input-container", {}, [ + return dom_1.el(".dhx_input__wrapper", {}, [ + dom_1.el("div.dhx_input__container", {}, [ dom_1.el("input.dhx_input", { class: this._item.css ? " " + this._item.css : "", style: { @@ -13636,7 +14972,34 @@ exports.InputEditor = InputEditor; /***/ }), -/* 123 */ +/* 127 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +function defineValue(property) { + if (property) { + var prop = property.toString().trim(); + if (prop.indexOf("calc") === -1) { + return parseInt(prop.split(/\D+/g)[0], null); + } + } +} +exports.defineValue = defineValue; +function defineUnit(property) { + if (property) { + var prop = property.toString().trim(); + if (prop.indexOf("calc") === -1) { + return prop.slice(prop.split(/\D+/g)[0].length); + } + } +} +exports.defineUnit = defineUnit; + + +/***/ }), +/* 128 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -13665,17 +15028,24 @@ var __assign = (this && this.__assign) || function () { }; return __assign.apply(this, arguments); }; +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); var view_1 = __webpack_require__(4); -var ts_timepicker_1 = __webpack_require__(29); -var DateHelper_1 = __webpack_require__(128); -var DateFormatter_1 = __webpack_require__(38); -var helper_1 = __webpack_require__(129); -var en_1 = __webpack_require__(39); -var types_1 = __webpack_require__(66); +var ts_timepicker_1 = __webpack_require__(30); +var DateHelper_1 = __webpack_require__(133); +var DateFormatter_1 = __webpack_require__(41); +var helper_1 = __webpack_require__(134); +var en_1 = __webpack_require__(42); +var types_1 = __webpack_require__(68); var Calendar = /** @class */ (function (_super) { __extends(Calendar, _super); function Calendar(container, config) { @@ -13686,7 +15056,10 @@ var Calendar = /** @class */ (function (_super) { dateFormat: (window && window.dhx && window.dhx.dateFormat), width: "250px" }, config)) || this; + _this._selected = []; _this.events = new events_1.EventSystem(); + _this.config.disabledDates = _this.config.disabledDates || _this.config.block; // TODO: remove sute_7.0 + _this.config.mode = _this.config.mode || _this.config.view; // TODO: remove sute_7.0 if (!_this.config.dateFormat) { if (_this.config.timePicker) { if (_this.config.timeFormat === 12) { @@ -13701,18 +15074,18 @@ var Calendar = /** @class */ (function (_super) { } } if (_this.config.value) { - _this._selected = DateHelper_1.DateHelper.toDateObject(_this.config.value, _this.config.dateFormat); + _this._setSelected(_this.config.value); } if (_this.config.date) { _this._currentDate = DateHelper_1.DateHelper.toDateObject(_this.config.date, _this.config.dateFormat); } - else if (_this._selected) { - _this._currentDate = new Date(_this._selected); + else if (_this._getSelected()) { + _this._currentDate = DateHelper_1.DateHelper.copy(_this._getSelected()); } else { _this._currentDate = new Date(); } - switch (_this.config.view) { + switch (_this.config.mode) { case types_1.ViewMode.months: _this._currentViewMode = types_1.ViewMode.months; break; @@ -13720,64 +15093,75 @@ var Calendar = /** @class */ (function (_super) { _this._currentViewMode = types_1.ViewMode.years; break; default: - _this._currentViewMode = types_1.ViewMode.days; + _this._currentViewMode = types_1.ViewMode.calendar; } _this._initHandlers(); if (_this.config.timePicker) { - _this._timepicker = new ts_timepicker_1.Timepicker(null, { timeFormat: _this.config.timeFormat, actions: true }); - var initTime = _this._selected || new Date(); + _this._timepicker = new ts_timepicker_1.Timepicker(null, { timeFormat: _this.config.timeFormat, controls: true }); + var initTime = _this._getSelected() || new Date(); _this._timepicker.setValue(initTime); _this._time = _this._timepicker.getValue(); - _this._timepicker.events.on(ts_timepicker_1.TimepickerEvents.close, function () { + _this._timepicker.events.on(ts_timepicker_1.TimepickerEvents.afterClose, function () { _this._timepicker.setValue(_this._time); - _this.showDate(null, types_1.ViewMode.days); + _this.showDate(null, types_1.ViewMode.calendar); }); - _this._timepicker.events.on(ts_timepicker_1.TimepickerEvents.save, function () { + _this._timepicker.events.on(ts_timepicker_1.TimepickerEvents.apply, function () { var _a = _this._timepicker.getValue(true), hour = _a.hour, minute = _a.minute, AM = _a.AM; - var oldDate = _this._selected; - var newDate = _this._selected = DateHelper_1.DateHelper.withHoursAndMinutes(_this._selected || new Date(), AM === false ? hour + 12 : hour, minute); + var oldDate = _this._getSelected(); + var newDate = DateHelper_1.DateHelper.withHoursAndMinutes(_this._getSelected() || new Date(), hour, minute, AM); if (_this.events.fire(types_1.CalendarEvents.beforeChange, [newDate, oldDate, true])) { - _this._selected = newDate; + _this._selected[_this._selected.length - 1] = newDate; _this.events.fire(types_1.CalendarEvents.change, [newDate, oldDate, true]); } _this._time = _this._timepicker.getValue(); - _this.showDate(null, types_1.ViewMode.days); + _this.showDate(null, types_1.ViewMode.calendar); }); } var render = function () { return _this._draw(); }; _this.mount(container, dom_1.create({ render: render })); return _this; } - Calendar.prototype.setValue = function (date) { - date = DateHelper_1.DateHelper.toDateObject(date, this.config.dateFormat); - var oldDate = DateHelper_1.DateHelper.copy(this._selected); + Calendar.prototype.setValue = function (value) { + if (!value || value instanceof Array && value.length === 0) { + return false; + } + this._selected = []; + var currentDate = value instanceof Array ? value[0] : value; + var date = DateHelper_1.DateHelper.toDateObject(currentDate, this.config.dateFormat); + var oldDate = DateHelper_1.DateHelper.copy(this._getSelected()); if (!this.events.fire(types_1.CalendarEvents.beforeChange, [date, oldDate, false])) { return false; } - this._selected = date; - this._currentDate = DateHelper_1.DateHelper.copy(this._selected); + this._setSelected(value); if (this._timepicker) { this._timepicker.setValue(date); this._time = this._timepicker.getValue(); } + this.showDate(this._getSelected()); this.events.fire(types_1.CalendarEvents.change, [date, oldDate, false]); this.paint(); return true; }; Calendar.prototype.getValue = function (asDateObject) { - if (!this._selected) { - return null; - } - if (asDateObject) { - return DateHelper_1.DateHelper.copy(this._selected); + var _this = this; + if (!this._selected[0]) { + return ""; } - else { - return DateFormatter_1.getFormatedDate(this.config.dateFormat, this._selected); + if (this.config.range) { + return asDateObject + ? this._selected.map(function (date) { return DateHelper_1.DateHelper.copy(date); }) + : this._selected.map(function (date) { return DateFormatter_1.getFormatedDate(_this.config.dateFormat, date); }); } + return asDateObject + ? DateHelper_1.DateHelper.copy(this._selected[0]) + : DateFormatter_1.getFormatedDate(this.config.dateFormat, this._selected[0]); + }; + Calendar.prototype.getCurrentMode = function () { + return this._currentViewMode; }; Calendar.prototype.showDate = function (date, mode) { if (date) { - this._currentDate = date; + this._currentDate = DateHelper_1.DateHelper.copy(date); } if (mode) { this._currentViewMode = mode; @@ -13793,15 +15177,23 @@ var Calendar = /** @class */ (function (_super) { } this.unmount(); }; + Calendar.prototype.clear = function () { + if (this.config.timePicker) { + this._timepicker.clear(); + this._time = this._timepicker.getValue(); + } + this._selected = []; + this.showDate(null, this.config.mode); + }; Calendar.prototype.link = function (targetCalendar) { var _this = this; if (this._linkedCalendar) { this._unlink(); } this._linkedCalendar = targetCalendar; - var rawLowerData = this.getValue(true); + var rawLowerDate = this.getValue(true); var rawUpperDate = targetCalendar.getValue(true); - var lowerDate = rawLowerData && DateHelper_1.DateHelper.dayStart(rawLowerData); + var lowerDate = rawLowerDate && DateHelper_1.DateHelper.dayStart(rawLowerDate); var upperDate = rawUpperDate && DateHelper_1.DateHelper.dayStart(rawUpperDate); var rangeMark = function (date) { if (lowerDate && upperDate) { @@ -13821,13 +15213,16 @@ var Calendar = /** @class */ (function (_super) { } return positionInRange; }; - if (!this.config.block || !this._linkedCalendar.config.block) { - this.config.block = function (date) { + if (!this.config.$rangeMark || !this._linkedCalendar.config.$rangeMark) { + this.config.$rangeMark = this._linkedCalendar.config.$rangeMark = rangeMark; + } + if (!this.config.disabledDates || !this._linkedCalendar.config.disabledDates) { + this.config.disabledDates = function (date) { if (upperDate) { return date > upperDate; } }; - this._linkedCalendar.config.block = function (date) { + this._linkedCalendar.config.disabledDates = function (date) { if (lowerDate) { return date < lowerDate; } @@ -13835,9 +15230,6 @@ var Calendar = /** @class */ (function (_super) { } this.config.thisMonthOnly = true; targetCalendar.config.thisMonthOnly = true; - if (!this.config.$rangeMark || !this._linkedCalendar.config.$rangeMark) { - this.config.$rangeMark = this._linkedCalendar.config.$rangeMark = rangeMark; - } this.events.on(types_1.CalendarEvents.change, function (date) { lowerDate = DateHelper_1.DateHelper.dayStart(date); _this._linkedCalendar.paint(); @@ -13852,7 +15244,7 @@ var Calendar = /** @class */ (function (_super) { Calendar.prototype._unlink = function () { if (this._linkedCalendar) { this.config.$rangeMark = this._linkedCalendar.config.$rangeMark = null; - this.config.block = this._linkedCalendar.config.block = null; + this.config.disabledDates = this._linkedCalendar.config.disabledDates = null; this.events.detach(types_1.CalendarEvents.change, "link"); this._linkedCalendar.events.detach(types_1.CalendarEvents.change, "link"); this._linkedCalendar.paint(); @@ -13860,15 +15252,44 @@ var Calendar = /** @class */ (function (_super) { this._linkedCalendar = null; } }; + Calendar.prototype._setSelected = function (value) { + var _this = this; + var currentDate = value instanceof Array ? value[0] : value; + var date = DateHelper_1.DateHelper.toDateObject(currentDate, this.config.dateFormat); + if (value instanceof Array && this.config.range) { + var filterDate_1 = []; + value.forEach(function (element, index) { + if (index < 2) { + filterDate_1.push(DateHelper_1.DateHelper.toDateObject(element, _this.config.dateFormat)); + } + }); + if (filterDate_1.length === 2 && filterDate_1[0] < filterDate_1[1]) { + filterDate_1.forEach(function (element) { return _this._selected.push(element); }); + } + else { + this._selected[0] = filterDate_1[0]; + } + } + else { + this._selected[0] = date; + } + }; + Calendar.prototype._getSelected = function () { + return this._selected[this._selected.length - 1]; + }; Calendar.prototype._draw = function () { switch (this._currentViewMode) { - case types_1.ViewMode.days: + case types_1.ViewMode.calendar: + this.events.fire(types_1.CalendarEvents.modeChange, [types_1.ViewMode.calendar]); return this._drawCalendar(); case types_1.ViewMode.months: + this.events.fire(types_1.CalendarEvents.modeChange, [types_1.ViewMode.months]); return this._drawMonthSelector(); case types_1.ViewMode.years: + this.events.fire(types_1.CalendarEvents.modeChange, [types_1.ViewMode.years]); return this._drawYearSelector(); case types_1.ViewMode.timepicker: + this.events.fire(types_1.CalendarEvents.modeChange, [types_1.ViewMode.timepicker]); return this._drawTimepicker(); } }; @@ -13878,37 +15299,48 @@ var Calendar = /** @class */ (function (_super) { onclick: { ".dhx_calendar-year, .dhx_calendar-month, .dhx_calendar-day": function (_e, vn) { var date = vn.attrs._date; - var oldDate = DateHelper_1.DateHelper.copy(_this._selected); + var oldDate = DateHelper_1.DateHelper.copy(_this._getSelected()); switch (_this._currentViewMode) { - case types_1.ViewMode.days: - var mergedDate = _this.config.timePicker ? DateHelper_1.DateHelper.mergeHoursAndMinutes(date, _this._selected || _this._currentDate) : date; + case types_1.ViewMode.calendar: + var mergedDate = _this.config.timePicker + ? DateHelper_1.DateHelper.mergeHoursAndMinutes(date, _this._getSelected() || _this._currentDate) + : date; if (!_this.events.fire(types_1.CalendarEvents.beforeChange, [mergedDate, oldDate, true])) { return; } - _this._selected = mergedDate; - _this.showDate(date); + if (_this.config.range && _this._selected.length === 1 && _this._selected[0] < mergedDate) { + _this._selected.push(mergedDate); + } + else { + _this._selected = []; + _this._selected[0] = mergedDate; + } + _this.showDate(_this._getSelected()); _this.events.fire(types_1.CalendarEvents.change, [date, oldDate, true]); break; case types_1.ViewMode.months: - if (_this.config.view !== types_1.ViewMode.months) { + if (_this.config.mode !== types_1.ViewMode.months) { DateHelper_1.DateHelper.setMonth(_this._currentDate, date); - _this.showDate(null, types_1.ViewMode.days); + _this.showDate(null, types_1.ViewMode.calendar); + _this.events.fire(types_1.CalendarEvents.monthSelected, [date]); } else { - var newDate = DateHelper_1.DateHelper.fromYearAndMonth(_this._currentDate.getFullYear() || _this._selected.getFullYear(), date); + var newDate = DateHelper_1.DateHelper.fromYearAndMonth(_this._currentDate.getFullYear() || _this._getSelected().getFullYear(), date); if (!_this.events.fire(types_1.CalendarEvents.beforeChange, [newDate, oldDate, true])) { return; } _this._currentDate = newDate; - _this._selected = newDate; - _this.events.fire(types_1.CalendarEvents.change, [_this._selected, oldDate, true]); + _this._selected[0] = newDate; + _this.events.fire(types_1.CalendarEvents.change, [_this._getSelected(), oldDate, true]); + _this.events.fire(types_1.CalendarEvents.monthSelected, [date]); _this.paint(); } break; case types_1.ViewMode.years: - if (_this.config.view !== types_1.ViewMode.years) { + if (_this.config.mode !== types_1.ViewMode.years) { DateHelper_1.DateHelper.setYear(_this._currentDate, date); _this.showDate(null, types_1.ViewMode.months); + _this.events.fire(types_1.CalendarEvents.yearSelected, [date]); } else { var newDate = DateHelper_1.DateHelper.fromYear(date); @@ -13916,19 +15348,23 @@ var Calendar = /** @class */ (function (_super) { return; } _this._currentDate = newDate; - _this._selected = newDate; - _this.events.fire(types_1.CalendarEvents.change, [_this._selected, oldDate, true]); + _this._selected[0] = newDate; + _this.events.fire(types_1.CalendarEvents.change, [_this._getSelected(), oldDate, true]); + _this.events.fire(types_1.CalendarEvents.yearSelected, [date]); _this.paint(); } } }, - ".dhx_calendar-action__cancel": function () { return _this.showDate(_this._selected, types_1.ViewMode.days); }, + ".dhx_calendar-action__cancel": function () { + _this.showDate(_this._getSelected(), types_1.ViewMode.calendar); + _this.events.fire(types_1.CalendarEvents.cancelClick, []); + }, ".dhx_calendar-action__show-month": function () { return _this.showDate(null, types_1.ViewMode.months); }, ".dhx_calendar-action__show-year": function () { return _this.showDate(null, types_1.ViewMode.years); }, ".dhx_calendar-action__next": function () { var newDate; switch (_this._currentViewMode) { - case types_1.ViewMode.days: + case types_1.ViewMode.calendar: newDate = DateHelper_1.DateHelper.addMonth(_this._currentDate, 1); break; case types_1.ViewMode.months: @@ -13942,7 +15378,7 @@ var Calendar = /** @class */ (function (_super) { ".dhx_calendar-action__prev": function () { var newDate; switch (_this._currentViewMode) { - case types_1.ViewMode.days: + case types_1.ViewMode.calendar: newDate = DateHelper_1.DateHelper.addMonth(_this._currentDate, -1); break; case types_1.ViewMode.months: @@ -13959,13 +15395,17 @@ var Calendar = /** @class */ (function (_super) { } }, onmouseover: { - ".dhx_calendar-day": function (e, vn) { return _this.events.fire(types_1.CalendarEvents.dateHover, [e, new Date(vn.attrs._date)]); } + ".dhx_calendar-day": function (event, node) { + _this.events.fire(types_1.CalendarEvents.dateMouseOver, [new Date(node.attrs._date), event]); + _this.events.fire(types_1.CalendarEvents.dateHover, [new Date(node.attrs._date), event]); // TODO: remove sute_7.0 + } } }; }; - Calendar.prototype._getData = function (d) { + Calendar.prototype._getData = function (date) { + var _this = this; var firstDay = this.config.weekStart === "monday" ? 1 : 0; - var first = DateHelper_1.DateHelper.weekStart(DateHelper_1.DateHelper.monthStart(d), firstDay); + var first = DateHelper_1.DateHelper.weekStart(DateHelper_1.DateHelper.monthStart(date), firstDay); var data = []; var weeksCount = 6; var currentDate = first; @@ -13974,16 +15414,32 @@ var Calendar = /** @class */ (function (_super) { var disabledDays = 0; var daysCount = 7; var days = []; - while (daysCount--) { + var _loop_1 = function () { var isDateWeekEnd = DateHelper_1.DateHelper.isWeekEnd(currentDate); - var isCurrentMonth = d.getMonth() === currentDate.getMonth(); - var isBlocked = this.config.block && this.config.block(currentDate); + var isCurrentMonth = date.getMonth() === currentDate.getMonth(); + var isBlocked = this_1.config.disabledDates && this_1.config.disabledDates(currentDate); var css = []; + if (this_1.config.range && this_1._selected[0] && this_1._selected[1]) { + var rangeMark = function () { + if (_this._selected[0] && _this._selected[1]) { + var firstDate = DateHelper_1.DateHelper.dayStart(_this._selected[0]); + var lastDate = DateHelper_1.DateHelper.dayStart(_this._selected[1]); + return currentDate >= firstDate && currentDate <= lastDate && getRangeClass_1(); + } + }; + var getRangeClass_1 = function () { + if (DateHelper_1.DateHelper.isSameDay(_this._selected[0], _this._selected[1])) { + return null; + } + return "dhx_calendar-day--in-range"; + }; + this_1.config.$rangeMark = rangeMark; + } if (isDateWeekEnd && isCurrentMonth) { css.push("dhx_calendar-day--weekend"); } if (!isCurrentMonth) { - if (this.config.thisMonthOnly) { + if (this_1.config.thisMonthOnly) { disabledDays++; css.push("dhx_calendar-day--hidden"); } @@ -13991,14 +15447,14 @@ var Calendar = /** @class */ (function (_super) { css.push("dhx_calendar-day--muffled"); } } - if (this.config.mark) { - var markedCss = this.config.mark(currentDate); + if (this_1.config.mark) { + var markedCss = this_1.config.mark(currentDate); if (markedCss) { css.push(markedCss); } } - if (this.config.$rangeMark) { - var rangeMark = this.config.$rangeMark(currentDate); + if (this_1.config.$rangeMark) { + var rangeMark = this_1.config.$rangeMark(currentDate); if (rangeMark) { css.push(rangeMark); } @@ -14011,17 +15467,25 @@ var Calendar = /** @class */ (function (_super) { css.push("dhx_calendar-day--disabled"); } } - if (this._selected && currentDate.getDate() === this._selected.getDate() - && currentDate.getMonth() === this._selected.getMonth() - && this._selected.getFullYear() === currentDate.getFullYear()) { - css.push("dhx_calendar-day--selected"); - } + this_1._selected.forEach(function (selected, index) { + if (selected && DateHelper_1.DateHelper.isSameDay(selected, currentDate)) { + var dayCss = "dhx_calendar-day--selected"; + if (_this.config.range) { + dayCss += " dhx_calendar-day--selected-" + (index === 0 ? "first " : "last"); + } + css.push(dayCss); + } + }); days.push({ date: currentDate, day: currentDate.getDate(), css: css.join(" ") }); currentDate = DateHelper_1.DateHelper.addDay(currentDate); + }; + var this_1 = this; + while (daysCount--) { + _loop_1(); } data.push({ weekNumber: currentWeek, @@ -14033,8 +15497,9 @@ var Calendar = /** @class */ (function (_super) { }; Calendar.prototype._drawCalendar = function () { var date = this._currentDate; - var weekDays = this.config.weekStart === "monday" - ? en_1.default.daysShort.slice(1).concat([en_1.default.daysShort[0]]) : en_1.default.daysShort; + var _a = this.config, weekStart = _a.weekStart, thisMonthOnly = _a.thisMonthOnly, css = _a.css, timePicker = _a.timePicker, width = _a.width; + var weekDays = weekStart === "monday" + ? __spreadArrays(en_1.default.daysShort.slice(1), [en_1.default.daysShort[0]]) : en_1.default.daysShort; var weekDaysHeader = weekDays.map(function (day) { return dom_1.el(".dhx_calendar-weekday", day); }); var data = this._getData(date); var content = []; @@ -14047,7 +15512,7 @@ var Calendar = /** @class */ (function (_super) { _date: item.date, tabIndex: 1, }, item.day); }); - if (this.config.weekNumbers && !(week.disabledWeekNumber && this.config.thisMonthOnly)) { + if (this.config.weekNumbers && !(week.disabledWeekNumber && thisMonthOnly)) { weekNumbers.push(dom_1.el("div", { class: "dhx_calendar-week-number" }, week.weekNumber)); @@ -14058,10 +15523,10 @@ var Calendar = /** @class */ (function (_super) { weekNumbersWrapper = dom_1.el(".dhx_calendar__week-numbers", weekNumbers); } var widgetClass = "dhx_calendar dhx_widget" + - (this.config.css ? " " + this.config.css : "") + - (this.config.timePicker ? " dhx_calendar--with_timepicker" : "") + + (css ? " " + css : "") + + (timePicker ? " dhx_calendar--with_timepicker" : "") + (this.config.weekNumbers ? " dhx_calendar--with_week-numbers" : ""); - return dom_1.el("div", __assign({ class: widgetClass, style: { width: this.config.weekNumbers ? "calc(" + this.config.width + " + 48px )" : this.config.width } }, this._handlers), [ + return dom_1.el("div", __assign({ class: widgetClass, style: { width: this.config.weekNumbers ? "calc(" + width + " + 48px )" : width } }, this._handlers), [ dom_1.el(".dhx_calendar__wrapper", [ this._drawHeader(dom_1.el("button.dhx_calendar-action__show-month.dhx_button.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle", en_1.default.months[date.getMonth()] + " " + date.getFullYear())), this.config.weekNumbers && dom_1.el(".dhx_calendar__dates-wrapper", [ @@ -14071,7 +15536,7 @@ var Calendar = /** @class */ (function (_super) { ]), !this.config.weekNumbers && dom_1.el(".dhx_calendar__weekdays", weekDaysHeader), !this.config.weekNumbers && dom_1.el(".dhx_calendar__days", content), - this.config.timePicker ? + timePicker ? dom_1.el(".dhx_timepicker__actions", [ dom_1.el("button.dhx_calendar__timepicker-button." + "dhx_button.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--width_full.dhx_button--circle.dhx_calendar-action__show-timepicker", [ @@ -14085,13 +15550,14 @@ var Calendar = /** @class */ (function (_super) { Calendar.prototype._drawMonthSelector = function () { var date = this._currentDate; var currentMonth = date.getMonth(); - var currentYear = this._selected ? this._selected.getFullYear() : null; + var currentYear = this._getSelected() ? this._getSelected().getFullYear() : null; + var _a = this.config, css = _a.css, timePicker = _a.timePicker, weekNumbers = _a.weekNumbers, width = _a.width, mode = _a.mode; var widgetClass = "dhx_calendar dhx_widget" + - (this.config.css ? " " + this.config.css : "") + - (this.config.timePicker ? " dhx_calendar--with_timepicker" : "") + - (this.config.weekNumbers ? " dhx_calendar--with_week-numbers" : ""); + (css ? " " + css : "") + + (timePicker ? " dhx_calendar--with_timepicker" : "") + + (weekNumbers ? " dhx_calendar--with_week-numbers" : ""); return dom_1.el("div", __assign({ class: widgetClass, style: { - width: this.config.weekNumbers ? "calc(" + this.config.width + " + 48px)" : this.config.width, + width: weekNumbers ? "calc(" + width + " + 48px)" : width, } }, this._handlers), [ dom_1.el(".dhx_calendar__wrapper", [ this._drawHeader(dom_1.el("button.dhx_calendar-action__show-year.dhx_button.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle", date.getFullYear())), @@ -14100,7 +15566,7 @@ var Calendar = /** @class */ (function (_super) { tabIndex: 1, _date: i }, item); })), - this.config.view !== types_1.ViewMode.months ? dom_1.el(".dhx_calendar__actions", [ + mode !== types_1.ViewMode.months ? dom_1.el(".dhx_calendar__actions", [ dom_1.el("button.dhx_button.dhx_button--color_primary.dhx_button--view_link.dhx_button--size_small.dhx_button--width_full.dhx_button--circle.dhx_calendar-action__cancel", en_1.default.cancel) ]) : null ]) @@ -14110,19 +15576,20 @@ var Calendar = /** @class */ (function (_super) { var _this = this; var date = this._currentDate; var yearsDiapason = DateHelper_1.DateHelper.getTwelweYears(date); + var _a = this.config, css = _a.css, timePicker = _a.timePicker, weekNumbers = _a.weekNumbers, width = _a.width, mode = _a.mode; var widgetClass = "dhx_calendar dhx_widget" + - (this.config.css ? " " + this.config.css : "") + - (this.config.timePicker ? " dhx_calendar--with_timepicker" : "") + - (this.config.weekNumbers ? " dhx_calendar--with_week-numbers" : ""); - return dom_1.el("div", __assign({ class: widgetClass, style: { width: this.config.weekNumbers ? "calc(" + this.config.width + " + 48px)" : this.config.width } }, this._handlers), [ + (css ? " " + css : "") + + (timePicker ? " dhx_calendar--with_timepicker" : "") + + (weekNumbers ? " dhx_calendar--with_week-numbers" : ""); + return dom_1.el("div", __assign({ class: widgetClass, style: { width: weekNumbers ? "calc(" + width + " + 48px)" : width } }, this._handlers), [ dom_1.el(".dhx_calendar__wrapper", [ this._drawHeader(dom_1.el("button.dhx_button.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle", yearsDiapason[0] + "-" + yearsDiapason[yearsDiapason.length - 1])), dom_1.el(".dhx_calendar__years", yearsDiapason.map(function (item) { return dom_1.el("div", { - class: "dhx_calendar-year" + (_this._selected && item === _this._selected.getFullYear() ? " dhx_calendar-year--selected" : ""), + class: "dhx_calendar-year" + (_this._getSelected() && item === _this._getSelected().getFullYear() ? " dhx_calendar-year--selected" : ""), _date: item, tabIndex: 1, }, item); })), - this.config.view !== types_1.ViewMode.years && this.config.view !== types_1.ViewMode.months ? dom_1.el(".dhx_calendar__actions", [ + mode !== types_1.ViewMode.years && mode !== types_1.ViewMode.months ? dom_1.el(".dhx_calendar__actions", [ dom_1.el("button.dhx_button.dhx_button--color_primary.dhx_button--view_link.dhx_button--size_small.dhx_button--width_full.dhx_button--circle.dhx_calendar-action__cancel", en_1.default.cancel) ]) : null ]) @@ -14140,9 +15607,10 @@ var Calendar = /** @class */ (function (_super) { ]); }; Calendar.prototype._drawTimepicker = function () { + var _a = this.config, css = _a.css, weekNumbers = _a.weekNumbers, width = _a.width; return dom_1.el(".dhx_widget.dhx-calendar", { - class: (this.config.css ? " " + this.config.css : ""), - style: { width: this.config.weekNumbers ? "calc(" + this.config.width + " + 48px)" : this.config.width } + class: (css ? " " + css : ""), + style: { width: weekNumbers ? "calc(" + width + " + 48px)" : width } }, [ dom_1.inject(this._timepicker.getRootView()) ]); @@ -14153,7 +15621,7 @@ exports.Calendar = Calendar; /***/ }), -/* 124 */ +/* 129 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -14185,37 +15653,39 @@ var __assign = (this && this.__assign) || function () { Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); var view_1 = __webpack_require__(4); -var ts_layout_1 = __webpack_require__(12); -var ts_slider_1 = __webpack_require__(30); -var en_1 = __webpack_require__(64); -var helper_1 = __webpack_require__(127); -var types_1 = __webpack_require__(65); +var ts_layout_1 = __webpack_require__(14); +var ts_slider_1 = __webpack_require__(40); +var en_1 = __webpack_require__(66); +var helper_1 = __webpack_require__(132); +var types_1 = __webpack_require__(67); var Timepicker = /** @class */ (function (_super) { __extends(Timepicker, _super); function Timepicker(container, config) { if (config === void 0) { config = {}; } var _this = _super.call(this, container, core_1.extend({ timeFormat: 24, - actions: false + controls: false, + actions: false // TODO: remove sute_7.0 }, config)) || this; _this.events = new events_1.EventSystem(_this); _this._time = { - h: 0, - m: 0, - isAM: true + hour: 0, + minute: 0, + AM: true }; if (_this.config.timeFormat === 12) { - _this._time.h = 12; + _this._time.hour = 12; } + _this.config.controls = _this.config.controls || _this.config.actions; // TODO: remove sute_7.0 _this._initUI(container); _this._initHandlers(); _this._initEvents(); return _this; } Timepicker.prototype.getValue = function (asOBject) { - var _a = this._time, h = _a.h, m = _a.m, isAM = _a.isAM; + var _a = this._time, h = _a.hour, m = _a.minute, isAM = _a.AM; if (asOBject) { var obj = { hour: h, @@ -14262,10 +15732,18 @@ var Timepicker = /** @class */ (function (_super) { if (helper_1.isTimeCheck(value)) { this._hoursSlider.setValue(0); this._minutesSlider.setValue(m); - this._time.isAM = true; + this._time.AM = true; } this._inputsView.paint(); }; + Timepicker.prototype.clear = function () { + if (this.config.timeFormat === 24) { + this.setValue("00:00"); + } + else { + this.setValue("12:00AM"); + } + }; Timepicker.prototype.destructor = function () { this._minutesSlider.destructor(); this._hoursSlider.destructor(); @@ -14279,9 +15757,9 @@ var Timepicker = /** @class */ (function (_super) { var _this = this; var layoutConfig = { gravity: false, - css: "dhx_timepicker " + + css: "dhx_widget dhx_timepicker " + (this.config.css ? this.config.css : "") + - (this.config.actions ? " dhx_timepicker--with-actions" : ""), + (this.config.controls ? " dhx_timepicker--with-controls" : ""), rows: [ { id: "timepicker", @@ -14297,7 +15775,7 @@ var Timepicker = /** @class */ (function (_super) { } ] }; - if (this.config.actions) { + if (this.config.controls) { layoutConfig.rows.unshift({ id: "close-action", css: "dhx_timepicker__close" @@ -14316,22 +15794,22 @@ var Timepicker = /** @class */ (function (_super) { min: 0, max: 59, step: 1, - thumbLabel: false, - labelInline: false, + tooltip: false, + labelPosition: "top", label: en_1.default.minutes }); var hSlider = this._hoursSlider = new ts_slider_1.Slider(null, { min: 0, max: 23, step: 1, - thumbLabel: false, - labelInline: false, + tooltip: false, + labelPosition: "top", label: en_1.default.hours }); - layout.cell("timepicker").attach(inputsView); - layout.cell("hour-slider").attach(hSlider); - layout.cell("minute-slider").attach(mSlider); - if (this.config.actions) { + layout.getCell("timepicker").attach(inputsView); + layout.getCell("hour-slider").attach(hSlider); + layout.getCell("minute-slider").attach(mSlider); + if (this.config.controls) { var save = function () { return dom_1.el("button.dhx_timepicker__button-save.dhx_button.dhx_button--view_flat.dhx_button--color_primary.dhx_button--size_medium.dhx_button--circle.dhx_button--width_full", { onclick: _this._outerHandlers.save }, en_1.default.save); }; @@ -14340,8 +15818,8 @@ var Timepicker = /** @class */ (function (_super) { onclick: _this._outerHandlers.close }, [dom_1.el("span.dhx_button__icon.dxi.dxi-close")]); }; - layout.cell("save-action").attach(save); - layout.cell("close-action").attach(close_1); + layout.getCell("save-action").attach(save); + layout.getCell("close-action").attach(close_1); } }; Timepicker.prototype._initHandlers = function () { @@ -14361,8 +15839,17 @@ var Timepicker = /** @class */ (function (_super) { } }; this._outerHandlers = { - close: function () { return _this.events.fire(types_1.TimepickerEvents.close); }, - save: function () { return _this.events.fire(types_1.TimepickerEvents.save, [_this._time]); } + close: function () { + if (!_this.events.fire(types_1.TimepickerEvents.beforeClose, [])) { + return; + } + _this.events.fire(types_1.TimepickerEvents.afterClose, []); + _this.events.fire(types_1.TimepickerEvents.close, []); // TODO: remove sute_7.0 + }, + save: function () { + _this.events.fire(types_1.TimepickerEvents.apply, [_this._time]); + _this.events.fire(types_1.TimepickerEvents.save, [_this._time]); // TODO: remove sute_7.0 + } }; }; Timepicker.prototype._initEvents = function () { @@ -14372,11 +15859,11 @@ var Timepicker = /** @class */ (function (_super) { return; } if (_this.config.timeFormat === 12) { - _this._time.isAM = value < 12; - _this._time.h = value % 12 || 12; + _this._time.AM = value < 12; + _this._time.hour = value % 12 || 12; } else { - _this._time.h = value; + _this._time.hour = value; } _this.events.fire(types_1.TimepickerEvents.change, [_this.getValue()]); _this._inputsView.paint(); @@ -14385,7 +15872,7 @@ var Timepicker = /** @class */ (function (_super) { if (value < _this._minutesSlider.config.min || value > _this._minutesSlider.config.max) { return; } - _this._time.m = value; + _this._time.minute = value; _this.events.fire(types_1.TimepickerEvents.change, [_this.getValue()]); _this._inputsView.paint(); }); @@ -14394,14 +15881,14 @@ var Timepicker = /** @class */ (function (_super) { return dom_1.el(".dhx_timepicker-inputs", __assign({}, this._handlers), [ dom_1.el("input.dhx_timepicker-input.dhx_timepicker-input--hour", { _key: "hour", - value: this._time.h < 10 ? "0" + this._time.h : this._time.h + value: this._time.hour < 10 ? "0" + this._time.hour : this._time.hour }), dom_1.el("span.dhx_timepicker-delimer", ":"), dom_1.el("input.dhx_timepicker-input.dhx_timepicker-input--minutes", { _key: "minute", - value: this._time.m < 10 ? "0" + this._time.m : this._time.m + value: this._time.minute < 10 ? "0" + this._time.minute : this._time.minute }), - this.config.timeFormat === 12 ? dom_1.el(".dhx_timepicker-ampm", this._time.isAM ? "AM" : "PM") : null + this.config.timeFormat === 12 ? dom_1.el(".dhx_timepicker-ampm", this._time.AM ? "AM" : "PM") : null ]); }; return Timepicker; @@ -14416,7 +15903,7 @@ function validate(value, max) { /***/ }), -/* 125 */ +/* 130 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -14437,11 +15924,11 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); var Keymanager_1 = __webpack_require__(13); var view_1 = __webpack_require__(4); -var ts_popup_1 = __webpack_require__(10); -var types_1 = __webpack_require__(63); +var ts_popup_1 = __webpack_require__(11); +var types_1 = __webpack_require__(65); function normalizeValue(value, min, max) { if (value < min) { return min; @@ -14477,8 +15964,16 @@ var Slider = /** @class */ (function (_super) { min: 0, max: 100, step: 1, - thumbLabel: true, + tooltip: true }, config)) || this; + _this._disabled = false; + _this.config.helpMessage = _this.config.helpMessage || _this.config.help; // TODO: remove sute_7.0 + if (_this.config.thumbLabel !== undefined) { + _this.config.tooltip = _this.config.thumbLabel; // TODO: remove sute_7.0 + } + if (_this.config.labelInline) { + _this.config.labelPosition = "left"; // TODO: remove sute_7.0 + } _this.events = new events_1.EventSystem(_this); _this._axis = _this.config.mode === types_1.Direction.horizontal ? "clientX" : "clientY"; _this._initStartPosition(); @@ -14502,6 +15997,9 @@ var Slider = /** @class */ (function (_super) { this._disabled = false; this.paint(); }; + Slider.prototype.isDisabled = function () { + return this._disabled; + }; Slider.prototype.focus = function (extra) { this.getRootView().refs[extra ? "extraRunner" : "runner"].el.focus(); }; @@ -14607,9 +16105,13 @@ var Slider = /** @class */ (function (_super) { if (this.config.inverse) { value = -value; } + var _a = this.config, max = _a.max, min = _a.min; var oldValue = forExtra ? this._getValue(this._extraCurrentPosition) : this._getValue(this._currentPosition); var newValue = oldValue + value; this._setValue(oldValue + value, forExtra); + if (newValue > max || newValue < min) { + newValue = oldValue; + } this.events.fire(types_1.SliderEvents.change, [newValue, oldValue, forExtra]); this.paint(); }; @@ -14694,9 +16196,9 @@ var Slider = /** @class */ (function (_super) { document.removeEventListener("mouseup", mouseUp); document.removeEventListener("mousemove", mouseMove); }; - if (this.config.help) { + if (this.config.helpMessage) { this._helper = new ts_popup_1.Popup({ css: "dhx_tooltip dhx_tooltip--forced dhx_tooltip--light" }); - this._helper.attachHTML(this.config.help); + this._helper.attachHTML(this.config.helpMessage); } this._handlers = { showHelper: function (e) { @@ -14828,8 +16330,8 @@ var Slider = /** @class */ (function (_super) { this.events.fire(types_1.SliderEvents.change, [newValue, oldValue, extra]); }; Slider.prototype._getRunnerStyle = function (forExtra) { - if (forExtra === void 0) { forExtra = false; } var _a; + if (forExtra === void 0) { forExtra = false; } var direction = this.config.mode === types_1.Direction.horizontal ? "left" : "top"; var pos = forExtra ? this._extraCurrentPosition : this._currentPosition; return _a = {}, @@ -14849,33 +16351,35 @@ var Slider = /** @class */ (function (_super) { (this._isNullable(forExtra ? this._extraCurrentPosition : this._currentPosition) && !this.config.range ? " dhx_slider__thumb--nullable" : ""); }; Slider.prototype._draw = function () { - var width = this.config.labelInline && this.config.labelWidth ? this.config.labelWidth : ""; + var _a = this.config, labelPosition = _a.labelPosition, labelWidth = _a.labelWidth, mode = _a.mode, label = _a.label, hiddenLabel = _a.hiddenLabel, tick = _a.tick, majorTick = _a.majorTick, css = _a.css, helpMessage = _a.helpMessage; + var width = labelPosition === "left" && labelWidth ? labelWidth : ""; return dom_1.el("div", { class: "dhx_slider" + - " dhx_slider--mode_" + this.config.mode + - (this.config.label && this.config.labelInline ? " dhx_slider--label-inline" : "") + - (this.config.hiddenLabel ? " dhx_slider--label_sr" : "") + - (this.config.tick ? " dhx_slider--ticks" : "") + - (this.config.majorTick ? " dhx_slider--major-ticks" : "") + - (this.config.css ? " " + this.config.css : "") + " dhx_slider--mode_" + mode + + (label && labelPosition === "left" ? " dhx_slider--label-inline" : "") + + (hiddenLabel ? " dhx_slider--label_sr" : "") + + (tick ? " dhx_slider--ticks" : "") + + (majorTick ? " dhx_slider--major-ticks" : "") + + (css ? " " + css : "") + + (this._disabled ? " dhx_slider--disabled" : "") }, [ - this.config.label ? dom_1.el("label.dhx_label.dhx_slider__label", { + label ? dom_1.el("label.dhx_label.dhx_slider__label", { style: { minWidth: width, maxWidth: width }, - class: this.config.help ? "dhx_label--with-help" : "", + class: helpMessage ? "dhx_label--with-help" : "", onclick: this._handlers.onlabelClick, - }, this.config.help ? [ - dom_1.el("span.dhx_label__holder", this.config.label), + }, helpMessage ? [ + dom_1.el("span.dhx_label__holder", label), dom_1.el("span.dhx_label-help.dxi.dxi-help-circle-outline", { tabindex: "0", role: "button", onclick: this._handlers.showHelper }), - ] : this.config.label) : null, + ] : label) : null, this._drawSlider() ]); }; Slider.prototype._drawSlider = function () { - return dom_1.el(".dhx_slider__track-holder", + return dom_1.el(".dhx_widget.dhx_slider__track-holder", // (this.config.mode === Direction.vertical ? ".dhx_slider--vertical" : ".dhx_slider--horizontal"), { dhx_widget_id: this._uid, @@ -14897,8 +16401,8 @@ var Slider = /** @class */ (function (_super) { style: this._getRunnerStyle(), tabindex: 0, }), - this.config.thumbLabel && (this._mouseIn || this._focusIn || this._isMouseMoving) ? this._drawThumbLabel() : null, - this.config.thumbLabel && this.config.range && (this._mouseIn || this._focusIn || this._isMouseMoving) ? this._drawThumbLabel(true) : null, + this.config.tooltip && (this._mouseIn || this._focusIn || this._isMouseMoving) ? this._drawTooltip() : null, + this.config.tooltip && this.config.range && (this._mouseIn || this._focusIn || this._isMouseMoving) ? this._drawTooltip(true) : null, this.config.range ? dom_1.el("div", { _ref: "extraRunner", class: this._getRunnerCss(true), @@ -14945,9 +16449,9 @@ var Slider = /** @class */ (function (_super) { _c) }); }; - Slider.prototype._drawThumbLabel = function (forExtra) { - if (forExtra === void 0) { forExtra = false; } + Slider.prototype._drawTooltip = function (forExtra) { var _a; + if (forExtra === void 0) { forExtra = false; } var pos = forExtra ? this._extraCurrentPosition : this._currentPosition; var direction = this.config.mode === types_1.Direction.horizontal ? "left" : "top"; var classNameModifiers = this.config.mode === types_1.Direction.horizontal ? ".dhx_slider__thumb-label--horizontal" : ".dhx_slider__thumb-label--vertical"; @@ -15015,7 +16519,7 @@ exports.Slider = Slider; /***/ }), -/* 126 */ +/* 131 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -15047,10 +16551,10 @@ var __assign = (this && this.__assign) || function () { Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); -var html_1 = __webpack_require__(3); +var events_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var view_1 = __webpack_require__(4); -var types_1 = __webpack_require__(62); +var types_1 = __webpack_require__(64); var Popup = /** @class */ (function (_super) { __extends(Popup, _super); function Popup(config) { @@ -15086,10 +16590,10 @@ var Popup = /** @class */ (function (_super) { document.body.appendChild(this._popup); this._setPopupSize(node, config); this._isActive = true; - setTimeout(function () { + dom_1.awaitRedraw().then(function () { _this.events.fire(types_1.PopupEvents.afterShow, [node]); _this._outerClickDestructor = _this._detectOuterClick(node); - }, 100); + }); }; Popup.prototype.hide = function () { this._hide(false, null); @@ -15176,7 +16680,7 @@ var Popup = /** @class */ (function (_super) { }); return; } - var _b = html_1.fitPosition(node, __assign({ centering: true, mode: html_1.Position.bottom }, config, { width: width, height: height })), left = _b.left, top = _b.top; + var _b = html_1.fitPosition(node, __assign(__assign({ centering: true, mode: html_1.Position.bottom }, config), { width: width, height: height })), left = _b.left, top = _b.top; this._popup.style.left = left; this._popup.style.top = top; if (config.indent && config.indent !== 0) { @@ -15237,7 +16741,7 @@ exports.Popup = Popup; /***/ }), -/* 127 */ +/* 132 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -15253,14 +16757,14 @@ exports.isTimeCheck = isTimeCheck; /***/ }), -/* 128 */ +/* 133 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); -var DateFormatter_1 = __webpack_require__(38); +var DateFormatter_1 = __webpack_require__(41); var DateHelper = /** @class */ (function () { function DateHelper() { } @@ -15292,14 +16796,22 @@ var DateHelper = /** @class */ (function () { }; DateHelper.addMonth = function (d, count) { if (count === void 0) { count = 1; } - return new Date(d.getFullYear(), d.getMonth() + count, 1); + return new Date(d.getFullYear(), d.getMonth() + count); }; DateHelper.addYear = function (d, count) { if (count === void 0) { count = 1; } - return new Date(d.getFullYear() + count, d.getMonth(), 0); + return new Date(d.getFullYear() + count, d.getMonth()); }; - DateHelper.withHoursAndMinutes = function (d, hours, minutes) { - return new Date(d.getFullYear(), d.getMonth(), d.getDate(), hours, minutes); + DateHelper.withHoursAndMinutes = function (d, hours, minutes, dateFormat) { + if (dateFormat === undefined || !dateFormat && hours === 12 || dateFormat && hours !== 12) { + return new Date(d.getFullYear(), d.getMonth(), d.getDate(), hours, minutes); + } + else if (dateFormat && hours === 12) { + return new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, minutes); + } + else { + return new Date(d.getFullYear(), d.getMonth(), d.getDate(), hours + 12, minutes); + } }; DateHelper.setMonth = function (d, month) { d.setMonth(month); @@ -15344,7 +16856,7 @@ exports.DateHelper = DateHelper; /***/ }), -/* 129 */ +/* 134 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -15354,7 +16866,7 @@ exports.linkButtonClasses = ".dhx_button.dhx_button--view_link.dhx_button--icon. /***/ }), -/* 130 */ +/* 135 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -15372,22 +16884,29 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); -var html_1 = __webpack_require__(3); +var events_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var view_1 = __webpack_require__(4); var core_1 = __webpack_require__(1); -var color_1 = __webpack_require__(40); -var colors_1 = __webpack_require__(131); -var en_1 = __webpack_require__(41); -var types_1 = __webpack_require__(67); +var color_1 = __webpack_require__(43); +var colors_1 = __webpack_require__(136); +var en_1 = __webpack_require__(44); +var types_1 = __webpack_require__(69); // tslint:disable-next-line -var tooltip_1 = __webpack_require__(60); +var tooltip_1 = __webpack_require__(62); // tslint:disable-next-line var ts_message_1 = __webpack_require__(19); -var picker_1 = __webpack_require__(132); -var calculations_1 = __webpack_require__(133); +var picker_1 = __webpack_require__(137); +var calculations_1 = __webpack_require__(138); var Colorpicker = /** @class */ (function (_super) { __extends(Colorpicker, _super); function Colorpicker(container, config) { @@ -15411,31 +16930,31 @@ var Colorpicker = /** @class */ (function (_super) { }; _this._onColorClick = function (_e, node) { _this._selected = node.data.color.toUpperCase(); - _this.events.fire(types_1.ColorpickerEvents.colorChange, [_this._selected]); + _this.events.fire(types_1.ColorpickerEvents.change, [_this._selected]); + _this.events.fire(types_1.ColorpickerEvents.colorChange, [_this._selected]); // TODO: remove sute_7.0 }; _this._container = container; _this.config = core_1.extend({ css: "", - paletteOnly: false, grayShades: true, pickerOnly: false, + paletteOnly: false, customColors: [], palette: colors_1.palette, - width: "238px" + width: "238px", + mode: types_1.ViewsMode.palette }, _this.config); - // [dirty] if (!_this.config.palette) { _this.config.palette = colors_1.palette; } if (_this.config.customColors) { _this.config.customColors = _this.config.customColors.map(function (color) { return color.toUpperCase(); }); } - _this.events = new events_1.EventSystem(_this); _this._pickerState = { hsv: { h: 0, s: 1, v: 1 }, - currentView: types_1.ViewsTypes.palette, customHex: "" }; + _this.events = new events_1.EventSystem(_this); _this._setHandlers(); var view = dom_1.create({ render: function () { return _this._getContent(); } }); _this.mount(_this._container, view); @@ -15444,19 +16963,24 @@ var Colorpicker = /** @class */ (function (_super) { Colorpicker.prototype.destructor = function () { this.unmount(); }; - Colorpicker.prototype.focusValue = function (value) { + Colorpicker.prototype.clear = function () { + this._selected = ""; + this.paint(); + }; + Colorpicker.prototype.setValue = function (value) { if (this._focusColor(value)) { this.paint(); + this.events.fire(types_1.ColorpickerEvents.change, [this._selected]); + this.events.fire(types_1.ColorpickerEvents.colorChange, [this._selected]); // TODO: remove sute_7.0 } }; - Colorpicker.prototype.setValue = function (value) { + Colorpicker.prototype.setFocus = function (value) { if (this._focusColor(value)) { this.paint(); - this.events.fire(types_1.ColorpickerEvents.colorChange, [this._selected]); } }; Colorpicker.prototype.getValue = function () { - return this._selected; + return this._selected || ""; }; Colorpicker.prototype.getCustomColors = function () { return this.config.customColors; @@ -15465,15 +16989,28 @@ var Colorpicker = /** @class */ (function (_super) { this.config.customColors = customColors.map(function (color) { return color.toUpperCase(); }); this.paint(); }; - Colorpicker.prototype.setView = function (view) { - if (types_1.ViewsTypes[view]) { - this._pickerState.currentView = view; - this.events.fire(types_1.ColorpickerEvents.viewChange, [view]); + Colorpicker.prototype.setCurrentMode = function (mode) { + if (types_1.ViewsMode[mode]) { + this.config.mode = mode; + this.events.fire(types_1.ColorpickerEvents.modeChange, [mode]); + this.events.fire(types_1.ColorpickerEvents.viewChange, [mode]); // TODO: remove sute_7.0 this.paint(); } }; + Colorpicker.prototype.getCurrentMode = function () { + return this.config.mode; + }; + // TODO: remove sute_7.0 Colorpicker.prototype.getView = function () { - return this._pickerState.currentView; + return this.getCurrentMode(); + }; + // TODO: remove sute_7.0 + Colorpicker.prototype.setView = function (mode) { + this.setCurrentMode(mode); + }; + // TODO: remove sute_7.0 + Colorpicker.prototype.focusValue = function (value) { + this.setFocus(value); }; Colorpicker.prototype._setHandlers = function () { var _this = this; @@ -15498,18 +17035,19 @@ var Colorpicker = /** @class */ (function (_super) { _this.paint(); }, buttonsClick: function (button) { - _this.setView(types_1.ViewsTypes.palette); + _this.setCurrentMode(types_1.ViewsMode.palette); if (button === "cancel") { _this.events.fire(types_1.ColorpickerEvents.cancelClick, []); return; } if (button === "apply" && _this.config.customColors.indexOf(_this._pickerState.background) === -1) { _this.setValue(_this._pickerState.background); - _this.events.fire(types_1.ColorpickerEvents.selectClick, []); + _this.events.fire(types_1.ColorpickerEvents.apply, []); + _this.events.fire(types_1.ColorpickerEvents.selectClick, []); // TODO: remove sute_7.0 } }, customColorClick: function () { - _this.setView(types_1.ViewsTypes.picker); + _this.setView(types_1.ViewsMode.picker); }, oninput: function (e) { if (_this._inputTimeout) { @@ -15557,11 +17095,18 @@ var Colorpicker = /** @class */ (function (_super) { } } }; + this.events.on(types_1.ColorpickerEvents.change, function () { + _this.paint(); + }); + // TODO: remove sute_7.0 this.events.on(types_1.ColorpickerEvents.colorChange, function () { _this.paint(); }); }; Colorpicker.prototype._focusColor = function (value) { + if (value === undefined || value.length < 4) { + return false; + } var hex = value.toUpperCase(); if (!color_1.isHex(hex)) { return false; @@ -15621,16 +17166,16 @@ var Colorpicker = /** @class */ (function (_super) { view = [picker_1.getPicker(this, this._pickerState, this._handlers)]; } else { - view = this._pickerState.currentView === "palette" ? [ + view = this.config.mode === "palette" ? __spreadArrays([ this.config.grayShades && this._getGrayShades() - ].concat((this._getPalette()), [ + ], (this._getPalette()), [ !this.config.paletteOnly && dom_1.el(".dhx_colorpicker-custom-colors", { onmouseover: this._handlers.mouseover }, [ dom_1.el(".dhx_colorpicker-custom-colors__header", [ en_1.default.customColors ]), - dom_1.el(".dhx_palette--custom.dhx_palette__row", this._getCells(this.config.customColors, "dhx_custom-color__cell").concat([ + dom_1.el(".dhx_palette--custom.dhx_palette__row", __spreadArrays(this._getCells(this.config.customColors, "dhx_custom-color__cell"), [ dom_1.el(".dhx_colorpicker-custom-colors__picker", { class: "dxi dxi-plus", onclick: this._handlers.customColorClick, @@ -15641,7 +17186,7 @@ var Colorpicker = /** @class */ (function (_super) { ]) : [picker_1.getPicker(this, this._pickerState, this._handlers)]; } - return dom_1.el(".dhx_colorpicker", { class: this.config.css, style: { width: this.config.width } }, [ + return dom_1.el(".dhx_widget.dhx_colorpicker", { class: this.config.css, style: { width: this.config.width } }, [ dom_1.el(".dhx_palette", { onclick: this._handlers.click, oncontextmenu: this._handlers.contextmenu @@ -15654,7 +17199,7 @@ exports.Colorpicker = Colorpicker; /***/ }), -/* 131 */ +/* 136 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -15767,22 +17312,22 @@ exports.palette = [ /***/ }), -/* 132 */ +/* 137 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var color_1 = __webpack_require__(40); +var color_1 = __webpack_require__(43); var dom_1 = __webpack_require__(0); -var en_1 = __webpack_require__(41); +var en_1 = __webpack_require__(44); function getPicker(colorpicker, pickerState, handlers) { var rgb = color_1.HSVtoRGB(pickerState.hsv); pickerState.background = color_1.RGBToHex(rgb); var currentBackground = color_1.RGBToHex(color_1.HSVtoRGB({ h: pickerState.hsv.h, s: 1, v: 1 })); var root = colorpicker.getRootView(); - var box = root.refs ? - root.refs.picker_palette.el.getBoundingClientRect() + var box = root.refs + ? root.refs.picker_palette.el.getBoundingClientRect() : { height: 200, width: 218, x: 0, y: 0 }; var height = box.height - 2; var width = box.width - 2; @@ -15790,8 +17335,8 @@ function getPicker(colorpicker, pickerState, handlers) { var gripLeft = (pickerState.hsv.s * width) - 4; var rangeWidth = box.width - 6; var rangeGripLeft = rangeWidth - ((360 - pickerState.hsv.h) / 360) * rangeWidth; - var inputValue = pickerState.customHex ? - pickerState.customHex.replace("#", "") + var inputValue = color_1.isHex(pickerState.customHex) + ? pickerState.customHex.replace("#", "") : pickerState.background.replace("#", ""); return dom_1.el(".dhx_colorpicker-picker", {}, [ dom_1.el(".dhx_colorpicker-picker__palette", { @@ -15821,7 +17366,7 @@ function getPicker(colorpicker, pickerState, handlers) { ]), dom_1.el(".dhx_colorpicker-value", [ dom_1.el(".dhx_colorpicker-value__color", { style: { background: pickerState.background } }), - dom_1.el(".dhx_colorpicker-value__input-wrapper", [ + dom_1.el(".dhx_colorpicker-value__input__wrapper", [ dom_1.el("input", { class: "dhx_colorpicker-value__input", value: inputValue, @@ -15859,7 +17404,7 @@ exports.calculatePaletteGrip = calculatePaletteGrip; /***/ }), -/* 133 */ +/* 138 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -15890,7 +17435,7 @@ exports.calculateRangeGrip = calculateRangeGrip; /***/ }), -/* 134 */ +/* 139 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -15899,12 +17444,12 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(135)); +__export(__webpack_require__(140)); __export(__webpack_require__(6)); /***/ }), -/* 135 */ +/* 140 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -15935,16 +17480,17 @@ var __assign = (this && this.__assign) || function () { }; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); var view_1 = __webpack_require__(4); var ts_data_1 = __webpack_require__(7); -var ComposeLayer_1 = __webpack_require__(136); -var Legend_1 = __webpack_require__(138); -var index_1 = __webpack_require__(140); -var index_2 = __webpack_require__(144); -var Stacker_1 = __webpack_require__(154); -var Tooltip_1 = __webpack_require__(155); +var ComposeLayer_1 = __webpack_require__(141); +var Legend_1 = __webpack_require__(143); +var Tooltip_1 = __webpack_require__(145); var types_1 = __webpack_require__(6); +var index_1 = __webpack_require__(146); +var index_2 = __webpack_require__(150); +var Stacker_1 = __webpack_require__(160); +var common_1 = __webpack_require__(5); var Chart = /** @class */ (function (_super) { __extends(Chart, _super); function Chart(node, config) { @@ -15962,9 +17508,14 @@ var Chart = /** @class */ (function (_super) { maxNum: config.maxPoints }; } - if (config.data) { + if (Array.isArray(config.data)) { + _this.events = new events_1.EventSystem(_this); + _this.data = new ts_data_1.DataCollection(dataConfig, _this.events); + _this.data.parse(config.data); + } + else if (config.data && config.data.events) { _this.data = config.data; - _this.events = config.data.events; + _this.events = _this.data.events; _this.events.context = _this; } else { @@ -16017,6 +17568,7 @@ var Chart = /** @class */ (function (_super) { content.push(_this._layers.toVDOM(_this._width, _this._height)); } return dom_1.el(".dhx_widget.dhx_chart", { + class: config.css ? config.css : "", onmousemove: _this._globalHTMLHandlers.onmousemove, onmouseleave: _this._globalHTMLHandlers.onmouseleave }, content); @@ -16045,9 +17597,14 @@ var Chart = /** @class */ (function (_super) { this._layers.clear(); this._series = {}; this._scales = {}; + var min; + // let baseLine; if (config.scales) { for (var key in config.scales) { var scale = __assign({}, config.scales[key]); + if (config.scales[key].min !== undefined) { + min = config.scales[key].min; + } scale.type = scale.type || this._detectScaleType(scale, key); if (config.scales.radial && key !== "radial") { scale.hidden = true; @@ -16058,6 +17615,9 @@ var Chart = /** @class */ (function (_super) { var stack = new Stacker_1.default(); this._layers.add(stack); config.series.forEach(function (cfg) { + if (cfg.baseLine !== undefined && cfg.baseLine < min) { + cfg.baseLine = undefined; + } var serieConfig = __assign({}, cfg); serieConfig.type = serieConfig.type || config.type; var chartFactory = index_2.default[serieConfig.type]; @@ -16065,7 +17625,9 @@ var Chart = /** @class */ (function (_super) { serieConfig.barWidth = serieConfig.barWidth || _this.config.barWidth; } var chart = new chartFactory(_this.data, serieConfig, _this.events); - var chartScales = serieConfig.scales || [types_1.ScaleType.bottom, types_1.ScaleType.left]; + var scales = common_1.getScales(config.scales); + var chartScales = (scales.length > 1 && scales[0] !== "radial") ? scales : + scales[0] === "radial" ? scales : [types_1.ScaleType.bottom, types_1.ScaleType.left]; chartScales.forEach(function (type) { var scale = _this._scales[type]; if (!scale) { @@ -16140,14 +17702,14 @@ exports.Chart = Chart; /***/ }), -/* 136 */ +/* 141 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var Filters_1 = __webpack_require__(137); +var Filters_1 = __webpack_require__(142); var ComposeLayer = /** @class */ (function () { function ComposeLayer() { this._data = []; @@ -16186,9 +17748,16 @@ var ComposeLayer = /** @class */ (function () { this._sizes = sizes; var chartsContent = dom_1.sv("g", { transform: "translate(" + sizes.left + ", " + sizes.top + ")" - }, toPaint.map(function (item) { - return item.paint(width - (sizes.left + sizes.right), height - (sizes.top + sizes.bottom)); - })); + }, [ + dom_1.sv("rect.dhx_chart-graph_area", { + width: width - sizes.left - sizes.right, + height: height - sizes.top - sizes.bottom, + fill: "transparent" + }), + toPaint.map(function (item) { + return item.paint(width - (sizes.left + sizes.right), height - (sizes.top + sizes.bottom)); + }) + ]); var defs = dom_1.sv("defs", [Filters_1.dropShadow(), Filters_1.shadow()]); return dom_1.sv("svg", { width: width, @@ -16201,7 +17770,7 @@ exports.ComposeLayer = ComposeLayer; /***/ }), -/* 137 */ +/* 142 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16243,7 +17812,7 @@ exports.dropShadow = function () { return dom_1.sv("filter", { /***/ }), -/* 138 */ +/* 143 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16263,7 +17832,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); var types_1 = __webpack_require__(6); var dom_1 = __webpack_require__(0); var common_1 = __webpack_require__(5); -var legend_1 = __webpack_require__(139); +var legend_1 = __webpack_require__(144); function getDefaultMargin(halign, valign) { switch (valign) { case types_1.VerticalPosition.middle: { @@ -16293,7 +17862,7 @@ var Legend = /** @class */ (function () { halign: types_1.HorizontalPosition.right, valign: types_1.VerticalPosition.middle }; - this.config = __assign({}, defaults, config); + this.config = __assign(__assign({}, defaults), config); this.config.margin = config.margin || getDefaultMargin(this.config.halign, this.config.valign); this._handlers = { onclick: function (id, pieLike) { return _this._events.fire(types_1.ChartEvents.toggleSeries, [id, pieLike]); } @@ -16414,7 +17983,7 @@ exports.Legend = Legend; /***/ }), -/* 139 */ +/* 144 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16460,15 +18029,228 @@ exports.legendShape = legendShape; /***/ }), -/* 140 */ +/* 145 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +var dom_1 = __webpack_require__(0); +var common_1 = __webpack_require__(5); +var types_1 = __webpack_require__(6); +var view_1 = __webpack_require__(4); +var getAttrs = function (textWidth, x, y, type, chartType) { + var dy = chartType === types_1.ChartType.bar ? 5 : 0; + switch (type) { + case types_1.TooltipType.top: { + var h1 = (textWidth + 20 - 8 - 4) / 2; + var h2 = textWidth + 20 - 4; + var d = "M0 0 l4 -4 h" + h1 + " a2 2 0 0 0 2 -2 v-18 a2 2 0 0 0 -2 -2 h" + -h2 + " a2 2 0 0 0 -2 2 v18 a2 2 0 0 0 2 2 h" + h1 + " Z"; + var textX = 0; + var textY = -15; + return { + d: d, + left: x, + top: y - 6 + dy, + textX: textX, + textY: textY + }; + } + case types_1.TooltipType.bot: { + var h1 = (textWidth + 20 - 8 - 4) / 2; + var h2 = textWidth + 20 - 4; + var d = "M0 0 l4 4 h" + h1 + " a2 2 0 0 1 2 2 v18 a2 2 0 0 1 -2 2 h" + -h2 + " a2 2 0 0 1 -2 -2 v-18 a2 2 0 0 1 2 -2 h" + h1 + " Z"; + var textX = 0; + var textY = 15; + return { + d: d, + left: x, + top: y + 6 - dy, + textX: textX, + textY: textY + }; + } + case types_1.TooltipType.right: { + var h = textWidth + 20 - 4; + var d = "M0 0 l4 -4 v-5 a2 2 0 0 1 2 -2 h" + h + " a2 2 0 0 1 2 2 v18 a2 2 0 0 1 -2 2 h" + -h + " a2 2 0 0 1 -2 -2 v-5 Z"; + var textX = h / 2 + 6; + var textY = 0; + return { + d: d, + left: x + 1, + top: y, + textX: textX, + textY: textY + }; + } + case types_1.TooltipType.left: { + var h = textWidth + 20 - 4; + var d = "M0 0 l-4 -4 v-5 a2 2 0 0 0 -2 -2 h" + -h + " a2 2 0 0 0 -2 2 v18 a2 2 0 0 0 2 2 h" + h + " a2 2 0 0 0 2 -2 v-5 Z"; + var textX = -h / 2 - 6; + var textY = 0; + return { + d: d, + left: x - 1, + top: y, + textX: textX, + textY: textY + }; + } + case types_1.TooltipType.simple: { + var h = textWidth + 20 - 4; + var d = "M0 0 v-4 a2 2 0 0 1 2 -2 h" + h + " a2 2 0 0 1 2 2 v18 a2 2 0 0 1 -2 2 h" + -h + " a2 2 0 0 1 -2 -2 v-6 Z"; + var textX = h / 2 + 2; + var textY = 6; + return { + d: d, + left: x - h / 2 - 2, + top: y - 5, + textX: textX, + textY: textY + }; + } + } +}; +var Tooltip = /** @class */ (function (_super) { + __extends(Tooltip, _super); + function Tooltip(container, config) { + var _this = _super.call(this, container, config) || this; + _this._chart = config.chart; + _this._state = { + leftOffset: 0, + topOffset: 0, + value: "", + x: 0, + y: 0, + type: null, + chartType: null, + isVisible: false + }; + _this.mount(container, dom_1.create({ render: function () { return _this._draw(); } })); + _this._chart.events.on(types_1.ChartEvents.chartMouseMove, function (x, y, left, top) { + var closest = [Infinity, null, null, null, null]; // (dist, x, y, id, serieid) + _this._chart.eachSeries(function (serie) { + var serieClosest = serie.getClosest(x, y); + if (closest[0] > serieClosest[0]) { + closest[0] = serieClosest[0]; + closest[1] = serieClosest[1]; + closest[2] = serieClosest[2]; + closest[3] = serieClosest[3]; + closest[4] = serie.id; + } + }); + var tooltipSeries = _this._chart.getSeries(closest[4]); + if (tooltipSeries) { + var ref = common_1.calcPointRef(closest[3], closest[4]); + if (ref === _this._lastPointRef) { + return; + } + var text = tooltipSeries.getTooltipText(closest[3]); + if (text) { + var tooltipType = tooltipSeries.getTooltipType(closest[3], closest[1], closest[2]); + _this._enableActivePoint(ref); + _this._state.leftOffset = left; + _this._state.topOffset = top; + _this._state.value = text; + _this._state.x = closest[1]; + _this._state.y = closest[2]; + _this._state.type = tooltipType; + _this._state.chartType = tooltipSeries.config.type; + _this._state.isVisible = true; + _this.paint(); + } + } + }, _this); + _this._chart.events.on(types_1.ChartEvents.chartMouseLeave, function () { return _this._hide(); }, _this); + return _this; + } + Tooltip.prototype.destructor = function () { + this._chart.events.detach(types_1.ChartEvents.chartMouseLeave, this); + this._chart.events.detach(types_1.ChartEvents.chartMouseMove, this); + this.unmount(); + }; + Tooltip.prototype._hide = function () { + this._disableLastActivePoint(); + this._state.isVisible = false; + this.paint(); + }; + Tooltip.prototype._enableActivePoint = function (ref) { + var rootView = this._chart.getRootView(); + var point = rootView && rootView.refs && rootView.refs[ref]; + if (point) { + this._disableLastActivePoint(); + this._lastPointRef = ref; + point.patch({ class: point.attrs.class + " active-figure" }); + } + }; + Tooltip.prototype._disableLastActivePoint = function () { + if (this._lastPointRef) { + var rootView = this._chart.getRootView(); + var point = rootView && rootView.refs && rootView.refs[this._lastPointRef]; + if (point) { + point.patch({ class: point.attrs.class.replace(" active-figure", "") }); + } + this._lastPointRef = null; + } + }; + Tooltip.prototype._draw = function () { + var _a = this._state, value = _a.value, x = _a.x, y = _a.y, type = _a.type, chartType = _a.chartType, isVisible = _a.isVisible; + var attrs; + if (isVisible && value !== "") { + var style = common_1.getFontStyle("tooltip-text"); + var textWidth = common_1.getTextWidth(value, style); + attrs = getAttrs(textWidth, x, y, type || types_1.TooltipType.top, chartType); + } + else { + attrs = { textX: 0, textY: 0, d: null, left: 0, top: 0 }; + } + return dom_1.el(".dhx_chart.tooltip-container", { + style: { + pointerEvents: "none", + width: 0, + height: 0, + visibility: isVisible ? "visible" : "hidden", + position: "absolute", + left: attrs.left + this._state.leftOffset + "px", + top: attrs.top + this._state.topOffset + "px" + } + }, isVisible ? [ + dom_1.sv("svg", [ + dom_1.sv("path", { d: attrs.d, class: "tooltip-form" }), + dom_1.sv("text", { x: attrs.textX, y: attrs.textY, class: "tooltip-text" }, [ + common_1.verticalCenteredText(value) + ]) + ]) + ] : null); + }; + return Tooltip; +}(view_1.View)); +exports.Tooltip = Tooltip; + + +/***/ }), +/* 146 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var RadialScale_1 = __webpack_require__(141); -var Scale_1 = __webpack_require__(42); -var TextScale_1 = __webpack_require__(143); +var RadialScale_1 = __webpack_require__(147); +var Scale_1 = __webpack_require__(45); +var TextScale_1 = __webpack_require__(149); var scaleTypes = { radial: RadialScale_1.RadialScale, text: TextScale_1.TextScale, @@ -16478,7 +18260,7 @@ exports.default = scaleTypes; /***/ }), -/* 141 */ +/* 147 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16497,9 +18279,9 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var circle_1 = __webpack_require__(24); +var circle_1 = __webpack_require__(26); var types_1 = __webpack_require__(6); -var Scale_1 = __webpack_require__(42); +var Scale_1 = __webpack_require__(45); var RadialScale = /** @class */ (function (_super) { __extends(RadialScale, _super); function RadialScale(_data, config) { @@ -16527,7 +18309,7 @@ exports.RadialScale = RadialScale; /***/ }), -/* 142 */ +/* 148 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16543,6 +18325,13 @@ var __assign = (this && this.__assign) || function () { }; return __assign.apply(this, arguments); }; +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; Object.defineProperty(exports, "__esModule", { value: true }); var common_1 = __webpack_require__(5); var allowedBases = [1, 2, 3, 5, 10]; @@ -16555,7 +18344,7 @@ var AxisCreator = /** @class */ (function () { max: Math.max.apply(Math, this._data), maxTicks: this._data.length < 20 ? this._data.length : 20 }; - this.config = __assign({}, defaults, conf); + this.config = __assign(__assign({}, defaults), conf); if (this.config.padding) { this._addPadding(); } @@ -16581,7 +18370,7 @@ var AxisCreator = /** @class */ (function () { var exponent = Math.floor(common_1.log10(dif / ticks)); var step = Math.pow(10, exponent); var rawBase = (dif / step) / ticks; - var nearestBase = allowedBases[allowedBases.concat([rawBase]).sort(function (a, b) { return a - b; }).indexOf(rawBase)]; + var nearestBase = allowedBases[__spreadArrays(allowedBases, [rawBase]).sort(function (a, b) { return a - b; }).indexOf(rawBase)]; return nearestBase * step; }; AxisCreator.prototype._calculateSteps = function (step) { @@ -16623,7 +18412,7 @@ exports.AxisCreator = AxisCreator; /***/ }), -/* 143 */ +/* 149 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16654,8 +18443,8 @@ var __assign = (this && this.__assign) || function () { }; Object.defineProperty(exports, "__esModule", { value: true }); var common_1 = __webpack_require__(5); -var Scale_1 = __webpack_require__(42); -var SvgScales_1 = __webpack_require__(68); +var Scale_1 = __webpack_require__(45); +var SvgScales_1 = __webpack_require__(70); var renderScale = { left: SvgScales_1.left, right: SvgScales_1.right, @@ -16727,7 +18516,7 @@ var TextScale = /** @class */ (function (_super) { showText: true }; this.locator = common_1.locator(config.text); - this.config = __assign({}, defaults, config); + this.config = __assign(__assign({}, defaults), config); }; TextScale.prototype._getAxisPoint = function (index) { var max = this._axis.max; @@ -16747,23 +18536,23 @@ exports.TextScale = TextScale; /***/ }), -/* 144 */ +/* 150 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var Area_1 = __webpack_require__(69); -var Bar_1 = __webpack_require__(70); -var BarX_1 = __webpack_require__(146); -var Donut_1 = __webpack_require__(147); -var Line_1 = __webpack_require__(46); -var Pie_1 = __webpack_require__(148); -var Pie3D_1 = __webpack_require__(149); -var Radar_1 = __webpack_require__(150); -var Scatter_1 = __webpack_require__(151); -var Spline_1 = __webpack_require__(152); -var SplineArea_1 = __webpack_require__(153); +var Area_1 = __webpack_require__(71); +var Bar_1 = __webpack_require__(72); +var BarX_1 = __webpack_require__(152); +var Donut_1 = __webpack_require__(153); +var Line_1 = __webpack_require__(49); +var Pie_1 = __webpack_require__(154); +var Pie3D_1 = __webpack_require__(155); +var Radar_1 = __webpack_require__(156); +var Scatter_1 = __webpack_require__(157); +var Spline_1 = __webpack_require__(158); +var SplineArea_1 = __webpack_require__(159); var seriesTypes = { line: Line_1.default, spline: Spline_1.default, area: Area_1.default, splineArea: SplineArea_1.default, scatter: Scatter_1.default, pie: Pie_1.default, pie3D: Pie3D_1.default, donut: Donut_1.default, radar: Radar_1.default, bar: Bar_1.default, xbar: BarX_1.default }; @@ -16771,7 +18560,7 @@ exports.default = seriesTypes; /***/ }), -/* 145 */ +/* 151 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16885,7 +18674,7 @@ exports.getShadeHelper = getShadeHelper; /***/ }), -/* 146 */ +/* 152 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16905,7 +18694,7 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var types_1 = __webpack_require__(6); -var Bar_1 = __webpack_require__(70); +var Bar_1 = __webpack_require__(72); var BarX = /** @class */ (function (_super) { __extends(BarX, _super); function BarX() { @@ -16957,11 +18746,14 @@ var BarX = /** @class */ (function (_super) { var baseLine = this.config.baseLine; return this._baseLinePosition = baseLine !== undefined ? this.yScale.point(baseLine) * height : 0; }; - BarX.prototype._text = function (item, prev) { + BarX.prototype._text = function (item, prev, rotate) { + var x = (prev + item[1]) / 2; + var y = item[0]; + var canRotate = rotate && !isNaN(rotate); return { - y: item[0], - x: (prev + item[1]) / 2, - class: "bar-text" + x: x, y: y, + class: "bar-text", + transform: canRotate ? "rotate(" + rotate + " " + x + " " + y + ")" : "" }; }; return BarX; @@ -16970,7 +18762,7 @@ exports.default = BarX; /***/ }), -/* 147 */ +/* 153 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16990,10 +18782,10 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var circle_1 = __webpack_require__(24); +var circle_1 = __webpack_require__(26); var common_1 = __webpack_require__(5); var types_1 = __webpack_require__(6); -var NoScaleSeria_1 = __webpack_require__(45); +var NoScaleSeria_1 = __webpack_require__(48); var Donut = /** @class */ (function (_super) { __extends(Donut, _super); function Donut() { @@ -17002,13 +18794,13 @@ var Donut = /** @class */ (function (_super) { Donut.prototype.paint = function (width, height) { var _this = this; var radius = height / 2; - var currentPercent = -.25; // 0 percent is (1, 0) point, -.25 is (0, -1) point + var currentPercent = -.25; var svg = []; var links = []; var tooltipData = []; - var err = this._points.length === 1 ? -.000001 : 0; this._points.forEach(function (item) { var percent = item[0], value = item[1], id = item[2], text = item[3], color = item[4]; + var err = percent === 0 || percent === 1 ? -0.000001 : 0; var _a = circle_1.getCoordinates(currentPercent, radius, radius), startX = _a[0], startY = _a[1]; var avPercent = currentPercent + percent / 2; currentPercent += percent + err; @@ -17046,7 +18838,11 @@ var Donut = /** @class */ (function (_super) { break; } case types_1.NoScaleSubType.percentOnly: - var percentText = dom_1.sv("text", { x: middleLine[0] * 7 / 9, y: middleLine[1] * 7 / 9, class: "pie-inner-value" }, [ + var percentText = dom_1.sv("text", { + x: middleLine[0] * 7 / 9, + y: middleLine[1] * 7 / 9, + class: "pie-inner-value" + }, [ common_1.verticalCenteredText(Math.round(percent * 100) + "%") ]); links.push(percentText); @@ -17058,6 +18854,7 @@ var Donut = /** @class */ (function (_super) { _key: id, fill: color, class: "chart donut", + onclick: [_this._handlers.onclick, item[1], item[2]], onmouseout: [circle_1.pieLikeHandlers.onmouseout], onmouseover: [circle_1.pieLikeHandlers.onmouseover, shiftX, shiftY] }); @@ -17086,7 +18883,7 @@ exports.default = Donut; /***/ }), -/* 148 */ +/* 154 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17118,10 +18915,10 @@ var __assign = (this && this.__assign) || function () { Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var circle_1 = __webpack_require__(24); +var circle_1 = __webpack_require__(26); var common_1 = __webpack_require__(5); var types_1 = __webpack_require__(6); -var NoScaleSeria_1 = __webpack_require__(45); +var NoScaleSeria_1 = __webpack_require__(48); var Pie = /** @class */ (function (_super) { __extends(Pie, _super); function Pie() { @@ -17129,7 +18926,7 @@ var Pie = /** @class */ (function (_super) { } Pie.prototype.paint = function (width, height) { var _this = this; - var _a = this.config, stroke = _a.stroke, strokeWidth = _a.strokeWidth, gradient = _a.gradient, useLines = _a.useLines, showText = _a.showText; + var _a = this.config, stroke = _a.stroke, strokeWidth = _a.strokeWidth, gradient = _a.gradient, useLines = _a.useLines, showText = _a.showText, showTextTemplate = _a.showTextTemplate, subType = _a.subType; var radius = height / 2; var currentPercent = -.25; // 0 percent is (1, 0) point, -.25 is (0, -1) point var tooltipData = []; @@ -17138,9 +18935,9 @@ var Pie = /** @class */ (function (_super) { var links = []; var pie = []; var lines = []; - var err = this._points.length === 1 ? -.000001 : 0; // if move to start point it will be empty circle this._points.forEach(function (item) { var percent = item[0], value = item[1], id = item[2], text = item[3], color = item[4]; + var err = percent === 0 || percent === 1 ? -0.000001 : 0; var fill = color; if (gradient) { var grad = gradient(color); @@ -17157,8 +18954,16 @@ var Pie = /** @class */ (function (_super) { var _c = [circle_1.getCoordinates(avPercent, radius + startPart, radius + startPart), circle_1.getCoordinates(avPercent, radius + endPart, radius + endPart)], linkStart = _c[0], linkEnd = _c[1]; var className = avPercent > -0.25 && avPercent < 0.25 ? "pie-value start-text" : "pie-value end-text"; if (useLines) { - links.push(dom_1.sv("path", { d: "M" + linkStart[0] + " " + linkStart[1] + " L" + linkEnd[0] + " " + linkEnd[1] + " h " + lineLength, class: "pie-value-connector" })); - var textSvg = dom_1.sv("text", { x: linkEnd[0], y: linkEnd[1], dx: lineLength / 2 + lineLength > 0 ? 10 : -10, class: className }, [ + links.push(dom_1.sv("path", { + d: "M" + linkStart[0] + " " + linkStart[1] + " L" + linkEnd[0] + " " + linkEnd[1] + " h " + lineLength, + class: "pie-value-connector" + })); + var textSvg = dom_1.sv("text", { + x: linkEnd[0], + y: linkEnd[1], + dx: lineLength / 2 + lineLength > 0 ? 10 : -10, + class: className + }, [ common_1.verticalCenteredText(text.toString()) ]); links.push(textSvg); @@ -17171,14 +18976,22 @@ var Pie = /** @class */ (function (_super) { ]); links.push(textSvg); } - if (showText) { - var linkText = dom_1.sv("text", { x: middleLine[0] * .7, y: middleLine[1] * .7, class: "pie-inner-value" }, [ - common_1.verticalCenteredText(value.toString()) + if (showText || showTextTemplate) { + var linkText = dom_1.sv("text", { + x: middleLine[0] * .7, + y: middleLine[1] * .7, + class: "pie-inner-value" + }, [ + showTextTemplate ? common_1.verticalCenteredText(showTextTemplate(value.toString())) : common_1.verticalCenteredText(value.toString()) ]); links.push(linkText); } - if (_this.config.subType === types_1.NoScaleSubType.percentOnly) { - var percentText = dom_1.sv("text", { x: middleLine[0] * 0.5, y: middleLine[1] * 0.5, class: "pie-inner-value" }, [ + if (subType === types_1.NoScaleSubType.percentOnly) { + var percentText = dom_1.sv("text", { + x: middleLine[0] * 0.5, + y: middleLine[1] * 0.5, + class: "pie-inner-value" + }, [ common_1.verticalCenteredText(Math.round(percent * 100) + "%") ]); links.push(percentText); @@ -17193,6 +19006,7 @@ var Pie = /** @class */ (function (_super) { class: "chart pie", _key: id, fill: fill, + onclick: [_this._handlers.onclick, item[1], item[2]], onmouseover: [circle_1.pieLikeHandlers.onmouseover, shiftX, shiftY], onmouseout: [circle_1.pieLikeHandlers.onmouseout] }); @@ -17226,7 +19040,7 @@ exports.default = Pie; /***/ }), -/* 149 */ +/* 155 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17246,10 +19060,10 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var circle_1 = __webpack_require__(24); +var circle_1 = __webpack_require__(26); var common_1 = __webpack_require__(5); var types_1 = __webpack_require__(6); -var NoScaleSeria_1 = __webpack_require__(45); +var NoScaleSeria_1 = __webpack_require__(48); var Pie = /** @class */ (function (_super) { __extends(Pie, _super); function Pie() { @@ -17257,6 +19071,7 @@ var Pie = /** @class */ (function (_super) { } Pie.prototype.paint = function (width, height) { var _this = this; + var _a = this.config, subType = _a.subType, useLines = _a.useLines, showText = _a.showText, showTextTemplate = _a.showTextTemplate; var radiusX = height / 2; var radiusY = radiusX * .5; var connector = radiusX / 5; @@ -17264,9 +19079,9 @@ var Pie = /** @class */ (function (_super) { var currentPercent = -.25; var svg = []; var links = []; - var err = this._points.length === 1 ? -.000001 : 0; this._points.forEach(function (item) { var percent = item[0], value = item[1], id = item[2], text = item[3], color = item[4]; + var err = percent === 0 || percent === 1 ? -0.000001 : 0; var _a = circle_1.getCoordinates(currentPercent, radiusX, radiusY), startX = _a[0], startY = _a[1]; var avPercent = currentPercent + percent / 2; var lineLength = avPercent < .25 ? 5 : -5; @@ -17275,16 +19090,23 @@ var Pie = /** @class */ (function (_super) { if (avPercent > 0 && avPercent < 0.5) { delta = connector * Math.sin(2 * Math.PI * avPercent); } - // var linkStart = circle_1.getCoordinates(avPercent, radiusX + 5 + delta, radiusY + 5 + delta); var linkEnd = circle_1.getCoordinates(avPercent, radiusX + 30 + delta, radiusY + 30 + delta); var nextPercent = currentPercent + percent + err; var _b = circle_1.getCoordinates(nextPercent, radiusX, radiusY), endX = _b[0], endY = _b[1]; var largeArcFlag = percent > .5 ? 1 : 0; var className = avPercent > -0.25 && avPercent < 0.25 ? "pie-value start-text" : "pie-value end-text"; - if (_this.config.useLines) { - links.push(dom_1.sv("path", { d: "M" + linkStart[0] + " " + linkStart[1] + " L" + linkEnd[0] + " " + linkEnd[1] + " h " + lineLength, class: "pie-value-connector" })); - var textSvg = dom_1.sv("text", { x: linkEnd[0], y: linkEnd[1], dx: lineLength / 2 + lineLength > 0 ? 10 : -10, class: className }, [ + if (useLines) { + links.push(dom_1.sv("path", { + d: "M" + linkStart[0] + " " + linkStart[1] + " L" + linkEnd[0] + " " + linkEnd[1] + " h " + lineLength, + class: "pie-value-connector" + })); + var textSvg = dom_1.sv("text", { + x: linkEnd[0], + y: linkEnd[1], + dx: lineLength / 2 + lineLength > 0 ? 10 : -10, + class: className + }, [ common_1.verticalCenteredText(text.toString()) ]); links.push(textSvg); @@ -17297,14 +19119,18 @@ var Pie = /** @class */ (function (_super) { ]); links.push(textSvg); } - if (_this.config.showText) { + if (showText || showTextTemplate) { var textSvg = dom_1.sv("text", { x: middleLine[0] * .7, y: middleLine[1] * .7, class: "pie-inner-value" }, [ - common_1.verticalCenteredText(value.toString()) + showTextTemplate ? common_1.verticalCenteredText(showTextTemplate(value)) : common_1.verticalCenteredText(value.toString()) ]); links.push(textSvg); } - if (_this.config.subType === types_1.NoScaleSubType.percentOnly) { - var percentText = dom_1.sv("text", { x: middleLine[0] * 0.6, y: middleLine[1] * 0.6, class: "pie-inner-value" }, [ + if (subType === types_1.NoScaleSubType.percentOnly) { + var percentText = dom_1.sv("text", { + x: middleLine[0] * 0.6, + y: middleLine[1] * 0.6, + class: "pie-inner-value" + }, [ common_1.verticalCenteredText(Math.round(percent * 100) + "%") ]); links.push(percentText); @@ -17324,7 +19150,15 @@ var Pie = /** @class */ (function (_super) { addition = "M " + startX + " " + startY + " v " + connector + " A " + radiusX + " " + radiusY + " 0 0 1 " + endX + " " + (endY + connector) + " v " + -connector; } if (addition) { - var additionPath = dom_1.sv("path", { d: addition, fill: color, class: "chart pie3d addition", stroke: "none", filter: "url(#shadow)" }); + var additionPath = dom_1.sv("path", { + _key: id + "__shadow__", + d: addition, + fill: color, + onclick: [_this._handlers.onclick, item[1], item[2]], + class: "chart pie3d addition", + stroke: "none", + filter: "url(#shadow)" + }); svg.push(additionPath); } // end 3d block @@ -17334,6 +19168,7 @@ var Pie = /** @class */ (function (_super) { _key: id, fill: color, stroke: "none", + onclick: [_this._handlers.onclick, item[1], item[2]], class: "chart pie3d" })); if (_this._points.length === 1) { @@ -17355,7 +19190,7 @@ exports.default = Pie; /***/ }), -/* 150 */ +/* 156 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17386,10 +19221,10 @@ var __assign = (this && this.__assign) || function () { }; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var circle_1 = __webpack_require__(24); +var circle_1 = __webpack_require__(26); var common_1 = __webpack_require__(5); var types_1 = __webpack_require__(6); -var BaseSeria_1 = __webpack_require__(44); +var BaseSeria_1 = __webpack_require__(47); var Radar = /** @class */ (function (_super) { __extends(Radar, _super); function Radar() { @@ -17466,7 +19301,9 @@ var Radar = /** @class */ (function (_super) { item[1] = real[1] + height / 2; }); }; - Radar.prototype._defaultLocator = function (v) { return this._locator(v); }; + Radar.prototype._defaultLocator = function (v) { + return this._locator(v); + }; Radar.prototype._setDefaults = function (config) { var defaults = { strokeWidth: 2, @@ -17479,7 +19316,7 @@ var Radar = /** @class */ (function (_super) { }; this._locator = common_1.locator(config.value); config.scales = config.scales || [types_1.ScaleType.radial]; - this.config = __assign({}, defaults, config); + this.config = __assign(__assign({}, defaults), config); if (this.config.pointType) { var color = this.config.pointColor || this.config.color; this._drawPointType = this._getPointType(this.config.pointType, color, this.config.tooltip); @@ -17491,7 +19328,7 @@ exports.default = Radar; /***/ }), -/* 151 */ +/* 157 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17522,7 +19359,7 @@ var __assign = (this && this.__assign) || function () { }; Object.defineProperty(exports, "__esModule", { value: true }); var types_1 = __webpack_require__(6); -var Line_1 = __webpack_require__(46); +var Line_1 = __webpack_require__(49); var common_1 = __webpack_require__(5); var Scatter = /** @class */ (function (_super) { __extends(Scatter, _super); @@ -17545,7 +19382,7 @@ var Scatter = /** @class */ (function (_super) { tooltip: true, pointType: types_1.PointType.rect }; - this.config = __assign({}, defaults, config); + this.config = __assign(__assign({}, defaults), config); var showTooltip = this.config.tooltip; var point = this.config.pointType; var color = this.config.pointColor || this.config.color; @@ -17559,7 +19396,7 @@ exports.default = Scatter; /***/ }), -/* 152 */ +/* 158 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17579,8 +19416,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var spline_1 = __webpack_require__(71); -var Line_1 = __webpack_require__(46); +var spline_1 = __webpack_require__(73); +var Line_1 = __webpack_require__(49); var Spline = /** @class */ (function (_super) { __extends(Spline, _super); function Spline() { @@ -17605,7 +19442,7 @@ exports.default = Spline; /***/ }), -/* 153 */ +/* 159 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17625,8 +19462,8 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var spline_1 = __webpack_require__(71); -var Area_1 = __webpack_require__(69); +var spline_1 = __webpack_require__(73); +var Area_1 = __webpack_require__(71); var SplineArea = /** @class */ (function (_super) { __extends(SplineArea, _super); function SplineArea() { @@ -17672,7 +19509,7 @@ exports.default = SplineArea; /***/ }), -/* 154 */ +/* 160 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17708,229 +19545,25 @@ var Stacker = /** @class */ (function () { var markers = []; this._toPaint.forEach(function (seria) { if (seria.paintformAndMarkers) { - var _a = seria.paintformAndMarkers(width, height, prev), content = _a[0], seriesMarkers = _a[1]; - svg.push(content); - markers.push(seriesMarkers); - } - else { - var content = seria.paint(width, height, prev); - svg.push(content); - } - prev = seria.getPoints(); - }); - return dom_1.sv("g", svg.concat(markers)); - }; - return Stacker; -}()); -exports.default = Stacker; - - -/***/ }), -/* 155 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var __extends = (this && this.__extends) || (function () { - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -var dom_1 = __webpack_require__(0); -var common_1 = __webpack_require__(5); -var types_1 = __webpack_require__(6); -var view_1 = __webpack_require__(4); -var getAttrs = function (textWidth, x, y, type, chartType) { - var dy = chartType === types_1.ChartType.bar ? 5 : 0; - switch (type) { - case types_1.TooltipType.top: { - var h1 = (textWidth + 20 - 8 - 4) / 2; - var h2 = textWidth + 20 - 4; - var d = "M0 0 l4 -4 h" + h1 + " a2 2 0 0 0 2 -2 v-18 a2 2 0 0 0 -2 -2 h" + -h2 + " a2 2 0 0 0 -2 2 v18 a2 2 0 0 0 2 2 h" + h1 + " Z"; - var textX = 0; - var textY = -15; - return { - d: d, - left: x, - top: y - 6 + dy, - textX: textX, - textY: textY - }; - } - case types_1.TooltipType.bot: { - var h1 = (textWidth + 20 - 8 - 4) / 2; - var h2 = textWidth + 20 - 4; - var d = "M0 0 l4 4 h" + h1 + " a2 2 0 0 1 2 2 v18 a2 2 0 0 1 -2 2 h" + -h2 + " a2 2 0 0 1 -2 -2 v-18 a2 2 0 0 1 2 -2 h" + h1 + " Z"; - var textX = 0; - var textY = 15; - return { - d: d, - left: x, - top: y + 6 - dy, - textX: textX, - textY: textY - }; - } - case types_1.TooltipType.right: { - var h = textWidth + 20 - 4; - var d = "M0 0 l4 -4 v-5 a2 2 0 0 1 2 -2 h" + h + " a2 2 0 0 1 2 2 v18 a2 2 0 0 1 -2 2 h" + -h + " a2 2 0 0 1 -2 -2 v-5 Z"; - var textX = h / 2 + 6; - var textY = 0; - return { - d: d, - left: x + 1, - top: y, - textX: textX, - textY: textY - }; - } - case types_1.TooltipType.left: { - var h = textWidth + 20 - 4; - var d = "M0 0 l-4 -4 v-5 a2 2 0 0 0 -2 -2 h" + -h + " a2 2 0 0 0 -2 2 v18 a2 2 0 0 0 2 2 h" + h + " a2 2 0 0 0 2 -2 v-5 Z"; - var textX = -h / 2 - 6; - var textY = 0; - return { - d: d, - left: x - 1, - top: y, - textX: textX, - textY: textY - }; - } - case types_1.TooltipType.simple: { - var h = textWidth + 20 - 4; - var d = "M0 0 v-4 a2 2 0 0 1 2 -2 h" + h + " a2 2 0 0 1 2 2 v18 a2 2 0 0 1 -2 2 h" + -h + " a2 2 0 0 1 -2 -2 v-6 Z"; - var textX = h / 2 + 2; - var textY = 6; - return { - d: d, - left: x - h / 2 - 2, - top: y - 5, - textX: textX, - textY: textY - }; - } - } -}; -var Tooltip = /** @class */ (function (_super) { - __extends(Tooltip, _super); - function Tooltip(container, config) { - var _this = _super.call(this, container, config) || this; - _this._chart = config.chart; - _this._state = { leftOffset: 0, topOffset: 0, value: "", x: 0, y: 0, type: null, chartType: null, isVisible: false }; - _this.mount(container, dom_1.create({ render: function () { return _this._draw(); } })); - _this._chart.events.on(types_1.ChartEvents.chartMouseMove, function (x, y, left, top) { - var closest = [Infinity, null, null, null, null]; // (dist, x, y, id, serieid) - _this._chart.eachSeries(function (serie) { - var serieClosest = serie.getClosest(x, y); - if (closest[0] > serieClosest[0]) { - closest[0] = serieClosest[0]; - closest[1] = serieClosest[1]; - closest[2] = serieClosest[2]; - closest[3] = serieClosest[3]; - closest[4] = serie.id; - } - }); - var tooltipSeries = _this._chart.getSeries(closest[4]); - if (tooltipSeries) { - var ref = common_1.calcPointRef(closest[3], closest[4]); - if (ref === _this._lastPointRef) { - return; - } - var text = tooltipSeries.getTooltipText(closest[3]); - if (text) { - var tooltipType = tooltipSeries.getTooltipType(closest[3], closest[1], closest[2]); - _this._enableActivePoint(ref); - _this._state.leftOffset = left; - _this._state.topOffset = top; - _this._state.value = text; - _this._state.x = closest[1]; - _this._state.y = closest[2]; - _this._state.type = tooltipType; - _this._state.chartType = tooltipSeries.config.type; - _this._state.isVisible = true; - _this.paint(); - } - } - }, _this); - _this._chart.events.on(types_1.ChartEvents.chartMouseLeave, function () { return _this._hide(); }, _this); - return _this; - } - Tooltip.prototype.destructor = function () { - this._chart.events.detach(types_1.ChartEvents.chartMouseLeave, this); - this._chart.events.detach(types_1.ChartEvents.chartMouseMove, this); - this.unmount(); - }; - Tooltip.prototype._hide = function () { - this._disableLastActivePoint(); - this._state.isVisible = false; - this.paint(); - }; - Tooltip.prototype._enableActivePoint = function (ref) { - var rootView = this._chart.getRootView(); - var point = rootView && rootView.refs && rootView.refs[ref]; - if (point) { - this._disableLastActivePoint(); - this._lastPointRef = ref; - point.patch({ class: point.attrs.class + " active-figure" }); - } - }; - Tooltip.prototype._disableLastActivePoint = function () { - if (this._lastPointRef) { - var rootView = this._chart.getRootView(); - var point = rootView && rootView.refs && rootView.refs[this._lastPointRef]; - if (point) { - point.patch({ class: point.attrs.class.replace(" active-figure", "") }); - } - this._lastPointRef = null; - } - }; - Tooltip.prototype._draw = function () { - var _a = this._state, value = _a.value, x = _a.x, y = _a.y, type = _a.type, chartType = _a.chartType, isVisible = _a.isVisible; - var attrs; - if (isVisible && value !== "") { - var style = common_1.getFontStyle("tooltip-text"); - var textWidth = common_1.getTextWidth(value, style); - attrs = getAttrs(textWidth, x, y, type || types_1.TooltipType.top, chartType); - } - else { - attrs = { textX: 0, textY: 0, d: null, left: 0, top: 0 }; - } - return dom_1.el(".dhx_chart.tooltip-container", { - style: { - pointerEvents: "none", - width: 0, - height: 0, - visibility: isVisible ? "visible" : "hidden", - position: "absolute", - left: attrs.left + this._state.leftOffset + "px", - top: attrs.top + this._state.topOffset + "px" + var _a = seria.paintformAndMarkers(width, height, prev), content = _a[0], seriesMarkers = _a[1]; + svg.push(content); + markers.push(seriesMarkers); } - }, isVisible ? [ - dom_1.sv("svg", [ - dom_1.sv("path", { d: attrs.d, class: "tooltip-form" }), - dom_1.sv("text", { x: attrs.textX, y: attrs.textY, class: "tooltip-text" }, [ - common_1.verticalCenteredText(value) - ]) - ]) - ] : null); + else { + var content = seria.paint(width, height, prev); + svg.push(content); + } + prev = seria.getPoints(); + }); + return dom_1.sv("g", svg.concat(markers)); }; - return Tooltip; -}(view_1.View)); -exports.Tooltip = Tooltip; + return Stacker; +}()); +exports.default = Stacker; /***/ }), -/* 156 */ +/* 161 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17948,21 +19581,28 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); -var html_1 = __webpack_require__(3); -var keycodes_1 = __webpack_require__(157); +var events_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); +var keycodes_1 = __webpack_require__(162); var view_1 = __webpack_require__(4); var ts_data_1 = __webpack_require__(7); -var ts_layout_1 = __webpack_require__(12); -var ts_list_1 = __webpack_require__(36); -var ts_popup_1 = __webpack_require__(10); -var keyListener_1 = __webpack_require__(158); -var en_1 = __webpack_require__(48); -var helper_1 = __webpack_require__(159); -var types_1 = __webpack_require__(72); +var ts_layout_1 = __webpack_require__(14); +var ts_list_1 = __webpack_require__(38); +var ts_popup_1 = __webpack_require__(11); +var keyListener_1 = __webpack_require__(163); +var en_1 = __webpack_require__(50); +var helper_1 = __webpack_require__(164); +var types_1 = __webpack_require__(74); var template = function (item) { if (item.icon) { return " " + item.value + ""; @@ -17979,8 +19619,17 @@ var Combobox = /** @class */ (function (_super) { // selectAllButton: true template: template, listHeight: 224, - cellHeight: 32, + itemHeight: 32, + disabled: false }, config)) || this; + _this.config.itemsCount = _this.config.itemsCount || _this.config.showItemsCount; // TODO: remove sute_7.0 + _this.config.helpMessage = _this.config.helpMessage || _this.config.help; // TODO: remove sute_7.0 + if (_this.config.cellHeight && _this.config.itemHeight === 32) { + _this.config.itemHeight = _this.config.cellHeight; // TODO: remove sute_7.0 + } + if (_this.config.labelInline) { + _this.config.labelPosition = "left"; // TODO: remove sute_7.0 + } if (Array.isArray(_this.config.data)) { _this.events = new events_1.EventSystem(_this); _this.data = new ts_data_1.DataCollection({}, _this.events); @@ -17996,13 +19645,24 @@ var Combobox = /** @class */ (function (_super) { _this.data = new ts_data_1.DataCollection({}, _this.events); } _this.popup = new ts_popup_1.Popup(); - // this.popup.events.on(PopupEvents.beforeHide, () => true); _this.popup.events.on(ts_popup_1.PopupEvents.afterShow, function () { _this.paint(); }); _this.popup.events.on(ts_popup_1.PopupEvents.afterHide, function () { + if (_this.config.multiselection) { + _this._state.value = ""; + } _this.paint(); }); + _this.popup.events.on(ts_popup_1.PopupEvents.beforeHide, function (fromOuterClick) { + if (fromOuterClick) { + if (!_this.events.fire(types_1.ComboboxEvents.beforeClose)) { + return; + } + _this.events.fire(types_1.ComboboxEvents.afterClose); + _this.events.fire(types_1.ComboboxEvents.close); // TODO: remove sute_7.0 + } + }); if (_this.config.readonly) { _this._keyListener = new keyListener_1.KeyListener(); } @@ -18031,20 +19691,6 @@ var Combobox = /** @class */ (function (_super) { _this.mount(element, vnode); return _this; } - Combobox.prototype.setState = function (state) { - switch (state) { - case "success": - this._state.currentState = types_1.ComboState.success; - break; - case "error": - this._state.currentState = types_1.ComboState.error; - break; - default: - this._state.currentState = types_1.ComboState.default; - break; - } - this.paint(); - }; Combobox.prototype.focus = function () { if (this.config.disabled) { return false; @@ -18060,6 +19706,9 @@ var Combobox = /** @class */ (function (_super) { this.config.disabled = true; this.paint(); }; + Combobox.prototype.isDisabled = function () { + return this.config.disabled; + }; Combobox.prototype.clear = function () { if (this.config.disabled) { return false; @@ -18067,7 +19716,7 @@ var Combobox = /** @class */ (function (_super) { this.list.selection.remove(); this._state.value = ""; this._filter(); - this._change(); + this.paint(); }; Combobox.prototype.getValue = function (asArray) { var ids = this.list.selection.getId(); @@ -18098,7 +19747,7 @@ var Combobox = /** @class */ (function (_super) { this._state.value = this._getItemText(item); } } - this._change(); + this.paint(); }; Combobox.prototype.destructor = function () { this.popup.destructor(); @@ -18108,27 +19757,32 @@ var Combobox = /** @class */ (function (_super) { this._layout.destructor(); this.unmount(); }; + // TODO: Remove from API + Combobox.prototype.setState = function (state) { + switch (state) { + case "success": + this._state.currentState = types_1.ComboState.success; + break; + case "error": + this._state.currentState = types_1.ComboState.error; + break; + default: + this._state.currentState = types_1.ComboState.default; + break; + } + this.paint(); + }; Combobox.prototype._createLayout = function () { var _this = this; var list = this.list = new ts_list_1.List(null, { template: this.config.template, virtual: this.config.virtual, keyNavigation: function () { return _this.popup.isVisible(); }, - itemHeight: this.config.cellHeight, + multiselection: this.config.multiselection, + itemHeight: this.config.itemHeight, height: this.config.listHeight, data: this.data }); - this.list.selection.events.on("change", function (e) { - if (!_this.config.multiselection) { - // dirty hack with load was really dearty - if (e && e !== "load") { - _this._hideOptions(); - } - } - }); - if (this.config.multiselection) { - list.selection.config.multiselection = true; - } var layout = this._layout = new ts_layout_1.Layout(this.popup.getContainer(), { css: "dhx_combobox-options dhx_combobox__options", rows: [ @@ -18148,21 +19802,16 @@ var Combobox = /** @class */ (function (_super) { } } }); - layout.cell("list").attach(list); + layout.getCell("list").attach(list); if (this.config.multiselection && this.config.selectAllButton) { - layout.cell("select-unselect-all").attach(helper_1.selectAllView); + layout.getCell("select-unselect-all").attach(helper_1.selectAllView); } }; - Combobox.prototype._change = function () { - var ids = this.list.selection.getId(); - this.events.fire(types_1.ComboboxEvents.change, [ids]); - this.paint(); - }; Combobox.prototype._initHandlers = function () { var _this = this; - if (this.config.help) { + if (this.config.helpMessage) { this._helper = new ts_popup_1.Popup({ css: "dhx_tooltip dhx_tooltip--forced dhx_tooltip--light" }); - this._helper.attachHTML(this.config.help); + this._helper.attachHTML(this.config.helpMessage); } this._handlers = { showHelper: function (e) { @@ -18178,7 +19827,7 @@ var Combobox = /** @class */ (function (_super) { _this.list.selection.remove(id); }); if (_this.config.selectAllButton) { - _this._layout.cell("select-unselect-all").attach(helper_1.selectAllView); + _this._layout.getCell("select-unselect-all").attach(helper_1.selectAllView); _this._state.unselectActive = false; } } @@ -18186,46 +19835,43 @@ var Combobox = /** @class */ (function (_super) { _this.data.filter(); _this.list.selection.add(); if (_this.config.selectAllButton) { - _this._layout.cell("select-unselect-all").attach(helper_1.unselectAllView); + _this._layout.getCell("select-unselect-all").attach(helper_1.unselectAllView); _this._state.unselectActive = true; } } - _this._change(); + _this.paint(); }, onkeydown: function (e) { if (!_this.popup.isVisible() && e.which === keycodes_1.KEY_CODES.DOWN_ARROW) { _this._showOptions(); } - if (_this.popup.isVisible() && e.which === keycodes_1.KEY_CODES.ENTER) { - if (_this.config.multiselection) { - var active = _this.list.getFocusItem(); - var item = _this.data.getItem(active); - if (item) { - if (item.$selected) { - _this.list.selection.remove(active); - } - else { - _this.list.selection.add(active); - } + if (_this.popup.isVisible() && e.which === keycodes_1.KEY_CODES.RIGHT_ARROW) { + if (_this.config.readonly && !_this.config.multiselection) { + var focused = _this.list.getFocusIndex(); + if (focused >= 0 && focused <= _this.data.getLength()) { + e.preventDefault(); + _this.list.setFocusIndex(focused + 1); } - _this._state.value = ""; - _this.data.filter(); - _this.paint(); } - else { - var id = _this.list.getFocusItem(); - _this.list.selection.add(id); - _this._state.value = _this._getItemText(_this.data.getItem(id)) || ""; - _this._change(); - _this._hideOptions(); + } + if (_this.popup.isVisible() && e.which === keycodes_1.KEY_CODES.LEFT_ARROW) { + if (_this.config.readonly && !_this.config.multiselection) { + var focused = _this.list.getFocusIndex(); + if (focused >= 0 && focused <= _this.data.getLength()) { + e.preventDefault(); + _this.list.setFocusIndex(focused - 1); + } } } if (_this.popup.isVisible() && e.which === keycodes_1.KEY_CODES.ESC) { _this._hideOptions(); } + if (_this.popup.isVisible() && e.which === keycodes_1.KEY_CODES.ENTER) { + _this.setValue(_this.list.data.getId(_this.list.getFocusIndex())); + } }, onkeyup: function (e) { - if (!_this.config.multiselection || _this.config.showItemsCount) { + if (!_this.config.multiselection || _this.config.itemsCount) { return; } if (_this._state.ignoreNext) { @@ -18236,7 +19882,7 @@ var Combobox = /** @class */ (function (_super) { var selected = _this.list.selection.getId(); var id = selected[selected.length - 1]; _this.list.selection.remove(id); - _this._change(); + _this.paint(); _this.paint(); } }, @@ -18246,6 +19892,7 @@ var Combobox = /** @class */ (function (_super) { } var input = e.target; var value = input.value; + _this.events.fire(types_1.ComboboxEvents.input, [value]); _this._state.value = value; _this._filter(); if (!value.length) { @@ -18257,7 +19904,7 @@ var Combobox = /** @class */ (function (_super) { } if (!_this.config.multiselection) { _this.list.selection.remove(); - _this._change(); + _this.paint(); } if (!_this.popup.isVisible()) { _this._showOptions(); @@ -18274,13 +19921,13 @@ var Combobox = /** @class */ (function (_super) { return; } _this.list.selection.remove(id); - _this._change(); + _this.paint(); return; } if (e.target.classList.contains("dhx_combobox__action-clear-all")) { _this.list.selection.getId().forEach(function (id) { return _this.list.selection.remove(id); }); if (_this.config.selectAllButton && _this._state.unselectActive) { - _this._layout.cell("select-unselect-all").attach(helper_1.selectAllView); + _this._layout.getCell("select-unselect-all").attach(helper_1.selectAllView); _this._state.unselectActive = false; } _this.paint(); @@ -18306,39 +19953,24 @@ var Combobox = /** @class */ (function (_super) { }; Combobox.prototype._initEvents = function () { var _this = this; - this.list.events.on(ts_list_1.ListEvents.click, function (id) { - if (_this.config.multiselection) { - var selected = _this.data.getItem(id).$selected; - if (selected) { - if (_this.config.selectAllButton && !_this._state.unselectActive && _this.data.getLength() === _this.list.selection.getId().length) { - _this._layout.cell("select-unselect-all").attach(helper_1.unselectAllView); - _this._state.unselectActive = true; - } - } - else { - if (_this.config.selectAllButton && _this._state.unselectActive) { - _this._layout.cell("select-unselect-all").attach(helper_1.selectAllView); - _this._state.unselectActive = false; - } - } - if (!_this._state.value.length) { - _this._state.canDelete = true; - } - _this._change(); - return; + this.list.events.on(ts_list_1.ListEvents.click, function () { + if (!_this.config.multiselection) { + _this._hideOptions(); + } + }); + this.data.events.on(ts_data_1.DataEvents.change, function (id, status, item) { + if (item && item.hasOwnProperty("$selected")) { + _this._updateSelectedItem(id); } - _this._state.value = _this._getItemText(_this.data.getItem(id)) || ""; - _this._change(); - _this._hideOptions(); }); if (this.config.readonly) { this.popup.events.on(ts_popup_1.PopupEvents.afterShow, function () { if (_this._state.value) { var id = _this.list.selection.getId(); - _this.list.setFocusIndex(_this.data.getIndex(id)); + _this.list.setFocus(id); } else { - _this.list.setFocusIndex(0); + _this.list.setFocus(_this.data.getId(0)); } _this._keyListener.startNewListen(function (val) { return _this._findBest(val); }); }); @@ -18358,22 +19990,28 @@ var Combobox = /** @class */ (function (_super) { if (!rootView || !rootView.refs || !rootView.refs.holder) { return false; } - var holderNode = rootView.refs.holder.el; - this.popup.getContainer().style.width = holderNode.offsetWidth + "px"; - this.popup.show(holderNode, { mode: html_1.Position.bottom }); + if (!this.popup.isVisible()) { + var holderNode = rootView.refs.holder.el; + this.popup.getContainer().style.width = holderNode.offsetWidth + "px"; + this.popup.show(holderNode, { mode: html_1.Position.bottom }); + } return true; }; Combobox.prototype._hideOptions = function () { + if (!this.events.fire(types_1.ComboboxEvents.beforeClose)) { + return; + } if (this.config.readonly) { this._keyListener.endListen(); } - this.list.setFocusIndex(0); + this.list.setFocus(this.data.getId(0)); if (!this.config.multiselection && !this.config.readonly && !this.list.selection.contains()) { this._state.value = ""; } this.popup.hide(); this.paint(); - this.events.fire(types_1.ComboboxEvents.close); + this.events.fire(types_1.ComboboxEvents.afterClose); + this.events.fire(types_1.ComboboxEvents.close); // TODO: remove sute_7.0 }; Combobox.prototype._filter = function () { var _this = this; @@ -18384,27 +20022,27 @@ var Combobox = /** @class */ (function (_super) { ? _this.config.filter(item, _this._state.value) : core_1.isEqualString(_this._state.value, _this._getItemText(item)); }); if (this.config.multiselection) { - this.list.setFocusIndex(0); + this.list.setFocus(this.data.getId(0)); } else { var index = this.data.getIndex(this.list.selection.getId()); - this.list.setFocusIndex(index > -1 ? index : 0); + this.list.setFocus(this.data.getId(index > -1 ? index : 0)); } if (this.data.getLength() === 0) { if (this.config.multiselection && this.config.selectAllButton) { - this._layout.cell("select-unselect-all").hide(); + this._layout.getCell("select-unselect-all").hide(); } - this._layout.cell("list").hide(); - this._layout.cell("not-found").attach(helper_1.emptyListView); - this._layout.cell("not-found").show(); + this._layout.getCell("list").hide(); + this._layout.getCell("not-found").attach(helper_1.emptyListView); + this._layout.getCell("not-found").show(); } else { if (this.config.multiselection && this.config.selectAllButton) { - this._layout.cell("select-unselect-all").show(); + this._layout.getCell("select-unselect-all").show(); } - if (this._layout.cell("not-found").isVisible()) { - this._layout.cell("list").show(); - this._layout.cell("not-found").hide(); + if (this._layout.getCell("not-found").isVisible()) { + this._layout.getCell("list").show(); + this._layout.getCell("not-found").hide(); } } }; @@ -18417,40 +20055,41 @@ var Combobox = /** @class */ (function (_super) { if (this.list.selection.getId() === best.id) { return; } - this.list.setFocusIndex(this.data.getIndex(best.id)); + this.list.setFocus(best.id); this.list.selection.add(best.id); this.paint(); }; Combobox.prototype._draw = function () { - var item = this.config.multiselection ? null : this.data.getItem(this.list.selection.getId()); + var _a = this.config, multiselection = _a.multiselection, labelPosition = _a.labelPosition, labelWidth = _a.labelWidth, hiddenLabel = _a.hiddenLabel, required = _a.required, disabled = _a.disabled, css = _a.css, label = _a.label, helpMessage = _a.helpMessage, readonly = _a.readonly, placeholder = _a.placeholder; + var item = multiselection ? null : this.data.getItem(this.list.selection.getId()); var showPlaceholder = !this.list.selection.getId() || this.list.selection.getId().length === 0; - var width = this.config.labelInline && this.config.labelWidth ? this.config.labelWidth : ""; - var required = this.config.required; + var width = labelPosition === "left" && labelWidth ? labelWidth : ""; return dom_1.el(".dhx_widget.dhx_combobox" + - (this.config.labelInline ? ".dhx_combobox--label-inline" : "") + - (this.config.hiddenLabel ? ".dhx_combobox--sr_only" : "") + - (this.config.required ? ".dhx_combobox--required" : "") + - (this.config.css ? "." + this.config.css : ""), { + (labelPosition === "left" ? ".dhx_combobox--label-inline" : "") + + (hiddenLabel ? ".dhx_combobox--sr_only" : "") + + (required ? ".dhx_combobox--required" : "") + + (disabled ? ".dhx_combobox--disabled" : "") + + (css ? "." + css : ""), { dhx_widget_id: this._uid, onkeydown: this._handlers.onkeydown, onkeyup: this._handlers.onkeyup }, [ - this.config.label ? dom_1.el("label.dhx_label.dhx_combobox__label", { + label ? dom_1.el("label.dhx_label.dhx_combobox__label", { style: { minWidth: width, maxWidth: width }, - class: this.config.help ? "dhx_label--with-help" : "", + class: helpMessage ? "dhx_label--with-help" : "", onclick: this._handlers.oninputclick - }, this.config.help ? [ - dom_1.el("span.dhx_label__holder", this.config.label), + }, helpMessage ? [ + dom_1.el("span.dhx_label__holder", label), dom_1.el("span.dhx_label-help.dxi.dxi-help-circle-outline", { tabindex: "0", role: "button", onclick: this._handlers.showHelper }), - ] : this.config.label) : null, + ] : label) : null, dom_1.el("div.dhx_combobox-input-box" + // (this.popup.isVisible() ? ".dhx_combobox-input-box" : "") + - (this.config.disabled ? ".dhx_combobox-input-box--disabled" : "") + - (this.config.readonly ? ".dhx_combobox-input-box--readonly" : "") + + (disabled ? ".dhx_combobox-input-box--disabled" : "") + + (readonly ? ".dhx_combobox-input-box--readonly" : "") + (this._state.currentState === types_1.ComboState.error ? ".dhx_combobox-input-box--state_error" : "") + (this._state.currentState === types_1.ComboState.success ? ".dhx_combobox-input-box--state_success" : ""), { _ref: "holder" @@ -18463,16 +20102,16 @@ var Combobox = /** @class */ (function (_super) { dom_1.el("div.dhx_combobox-input-list-wrapper", { onclick: this._handlers.oninputclick }, [ - dom_1.el("ul.dhx_combobox-input-list", this._drawSelectedItems().concat([ + dom_1.el("ul.dhx_combobox-input-list", __spreadArrays(this._drawSelectedItems(), [ dom_1.el("li.dhx_combobox-input-list__item.dhx_combobox-input-list__item--input", [ dom_1.el("input.dhx_combobox-input", { oninput: this._handlers.oninput, _ref: "input", _key: this._uid, type: "text", - placeHolder: showPlaceholder && this.config.placeholder ? this.config.placeholder : undefined, - value: this.config.readonly && item ? this._getItemText(item) : this._state.value, - readOnly: this.config.readonly || this.config.disabled, + placeHolder: showPlaceholder && placeholder ? placeholder : undefined, + value: readonly && item ? this._getItemText(item) : this._state.value, + readOnly: readonly || disabled, required: required }) ]) @@ -18486,11 +20125,11 @@ var Combobox = /** @class */ (function (_super) { if (!this.config.multiselection) { return []; } - if (this.config.showItemsCount) { + if (this.config.itemsCount) { var count = this.list.selection.getId().length; return count ? [ dom_1.el("li.dhx_combobox-input-list__item.dhx_combobox-tag", [ - dom_1.el("span.dhx_combobox-tag__value", itemsCountTemplate(count, this.config.showItemsCount)), + dom_1.el("span.dhx_combobox-tag__value", itemsCountTemplate(count, this.config.itemsCount)), dom_1.el("button.dhx_button.dhx_combobox-tag__action.dhx_combobox__action-clear-all", [ dom_1.el("span.dhx_button__icon.dxi.dxi-close-circle") ]) @@ -18528,6 +20167,30 @@ var Combobox = /** @class */ (function (_super) { } return item.value; }; + Combobox.prototype._updateSelectedItem = function (id) { + if (this.config.multiselection) { + var selected = this.data.getItem(id).$selected; + if (selected) { + if (this.config.selectAllButton && !this._state.unselectActive && this.data.getLength() === this.list.selection.getId().length) { + this._layout.getCell("select-unselect-all").attach(helper_1.unselectAllView); + this._state.unselectActive = true; + } + } + else { + if (this.config.selectAllButton && this._state.unselectActive) { + this._layout.getCell("select-unselect-all").attach(helper_1.selectAllView); + this._state.unselectActive = false; + } + } + if (!this._state.value.length) { + this._state.canDelete = true; + } + this.paint(); + return; + } + this._state.value = this._getItemText(this.data.getItem(id)) || ""; + this.paint(); + }; return Combobox; }(view_1.View)); exports.Combobox = Combobox; @@ -18542,7 +20205,7 @@ function itemsCountTemplate(count, templateFN) { /***/ }), -/* 157 */ +/* 162 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18553,11 +20216,13 @@ exports.KEY_CODES = { ENTER: 13, ESC: 27, DOWN_ARROW: 40, + LEFT_ARROW: 37, + RIGHT_ARROW: 39 }; /***/ }), -/* 158 */ +/* 163 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18616,14 +20281,14 @@ exports.KeyListener = KeyListener; /***/ }), -/* 159 */ +/* 164 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var en_1 = __webpack_require__(48); +var en_1 = __webpack_require__(50); function selectAllView() { return dom_1.el(".dhx_list-item.dhx_combobox-options__item.dhx_combobox-options__item--select-all.dhx_combobox__action-select-all", en_1.default.selectAll); } @@ -18641,7 +20306,7 @@ exports.emptyListView = emptyListView; /***/ }), -/* 160 */ +/* 165 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18650,12 +20315,12 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(161)); -__export(__webpack_require__(49)); +__export(__webpack_require__(166)); +__export(__webpack_require__(51)); /***/ }), -/* 161 */ +/* 166 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18688,14 +20353,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); var Keymanager_1 = __webpack_require__(13); -var ts_list_1 = __webpack_require__(36); +var ts_list_1 = __webpack_require__(38); var view_1 = __webpack_require__(4); var ts_data_1 = __webpack_require__(7); -var events_1 = __webpack_require__(2); -var html_1 = __webpack_require__(3); -var types_1 = __webpack_require__(21); -var types_2 = __webpack_require__(49); -var editors_1 = __webpack_require__(162); +var events_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); +var types_1 = __webpack_require__(22); +var types_2 = __webpack_require__(51); +var editors_1 = __webpack_require__(167); var DataView = /** @class */ (function (_super) { __extends(DataView, _super); function DataView(node, config) { @@ -18705,8 +20370,12 @@ var DataView = /** @class */ (function (_super) { itemsInRow: 1, multiselectionMode: config.multiselectionMode ? config.multiselectionMode : "click", gap: "0px", - editing: false + editable: false }, config)) || this; + if (_this.config.multiselectionMode === "ctrlClick") { + _this.config.multiselection = "ctrlClick"; // TODO: remove sute_7.0 + } + _this.config.editable = _this.config.editable || _this.config.editing; // TODO: remove sute_7.0 if (Array.isArray(_this.config.data)) { _this.events = new events_1.EventSystem(_this); _this.data = new ts_data_1.DataCollection({}, _this.events); @@ -18723,7 +20392,6 @@ var DataView = /** @class */ (function (_super) { } _this.selection = new ts_list_1.Selection({ multiselection: _this.config.multiselection, - multiselectionMode: _this.config.multiselectionMode, }, _this.data); _this._getHotkeys(); var updater = function (updateObj) { return function (id, ids) { @@ -18744,13 +20412,13 @@ var DataView = /** @class */ (function (_super) { _this.events.on(ts_data_1.DragEvents.dragEnd, updater({ $dragtarget: undefined })); _this.events.on(types_2.DataViewEvents.afterEditEnd, function (value, id) { var item = _this.data.getItem(id); - _this.data.update(id, __assign({}, item, { value: value })); + _this.data.update(id, __assign(__assign({}, item), { value: value })); _this._edited = null; _this._getHotkeys(); _this.paint(); }); _this.selection.events.on(types_1.SelectionEvents.afterSelect, function (id) { - _this.setFocusIndex(_this.data.getIndex(id)); + _this.setFocus(id); }); _this._handlers = { onmousedown: function (e) { @@ -18773,15 +20441,16 @@ var DataView = /** @class */ (function (_super) { if (!id) { return; } - _this.events.fire(types_2.DataViewEvents.contextmenu, [id, e]); + _this.events.fire(types_2.DataViewEvents.itemRightClick, [id, e]); + _this.events.fire(types_2.DataViewEvents.contextmenu, [id, e]); // TODO: remove sute_7.0 }, ondblclick: function (e) { var id = html_1.locate(e); if (!id) { return; } - if (_this.config.editing) { - _this.edit(id); + if (_this.config.editable) { + _this.editItem(id); } _this.events.fire(types_2.DataViewEvents.doubleClick, [id, e]); }, @@ -18790,10 +20459,27 @@ var DataView = /** @class */ (function (_super) { if (!id) { return; } - _this.setFocusIndex(_this.data.getIndex(id)); + _this.setFocus(id); _this.selection.add(id, e.ctrlKey || e.metaKey, e.shiftKey); _this.events.fire(types_2.DataViewEvents.click, [id, e]); }, + onmouseover: function (e) { + var id = html_1.locate(e); + var element = html_1.locateNode(e, "dhx_id", "relatedTarget"); + if (!element && id) { + _this.events.fire(types_2.DataViewEvents.itemMouseOver, [id, e]); + return; + } + else if (!element) { + return; + } + var attr = element.getAttribute("dhx_id") ? element.getAttribute("dhx_id") : null; + var prevId = attr ? attr : ""; + if (!id || id === prevId) { + return; + } + _this.events.fire(types_2.DataViewEvents.itemMouseOver, [id, e]); + } }; if (_this.config.dragMode) { ts_data_1.dragManager.setItem(_this._uid, _this); @@ -18813,7 +20499,7 @@ var DataView = /** @class */ (function (_super) { _this.mount(node, view); return _this; } - DataView.prototype.edit = function (id) { + DataView.prototype.editItem = function (id) { this._edited = id; if (!this.data.getItem(this._edited) || !this.events.fire(types_2.DataViewEvents.beforeEditStart, [id])) { this._edited = null; @@ -18823,16 +20509,50 @@ var DataView = /** @class */ (function (_super) { this.paint(); this.events.fire(types_2.DataViewEvents.afterEditStart, [id]); }; - DataView.prototype.setFocusIndex = function (index) { - if (index < 0) { - this._focusIndex = 0; + DataView.prototype.getFocusItem = function () { + return this.data.getItem(this.data.getId(this._focusIndex)); + }; + DataView.prototype.setItemInRow = function (amount) { + this.config.itemsInRow = amount; + this.paint(); + }; + DataView.prototype.setFocus = function (id) { + var index = this.data.getIndex(id); + this._setFocusIndex(index); + }; + DataView.prototype.getFocus = function () { + var item = this.data.getItem(this.data.getId(this._focusIndex)); + if (item) { + return item.id; + } + }; + DataView.prototype.destructor = function () { + this.events.clear(); + if (this._navigationDestructor) { + this._navigationDestructor(); } - else if (index > this.data.getLength() - 1) { - this._focusIndex = this.data.getLength() - 1; + if (this._documentClickDestuctor) { + this._documentClickDestuctor(); } - else { - this._focusIndex = index; + this.unmount(); + }; + // TODO: remove sute_7.0 + DataView.prototype.getFocusIndex = function () { + return this._focusIndex; + }; + // TODO: remove sute_7.0 + DataView.prototype.setFocusIndex = function (index) { + this._setFocusIndex(index); + }; + // TODO: remove sute_7.0 + DataView.prototype.edit = function (id) { + this.editItem(id); + }; + DataView.prototype._setFocusIndex = function (index) { + if (index < 0 || index > this.data.getLength() - 1) { + return; } + this._focusIndex = index; var node = this.getRootNode(); if (!node || !node.parentNode) { return; @@ -18852,28 +20572,8 @@ var DataView = /** @class */ (function (_super) { this.paint(); return; }; - DataView.prototype.getFocusIndex = function () { - return this._focusIndex; - }; - DataView.prototype.getFocusItem = function () { - return this.data.getItem(this.data.getId(this._focusIndex)); - }; - DataView.prototype.setItemInRow = function (amount) { - this.config.itemsInRow = amount; - this.paint(); - }; - DataView.prototype.destructor = function () { - this.events.clear(); - if (this._navigationDestructor) { - this._navigationDestructor(); - } - if (this._documentClickDestuctor) { - this._documentClickDestuctor(); - } - this.unmount(); - }; DataView.prototype._renderItem = function (item, focus, isLastItemInRow) { - var _a = this.config, itemsInRow = _a.itemsInRow, gap = _a.gap, template = _a.template; + var _a = this.config, itemsInRow = _a.itemsInRow, gap = _a.gap, template = _a.template, itemHeight = _a.itemHeight; var html = template ? template(item) : item.htmlContent; var gapWithPx = function (gapSize) { return parseFloat(gapSize); }; if (item.id === this._edited) { @@ -18894,6 +20594,7 @@ var DataView = /** @class */ (function (_super) { style: { "width": "calc(" + 100 / itemsInRow + "% - " + gapWithPx(gap) + " * " + (itemsInRow - 1) / itemsInRow + "px)", "margin-right": isLastItemInRow ? "" : gap, + "height": template ? null : itemHeight }, _key: item.id, dhx_id: item.id, @@ -18914,8 +20615,10 @@ var DataView = /** @class */ (function (_super) { currentCounter = (currentCounter + 1) % itemsInRow; return items; }, []); - return dom_1.el("", __assign({}, this._handlers, { dhx_widget_id: this._uid, class: (css ? css : "") + " dhx_widget dhx_dataview" + - (this.config.multiselection && this.selection.getItem() ? " dhx_no-select--pointer" : "") }), rows.map(function (row) { return dom_1.el(".dhx_dataview-row", { + return dom_1.el("", __assign(__assign({}, this._handlers), { dhx_widget_id: this._uid, class: (css ? css : "") + " dhx_widget dhx_dataview" + + (this.config.multiselection && this.selection.getItem() ? " dhx_no-select--pointer" : ""), style: { + height: this.config.height + } }), rows.map(function (row) { return dom_1.el(".dhx_dataview-row", { style: { margin: gap }, }, row); })); }; @@ -18938,11 +20641,11 @@ var DataView = /** @class */ (function (_super) { e.preventDefault(); fn(); }; }; - this._navigationDestructor = Keymanager_1.addHotkeys({ - "arrowdown": preventEvent(function () { return _this.setFocusIndex(_this._focusIndex + _this.config.itemsInRow); }), - "arrowup": preventEvent(function () { return _this.setFocusIndex(_this._focusIndex - _this.config.itemsInRow); }), - "arrowleft": preventEvent(function () { return _this.setFocusIndex(_this._focusIndex - 1); }), - "arrowright": preventEvent(function () { return _this.setFocusIndex(_this._focusIndex + 1); }), + var handlers = { + "arrowDown": preventEvent(function () { return _this.setFocusIndex(_this._focusIndex + _this.config.itemsInRow); }), + "arrowUp": preventEvent(function () { return _this.setFocusIndex(_this._focusIndex - _this.config.itemsInRow); }), + "arrowLeft": preventEvent(function () { return _this.setFocusIndex(_this._focusIndex - 1); }), + "arrowRight": preventEvent(function () { return _this.setFocusIndex(_this._focusIndex + 1); }), "enter": function (e) { var id = _this.data.getId(_this._focusIndex); _this.selection.add(id); @@ -18957,13 +20660,16 @@ var DataView = /** @class */ (function (_super) { var id = _this.data.getId(_this._focusIndex); _this.selection.add(id, true, false); _this.events.fire(types_2.DataViewEvents.click, [id, e]); - }, - "enter+meta": function (e) { - var id = _this.data.getId(_this._focusIndex); - _this.selection.add(id, true, false); - _this.events.fire(types_2.DataViewEvents.click, [id, e]); - }, - }, keyNavigation); + } + }; + if (html_1.isIE()) { + handlers = __assign({ up: handlers.arrowUp, down: handlers.arrowDown, right: handlers.arrowRight, left: handlers.arrowLeft }, handlers); + delete handlers.arrowUp; + delete handlers.arrowDown; + delete handlers.arrowRight; + delete handlers.arrowLeft; + } + this._navigationDestructor = Keymanager_1.addHotkeys(handlers, keyNavigation); } } }; @@ -18973,13 +20679,13 @@ exports.DataView = DataView; /***/ }), -/* 162 */ +/* 167 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var InputEditor_1 = __webpack_require__(163); +var InputEditor_1 = __webpack_require__(168); function getEditor(item, dataView) { return new InputEditor_1.InputEditor(item, dataView); } @@ -18987,14 +20693,14 @@ exports.getEditor = getEditor; /***/ }), -/* 163 */ +/* 168 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var types_1 = __webpack_require__(49); +var types_1 = __webpack_require__(51); var InputEditor = /** @class */ (function () { function InputEditor(item, dataView) { var _this = this; @@ -19027,14 +20733,14 @@ var InputEditor = /** @class */ (function () { this._mode = true; var _a = this._config, itemsInRow = _a.itemsInRow, gap = _a.gap; var gapWithPx = function (gapSize) { return parseFloat(gapSize); }; - return dom_1.el(".dhx_input-wrapper", { + return dom_1.el(".dhx_input__wrapper", { style: { width: "calc(" + 100 / itemsInRow + "% - " + gapWithPx(gap) + " * " + (itemsInRow - 1) / itemsInRow + "px)", maxWidth: "calc(" + 100 / itemsInRow + "% - " + gapWithPx(gap) + " * " + (itemsInRow - 1) / itemsInRow + "px)", marginRight: isLastItemInRow ? "" : gap, } }, [ - dom_1.el("div.dhx_input-container", { + dom_1.el("div.dhx_input__container", { style: { height: "100%", } @@ -19082,7 +20788,7 @@ exports.InputEditor = InputEditor; /***/ }), -/* 164 */ +/* 169 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19091,14 +20797,14 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(165)); +__export(__webpack_require__(170)); __export(__webpack_require__(8)); var types_1 = __webpack_require__(8); exports.FormEvents = types_1.FormEvents; /***/ }), -/* 165 */ +/* 170 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19121,47 +20827,50 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); -var ts_combobox_1 = __webpack_require__(47); -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); var view_1 = __webpack_require__(4); -var ts_slider_1 = __webpack_require__(30); -var ts_layout_1 = __webpack_require__(12); -var ts_calendar_1 = __webpack_require__(28); +var ts_layout_1 = __webpack_require__(14); +var ts_calendar_1 = __webpack_require__(25); var core_1 = __webpack_require__(1); -var ts_data_1 = __webpack_require__(7); -var ts_timepicker_1 = __webpack_require__(29); +var ts_timepicker_1 = __webpack_require__(30); var ts_colorpicker_1 = __webpack_require__(31); -var dateInput_1 = __webpack_require__(166); -var button_1 = __webpack_require__(167); -var checkbox_1 = __webpack_require__(168); -var input_1 = __webpack_require__(50); -var radioGroup_1 = __webpack_require__(169); -var select_1 = __webpack_require__(171); -var textarea_1 = __webpack_require__(172); -var textinput_1 = __webpack_require__(173); -var combo_1 = __webpack_require__(174); -var sliderform_1 = __webpack_require__(175); +var dateInput_1 = __webpack_require__(171); +var button_1 = __webpack_require__(172); +var checkbox_1 = __webpack_require__(173); +var input_1 = __webpack_require__(52); +var radioGroup_1 = __webpack_require__(174); +var select_1 = __webpack_require__(176); +var textarea_1 = __webpack_require__(177); +var textinput_1 = __webpack_require__(178); +var combo_1 = __webpack_require__(179); +var sliderform_1 = __webpack_require__(180); var helper_1 = __webpack_require__(9); -var simplevault_1 = __webpack_require__(176); +var simplevault_1 = __webpack_require__(181); +var timeInput_1 = __webpack_require__(182); +var colorpicker_1 = __webpack_require__(183); var types_1 = __webpack_require__(8); -var timeInput_1 = __webpack_require__(177); -var colorpicker_1 = __webpack_require__(178); var Form = /** @class */ (function (_super) { __extends(Form, _super); function Form(container, config) { var _this = _super.call(this, null, core_1.extend({ labelWidth: "auto", - inputType: "text" + inputType: "text", + disabled: false }, config)) || this; - _this.events = new events_1.EventSystem(_this); _this._state = {}; + _this.events = new events_1.EventSystem(_this); _this.container = container; _this._initUI(container); + if (_this.config.disabled) { + _this.disable(); + } return _this; } Form.prototype.send = function (url, method, asFormData) { @@ -19214,12 +20923,6 @@ var Form = /** @class */ (function (_super) { }); } }; - Form.prototype.setConfig = function (config) { - this.unmount(); - this.config = config; - this._initUI(this.container); - this.paint(); - }; Form.prototype.clear = function (method) { switch (method) { case types_1.ClearMethod.value: @@ -19239,8 +20942,8 @@ var Form = /** @class */ (function (_super) { for (var item in obj) { for (var key in this._attachments) { if (typeof this._attachments[key].setValue === "function") { - if (this._attachments[key].config.id === item) { - this._attachments[key].setValue(obj[key]); + if (this._attachments[key].config.name === item || this._attachments[key].config.id === item && !this._attachments[key].config.name) { + this._attachments[key].setValue(obj[item]); } } } @@ -19260,40 +20963,89 @@ var Form = /** @class */ (function (_super) { formData.append(key, this._state[key]); } } - return formData; + return formData; + } + return this._state; + }; + Form.prototype.getItem = function (id) { + for (var item in this._attachments) { + if (item === id) { + return this._attachments[item]; + } + } + }; + Form.prototype.validate = function () { + var attachments = this._attachments; + var isValid = true; + for (var id in attachments) { + var component = attachments[id]; + if (component.validate && !component.validate()) { + isValid = false; + this.events.fire(types_1.FormEvents.validationFail, [id, component]); + } + } + return isValid; + }; + Form.prototype.getRootView = function () { + return this.layout.getRootView(); + }; + Form.prototype.disable = function () { + this.config.disabled = true; + for (var key in this._attachments) { + if (typeof this._attachments[key].disable === "function") { + this._attachments[key].disable(); + } + } + }; + Form.prototype.enable = function () { + this.config.disabled = false; + for (var key in this._attachments) { + if (typeof this._attachments[key].enable === "function") { + this._attachments[key].enable(); + } } - return this._state; }; - Form.prototype.validate = function () { - var attachments = this._attachments; - var isValid = true; - for (var id in attachments) { - var component = attachments[id]; - if (component.validate && !component.validate()) { - isValid = false; - this.events.fire(types_1.FormEvents.validationFail, [id, component]); + Form.prototype.isDisabled = function (id) { + if (!id) { + return this.config.disabled; + } + for (var key in this._attachments) { + if (key === id) { + return this._attachments[key].config.disabled; } } - return isValid; }; - Form.prototype.getRootView = function () { - return this.layout.getRootView(); + Form.prototype.forEach = function (callback) { + var items = Object.values(this._attachments); + for (var index = 0; index < items.length; index++) { + callback.call(this, items[index], index, items); + } }; Form.prototype.destructor = function () { this.events.clear(); this.unmount(); }; + // TODO: remove sute_7.0 + Form.prototype.setConfig = function (config) { + this._setConfig(config); + }; + Form.prototype._setConfig = function (config) { + this.unmount(); + this.config = config; + this._initUI(this.container); + this.paint(); + }; Form.prototype._addLayoutItem = function (item) { var _this = this; item.id = item.id || core_1.uid(); var id = item.id; var name = item.name || item.id; - var width = item.width, height = item.height, cellCss = item.cellCss, gravity = item.gravity, config = __rest(item, ["width", "height", "cellCss", "gravity"]); + var width = item.width, height = item.height, css = item.css, gravity = item.gravity, config = __rest(item, ["width", "height", "css", "gravity"]); var cell = { id: id, width: width, height: height, - css: cellCss, + css: css }; if ("gravity" in item) { cell.gravity = item.gravity; @@ -19302,7 +21054,16 @@ var Form = /** @class */ (function (_super) { case types_1.FormItemType.button: var button = this._attachments[id] = new button_1.Button(null, config); button.events.on(button_1.ButtonEvents.click, function (e) { - !_this.validate() ? e.preventDefault() : _this.events.fire(types_1.FormEvents.buttonClick, [id, e]); + e.preventDefault(); + if (config.submit) { + if (_this.validate()) { + _this.send(config.url); + _this.events.fire(types_1.FormEvents.buttonClick, [id, e]); + } + } + else { + _this.events.fire(types_1.FormEvents.buttonClick, [id, e]); + } }); break; case types_1.FormItemType.datepicker: @@ -19310,117 +21071,193 @@ var Form = /** @class */ (function (_super) { this._state[name] = dateInput_2.getValue(); dateInput_2.calendar.events.on(ts_calendar_1.CalendarEvents.change, function () { var value = dateInput_2.getValue(); - _this.events.fire(types_1.FormEvents.change, [name, value]); _this._state[name] = value; + _this.events.fire(types_1.FormEvents.change, [name, value]); }); - dateInput_2.events.on(dateInput_1.DateInputEvents.change, function () { + dateInput_2.events.on(types_1.BaseElementEvent.configUpdate, function (newConfig) { var value = dateInput_2.getValue(); - _this.events.fire(types_1.FormEvents.change, [name, value]); _this._state[name] = value; + _this.layout.getCell(dateInput_2.config.id).config = _this._checkLayoutConfig(newConfig, {}); + dateInput_2.calendar.events.on(ts_calendar_1.CalendarEvents.change, function () { + value = dateInput_2.getValue(); + _this._state[name] = value; + _this.events.fire(types_1.FormEvents.change, [name, value]); + }); }); break; case types_1.FormItemType.checkbox: var checkbox_2 = this._attachments[id] = new checkbox_1.Checkbox(null, config); this._state[name] = checkbox_2.getValue(); - checkbox_2.events.on(checkbox_1.CheckboxEvents.change, function () { + checkbox_2.events.on(types_1.BaseElementEvent.change, function () { var value = checkbox_2.getValue(); + _this._state[name] = value; _this.events.fire(types_1.FormEvents.change, [name, value]); + }); + checkbox_2.events.on(types_1.BaseElementEvent.configUpdate, function (newConfig) { + var value = checkbox_2.getValue(); _this._state[name] = value; + _this.layout.getCell(checkbox_2.config.id).config = _this._checkLayoutConfig(newConfig, {}); }); break; case types_1.FormItemType.combo: - var combo_2 = this._attachments[id] = new combo_1.Combo(config); + var combo_2 = this._attachments[id] = new combo_1.Combo(null, config); this._state[name] = combo_2.getValue(); - combo_2.events.on(ts_combobox_1.ComboboxEvents.change, function (selected) { + combo_2.events.on(types_1.BaseElementEvent.change, function (selected) { var value = combo_2.getValue(); + _this._state[name] = value; _this.events.fire(types_1.FormEvents.change, [name, selected]); + }); + combo_2.events.on(types_1.BaseElementEvent.configUpdate, function (newConfig) { + var value = combo_2.getValue(); _this._state[name] = value; + _this.layout.getCell(combo_2.config.id).config = _this._checkLayoutConfig(newConfig, {}); }); - if (config.data) { - combo_2.data.parse(config.data); - } break; case types_1.FormItemType.input: var input_2 = this._attachments[id] = new input_1.Input(null, config); this._state[name] = input_2.getValue(); - input_2.events.on(input_1.InputEvents.change, function () { + input_2.events.on(types_1.BaseElementEvent.change, function () { var value = input_2.getValue(); + _this._state[name] = value; _this.events.fire(types_1.FormEvents.change, [name, value]); + }); + input_2.events.on(types_1.BaseElementEvent.configUpdate, function (newConfig) { + var value = input_2.getValue(); _this._state[name] = value; + _this.layout.getCell(input_2.config.id).config = _this._checkLayoutConfig(newConfig, {}); }); break; case types_1.FormItemType.radioGroup: var radioGroup_2 = this._attachments[id] = new radioGroup_1.RadioGroup(null, config); this._state[name] = radioGroup_2.getValue(); - radioGroup_2.events.on(radioGroup_1.RadioGroupEvents.change, function () { + radioGroup_2.events.on(types_1.BaseElementEvent.change, function () { var value = radioGroup_2.getValue(); + _this._state[name] = value; _this.events.fire(types_1.FormEvents.change, [name, value]); + }); + radioGroup_2.events.on(types_1.BaseElementEvent.configUpdate, function (newConfig) { + var value = radioGroup_2.getValue(); _this._state[name] = value; + _this.layout.getCell(radioGroup_2.config.id).config = _this._checkLayoutConfig(newConfig, {}); }); break; case types_1.FormItemType.select: - var select_2 = this._attachments[id] = new select_1.Select(config); + var select_2 = this._attachments[id] = new select_1.Select(null, config); this._state[name] = select_2.getValue(); - select_2.events.on(select_1.SelectEvents.change, function () { + select_2.events.on(types_1.BaseElementEvent.change, function () { var value = select_2.getValue(); + _this._state[name] = value; _this.events.fire(types_1.FormEvents.change, [name, value]); + }); + select_2.events.on(types_1.BaseElementEvent.configUpdate, function (newConfig) { + var value = select_2.getValue(); _this._state[name] = value; + _this.layout.getCell(select_2.config.id).config = _this._checkLayoutConfig(newConfig, {}); }); break; case types_1.FormItemType.simpleVault: + config.$vaultHeight = height; var simpleVault_1 = this._attachments[id] = new simplevault_1.SimpleVault(null, config); this._state[name] = simpleVault_1.getValue(); - simpleVault_1.data.events.on(ts_data_1.DataEvents.change, function () { + simpleVault_1.events.on(types_1.BaseElementEvent.change, function () { var value = simpleVault_1.getValue(); + _this._state[name] = value; _this.events.fire(types_1.FormEvents.change, [name, value]); + }); + simpleVault_1.events.on(types_1.BaseElementEvent.configUpdate, function (newConfig) { + var value = simpleVault_1.getValue(); _this._state[name] = value; + _this.layout.getCell(simpleVault_1.config.id).config = _this._checkLayoutConfig(newConfig, {}); }); break; case types_1.FormItemType.slider: - var slider_1 = this._attachments[id] = new sliderform_1.SliderForm(config); + var slider_1 = this._attachments[id] = new sliderform_1.SliderForm(null, config); this._state[name] = slider_1.getValue(); - slider_1.events.on(ts_slider_1.SliderEvents.change, function () { + slider_1.events.on(types_1.BaseElementEvent.change, function () { var value = slider_1.getValue(); + _this._state[name] = value; _this.events.fire(types_1.FormEvents.change, [name, value]); + }); + slider_1.events.on(types_1.BaseElementEvent.configUpdate, function (newConfig) { + var value = slider_1.getValue(); _this._state[name] = value; + _this.layout.getCell(slider_1.config.id).config = _this._checkLayoutConfig(newConfig, {}); }); break; case types_1.FormItemType.textarea: var textarea_2 = this._attachments[id] = new textarea_1.Textarea(null, config); this._state[name] = textarea_2.getValue(); - textarea_2.events.on(input_1.InputEvents.change, function () { - _this._state[name] = textarea_2.getValue(); + textarea_2.events.on(types_1.BaseElementEvent.change, function () { + var value = textarea_2.getValue(); + _this._state[name] = value; + _this.events.fire(types_1.FormEvents.change, [name, value]); + }); + textarea_2.events.on(types_1.BaseElementEvent.configUpdate, function (newConfig) { + var value = textarea_2.getValue(); + _this._state[name] = value; + _this.layout.getCell(textarea_2.config.id).config = _this._checkLayoutConfig(newConfig, {}); }); break; case types_1.FormItemType.text: - this._attachments[id] = new textinput_1.Text(null, config); + var text_1 = this._attachments[id] = new textinput_1.Text(null, config); + text_1.events.on(types_1.BaseElementEvent.configUpdate, function (newConfig) { + _this.layout.getCell(text_1.config.id).config = _this._checkLayoutConfig(newConfig, {}); + }); break; case types_1.FormItemType.timepicker: var timeInput_2 = this._attachments[id] = new timeInput_1.TimeInput(null, config); this._state[name] = timeInput_2.getValue(); - timeInput_2.timepicker.events.on(ts_timepicker_1.TimepickerEvents.change, function () { - var value = timeInput_2.getValue(); - _this.events.fire(types_1.FormEvents.change, [name, value]); - _this._state[name] = value; - }); - timeInput_2.events.on(timeInput_1.TimeInputEvents.change, function () { + if (timeInput_2.config.controls) { + timeInput_2.timepicker.events.on(ts_timepicker_1.TimepickerEvents.apply, function () { + var value = timeInput_2.getValue(); + _this._state[name] = value; + _this.events.fire(types_1.FormEvents.change, [name, value]); + }); + } + else { + timeInput_2.timepicker.events.on(ts_timepicker_1.TimepickerEvents.change, function () { + var value = timeInput_2.getValue(); + _this._state[name] = value; + _this.events.fire(types_1.FormEvents.change, [name, value]); + }); + } + timeInput_2.events.on(types_1.BaseElementEvent.configUpdate, function (newConfig) { var value = timeInput_2.getValue(); - _this.events.fire(types_1.FormEvents.change, [name, value]); _this._state[name] = value; + _this.layout.getCell(timeInput_2.config.id).config = _this._checkLayoutConfig(newConfig, {}); + if (timeInput_2.config.controls) { + timeInput_2.timepicker.events.on(ts_timepicker_1.TimepickerEvents.apply, function () { + value = timeInput_2.getValue(); + _this._state[name] = value; + _this.events.fire(types_1.FormEvents.change, [name, value]); + }); + } + else { + timeInput_2.timepicker.events.on(ts_timepicker_1.TimepickerEvents.change, function () { + value = timeInput_2.getValue(); + _this._state[name] = value; + _this.events.fire(types_1.FormEvents.change, [name, value]); + }); + } }); break; case types_1.FormItemType.colorpicker: var colorpickerInput_1 = this._attachments[id] = new colorpicker_1.ColorpickerInput(null, config); this._state[name] = colorpickerInput_1.getValue(); - colorpickerInput_1.events.on(colorpicker_1.ColorpickerInputEvents.change, function () { + colorpickerInput_1.colorpicker.events.on(ts_colorpicker_1.ColorpickerEvents.change, function () { var value = colorpickerInput_1.getValue(); - _this.events.fire(types_1.FormEvents.change, [name, value]); _this._state[name] = value; + _this.events.fire(types_1.FormEvents.change, [name, value]); }); - colorpickerInput_1.colorpicker.events.on(ts_colorpicker_1.ColorpickerEvents.colorChange, function () { + colorpickerInput_1.events.on(types_1.BaseElementEvent.configUpdate, function (newConfig) { var value = colorpickerInput_1.getValue(); - _this.events.fire(types_1.FormEvents.change, [name, value]); _this._state[name] = value; + _this.layout.getCell(colorpickerInput_1.config.id).config = _this._checkLayoutConfig(newConfig, {}); + colorpickerInput_1.colorpicker.events.on(ts_colorpicker_1.ColorpickerEvents.change, function () { + value = colorpickerInput_1.getValue(); + _this._state[name] = value; + _this.events.fire(types_1.FormEvents.change, [name, value]); + }); }); break; } @@ -19441,9 +21278,9 @@ var Form = /** @class */ (function (_super) { return _this._addLayoutItem(item); }); }; - Form.prototype._createLayoutConfig = function (config, layoutConfig) { - if (core_1.isDefined(config.cellCss)) { - layoutConfig.css = config.cellCss; + Form.prototype._checkLayoutConfig = function (config, layoutConfig) { + if (core_1.isDefined(config.css)) { + layoutConfig.css = config.css; } if (core_1.isDefined(config.title)) { layoutConfig.header = config.title; @@ -19463,6 +21300,10 @@ var Form = /** @class */ (function (_super) { if (core_1.isDefined(config.align)) { layoutConfig.align = config.align; } + return layoutConfig; + }; + Form.prototype._createLayoutConfig = function (config, layoutConfig) { + layoutConfig = this._checkLayoutConfig(config, layoutConfig); if (core_1.isDefined(config.rows)) { layoutConfig.rows = this._addLayoutItems(config.rows, config.group, config.groupName); } @@ -19473,10 +21314,11 @@ var Form = /** @class */ (function (_super) { Form.prototype._initUI = function (container) { var attachments = this._attachments = {}; var layoutConfig = { padding: "8px" }; + this.config.css = this.config.css || this.config.cellCss; // TODO: remove sute_7.0 this._createLayoutConfig(this.config, layoutConfig); var layout = this.layout = new ts_layout_1.Layout(container, layoutConfig); for (var id in attachments) { - layout.cell(id).attach(attachments[id]); + layout.getCell(id).attach(attachments[id]); } }; Form.prototype._clear = function () { @@ -19500,10 +21342,10 @@ var Form = /** @class */ (function (_super) { }(view_1.View)); exports.Form = Form; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(14))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12))) /***/ }), -/* 166 */ +/* 171 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19522,43 +21364,40 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var ts_calendar_1 = __webpack_require__(28); -var events_1 = __webpack_require__(2); +var ts_calendar_1 = __webpack_require__(25); +var events_1 = __webpack_require__(3); var dom_1 = __webpack_require__(0); -var label_1 = __webpack_require__(16); -var ts_popup_1 = __webpack_require__(10); +var label_1 = __webpack_require__(18); +var ts_popup_1 = __webpack_require__(11); var types_1 = __webpack_require__(8); var helper_1 = __webpack_require__(9); -var DateInputEvents; -(function (DateInputEvents) { - DateInputEvents["change"] = "change"; -})(DateInputEvents = exports.DateInputEvents || (exports.DateInputEvents = {})); var DateInput = /** @class */ (function (_super) { __extends(DateInput, _super); function DateInput(container, config) { var _this = _super.call(this, null, config) || this; _this.events = new events_1.EventSystem(); - _this._popup = new ts_popup_1.Popup({ css: "dhx_widget--border-shadow" }); - _this.calendar = new ts_calendar_1.Calendar(null, config); - _this._popup.attach(_this.calendar); + _this._initView(config); var render = function () { return _this._draw(); }; _this.mount(container, dom_1.create({ render: render })); - _this.calendar.events.on(ts_calendar_1.CalendarEvents.change, function () { - _this.config.value = _this.calendar.getValue(); - _this._popup.hide(); - _this.validate(); - }); - _this.events.on(DateInputEvents.change, function (value) { - _this.config.value = _this._inputValidate(value); - if (_this._inputValidate(value)) { - _this.calendar.setValue(value); - } - _this.validate(); - }); return _this; } + DateInput.prototype.disable = function () { + this.config.disabled = true; + this.paint(); + }; + DateInput.prototype.enable = function () { + this.config.disabled = false; + this.paint(); + }; + DateInput.prototype.isDisabled = function () { + return this.config.disabled; + }; DateInput.prototype.validate = function () { - var isValid = !this.config.required || Boolean(this.config.value); + var _a = this.config, required = _a.required, value = _a.value, validation = _a.validation; + var isValid = true; + isValid = validation + ? this.config.validation(value) + : !required || Boolean(value); this.config.$validationStatus = isValid ? types_1.ValidationStatus.success : types_1.ValidationStatus.error; @@ -19573,13 +21412,74 @@ var DateInput = /** @class */ (function (_super) { this.calendar.setValue(value); this.paint(); }; - DateInput.prototype.getValue = function () { - return this.config.value || ""; + DateInput.prototype.getValue = function (asDateObject) { + var value = this.config.value; + if (asDateObject && value !== "" || this.config.valueFormat === "Date" && value !== "") { + return ts_calendar_1.stringToDate(value, this.calendar.config.dateFormat) || ""; + } + return value || ""; }; DateInput.prototype.clear = function () { this.config.value = ""; this.paint(); }; + DateInput.prototype.getWidget = function () { + return this.calendar; + }; + // TODO: remove sute_7.0 + DateInput.prototype.setConfig = function (config) { + this._initView(config); + }; + DateInput.prototype._initView = function (config) { + var _this = this; + if (helper_1.isEmptyObj(config)) { + return; + } + if (this.calendar) { + this.calendar.destructor(); + } + if (this._popup) { + this._popup.destructor(); + } + this.config = { + type: this.config.type, + id: this.config.id, + name: this.config.name, + disabled: false, + editable: false, + value: "", + valueFormat: "string" + }; + for (var key in config) { + if (key !== "id" && key !== "type" && key !== "name") { + this.config[key] = config[key]; + } + } + this.config.editable = this.config.editable || this.config.editing; // TODO: remove sute_7.0 + this._popup = new ts_popup_1.Popup({ css: "dhx_widget--border-shadow" }); + this.calendar = new ts_calendar_1.Calendar(null, config); + this._popup.attach(this.calendar); + if (this.config.value) { + this.calendar.setValue(this.config.value); + this.config.value = this.calendar.getValue(); + } + this.calendar.events.on(ts_calendar_1.CalendarEvents.change, function () { + _this.config.value = _this.calendar.getValue(); + _this._popup.hide(); + _this.validate(); + }); + this.events.on(types_1.BaseElementEvent.change, function (value) { + _this.config.value = _this._inputValidate(value); + if (_this._inputValidate(value)) { + _this.calendar.setValue(value); + } + else { + _this.validate(); + } + }); + this.events.fire(types_1.BaseElementEvent.configUpdate, [this.config]); + this.clearValidate(); + }; DateInput.prototype._getHandlers = function () { var _this = this; return { @@ -19592,7 +21492,7 @@ var DateInput = /** @class */ (function (_super) { }, onchange: function (e) { var value = e.target.value; - _this.events.fire(DateInputEvents.change, [value]); + _this.events.fire(types_1.BaseElementEvent.change, [value]); }, onkeyup: function (e) { if (e.keyCode === 13) { @@ -19610,13 +21510,13 @@ var DateInput = /** @class */ (function (_super) { return ts_calendar_1.stringToDate(value, dateFormat, true) ? value : ""; }; DateInput.prototype._draw = function () { - var _a = this.config, value = _a.value, icon = _a.icon, required = _a.required, disabled = _a.disabled, placeholder = _a.placeholder, name = _a.name, id = _a.id, validation = _a.validation, _b = _a.editing, editing = _b === void 0 ? false : _b; + var _a = this.config, value = _a.value, icon = _a.icon, required = _a.required, disabled = _a.disabled, placeholder = _a.placeholder, name = _a.name, id = _a.id, validation = _a.validation, editable = _a.editable; return dom_1.el("div.dhx_form-group", { class: helper_1.getFormItemCss(this.config, Boolean(required) || Boolean(validation)), }, [ this._drawLabel(), - dom_1.el(".dhx_input-wrapper", [ - dom_1.el("div.dhx_input-container", {}, [ + dom_1.el(".dhx_input__wrapper", [ + dom_1.el("div.dhx_input__container", {}, [ dom_1.el(".dhx_input__icon", { class: icon || "dxi dxi-calendar-today" }), @@ -19634,10 +21534,10 @@ var DateInput = /** @class */ (function (_super) { onchange: this._handlers.onchange, onkeyup: this._handlers.onkeyup, autocomplete: "off", - readOnly: !editing + readOnly: !editable }), ]), - helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input-caption", {}, helper_1.getValidationMessage(this.config)) + helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input__caption", {}, helper_1.getValidationMessage(this.config)) ]), ]); }; @@ -19647,7 +21547,7 @@ exports.DateInput = DateInput; /***/ }), -/* 167 */ +/* 172 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19665,10 +21565,21 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); var view_1 = __webpack_require__(4); -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); var ButtonEvents; (function (ButtonEvents) { ButtonEvents["click"] = "click"; @@ -19676,8 +21587,7 @@ var ButtonEvents; var Button = /** @class */ (function (_super) { __extends(Button, _super); function Button(container, config) { - if (config === void 0) { config = {}; } - var _this = _super.call(this, container, config) || this; + var _this = _super.call(this, container, __assign({ disabled: false }, config)) || this; _this.events = new events_1.EventSystem(); _this._handlers = { onclick: function (e) { return _this.events.fire(ButtonEvents.click, [e]); } @@ -19686,12 +21596,23 @@ var Button = /** @class */ (function (_super) { _this.mount(container, dom_1.create({ render: render })); return _this; } + Button.prototype.disable = function () { + this.config.disabled = true; + this.paint(); + }; + Button.prototype.enable = function () { + this.config.disabled = false; + this.paint(); + }; + Button.prototype.isDisabled = function () { + return this.config.disabled; + }; Button.prototype.setValue = function (value) { this.config.value = value; this.paint(); }; Button.prototype._draw = function () { - var _a = this.config, color = _a.color, size = _a.size, view = _a.view, full = _a.full, loading = _a.loading, circle = _a.circle, icon = _a.icon, value = _a.value, disabled = _a.disabled, submit = _a.submit; + var _a = this.config, color = _a.color, size = _a.size, view = _a.view, full = _a.full, loading = _a.loading, circle = _a.circle, icon = _a.icon, value = _a.value, disabled = _a.disabled, submit = _a.submit, id = _a.id; var colorsCss = { danger: " dhx_button--color_danger", secondary: " dhx_button--color_secondary", @@ -19712,6 +21633,7 @@ var Button = /** @class */ (function (_super) { var iconViewCss = icon && !value ? " dhx_button--icon" : ""; return dom_1.el("button", { disabled: disabled, + id: id, onclick: this._handlers.onclick, type: submit ? "submit" : "button", class: "dhx_button" + @@ -19738,7 +21660,7 @@ exports.Button = Button; /***/ }), -/* 168 */ +/* 173 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19758,47 +21680,32 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); var view_1 = __webpack_require__(4); var helper_1 = __webpack_require__(9); -var ts_popup_1 = __webpack_require__(10); +var ts_popup_1 = __webpack_require__(11); var types_1 = __webpack_require__(8); -var CheckboxEvents; -(function (CheckboxEvents) { - CheckboxEvents["change"] = "change"; -})(CheckboxEvents = exports.CheckboxEvents || (exports.CheckboxEvents = {})); var Checkbox = /** @class */ (function (_super) { __extends(Checkbox, _super); function Checkbox(container, config) { if (config === void 0) { config = {}; } var _this = _super.call(this, container, config) || this; - if (_this.config.help) { - _this._helper = new ts_popup_1.Popup({ css: "dhx_tooltip dhx_tooltip--forced dhx_tooltip--light" }); - _this._helper.attachHTML(_this.config.help); - } - _this._handlers = { - showHelper: function (e) { - e.preventDefault(); - e.stopPropagation(); - _this._helper.show(e.target); - }, - cancelUnusefulClick: function (e) { - e.preventDefault(); - }, - onchange: function (e) { - _this.config.checked = e.target.checked; - _this.events.fire(CheckboxEvents.change, [e.target.checked]); - _this.validate(); - } - }; - _this.events = new events_1.EventSystem(); - _this.events.on(CheckboxEvents.change, function (value) { - _this.config.checked = value; - }); + _this._initView(config); var render = function () { return _this._draw(); }; _this.mount(container, dom_1.create({ render: render })); return _this; } + Checkbox.prototype.disable = function () { + this.config.disabled = true; + this.paint(); + }; + Checkbox.prototype.enable = function () { + this.config.disabled = false; + this.paint(); + }; + Checkbox.prototype.isDisabled = function () { + return this.config.disabled; + }; Checkbox.prototype.clear = function () { this.config.checked = false; this.paint(); @@ -19808,13 +21715,17 @@ var Checkbox = /** @class */ (function (_super) { this.paint(); }; Checkbox.prototype.setValue = function (value) { - this.events.fire(CheckboxEvents.change, [value]); + this.events.fire(types_1.BaseElementEvent.change, [value]); this.config.checked = value; this.paint(); }; Checkbox.prototype.getValue = function () { return this.config.checked || false; }; + // TODO: remove sute_7.0 + Checkbox.prototype.setConfig = function (config) { + this._initView(config); + }; Checkbox.prototype.validate = function () { var isValid = !this.config.required || this.config.checked; this.config.$validationStatus = isValid @@ -19823,41 +21734,88 @@ var Checkbox = /** @class */ (function (_super) { this.paint(); return isValid; }; + Checkbox.prototype._initView = function (config) { + var _this = this; + if (helper_1.isEmptyObj(config)) { + return; + } + this.config = { + type: this.config.type, + id: this.config.id, + name: this.config.name, + disabled: false + }; + for (var key in config) { + if (key !== "id" && key !== "type" && key !== "name") { + this.config[key] = config[key]; + } + } + this.config.helpMessage = this.config.helpMessage || this.config.help; // TODO: remove sute_7.0 + if (this.config.labelInline) { + this.config.labelPosition = "right"; // TODO: remove sute_7.0 + } + this.events = new events_1.EventSystem(); + this._handlers = { + showHelper: function (e) { + e.preventDefault(); + e.stopPropagation(); + _this._helper.show(e.target); + }, + cancelUnusefulClick: function (e) { + e.preventDefault(); + }, + onchange: function (e) { + _this.config.checked = e.target.checked; + _this.events.fire(types_1.BaseElementEvent.change, [e.target.checked]); + _this.validate(); + } + }; + this.events.on(types_1.BaseElementEvent.change, function (value) { + _this.config.checked = value; + }); + this.events.fire(types_1.BaseElementEvent.configUpdate, [this.config]); + this.clearValidate(); + }; Checkbox.prototype._draw = function () { - var _a = this.config, id = _a.id, value = _a.value, label = _a.label, checked = _a.checked, disabled = _a.disabled, name = _a.name, help = _a.help, labelWidth = _a.labelWidth, labelInline = _a.labelInline, required = _a.required, hidden = _a.hidden; + if (this.config.helpMessage) { + if (this._helper) { + this._helper.attachHTML(this.config.helpMessage); + } + else { + this._helper = new ts_popup_1.Popup({ css: "dhx_tooltip dhx_tooltip--forced dhx_tooltip--light" }); + this._helper.attachHTML(this.config.helpMessage); + } + } + var _a = this.config, id = _a.id, value = _a.value, label = _a.label, checked = _a.checked, disabled = _a.disabled, name = _a.name, helpMessage = _a.helpMessage, labelWidth = _a.labelWidth, labelPosition = _a.labelPosition, required = _a.required, hidden = _a.hidden; var visibility = hidden ? " dhx_form-group--hidden" : ""; - return dom_1.el("label.dhx_form-group", { - class: visibility, - style: { "margin-left": "" + (labelWidth && labelInline ? "calc(" + labelWidth + " + 16px)" : "") } + return dom_1.el("label.dhx_checkbox.dhx_form-group", { + class: helper_1.getFormItemCss(this.config, Boolean(required)) + visibility, + style: { "margin-left": "" + (labelWidth && labelPosition === "right" ? "calc(" + labelWidth + " + 16px)" : "") } }, [ - dom_1.el("div.dhx_checkbox", { - class: helper_1.getFormItemCss(this.config, Boolean(required)) + (help ? " dhx_label--with-help" : "") - }, [ - dom_1.el("input.dhx_checkbox__input", { - type: "checkbox", - id: id, - value: value || "", - name: name || "", - disabled: disabled, - checked: checked, - onchange: this._handlers.onchange, - required: required + dom_1.el("input.dhx_checkbox__input", { + type: "checkbox", + id: id, + value: value || "", + name: name || "", + disabled: disabled, + checked: checked, + onchange: this._handlers.onchange, + required: required + }), + dom_1.el("span.dhx_checkbox__visual-input"), + dom_1.el("span.dhx_label", { + class: helpMessage ? "dhx_label--with-help" : "" + }, helpMessage ? [ + dom_1.el("span.dhx_label__holder", label), + dom_1.el("span.dhx_label-help.dxi.dxi-help-circle-outline", { + tabindex: "0", + role: "button", + onclick: this._handlers.showHelper }), - dom_1.el("span.dhx_checkbox__visual-input"), - dom_1.el("span.dhx_label", { - class: help ? "dhx_label--with-help" : "" - }, help ? [ - dom_1.el("span.dhx_label__holder", label), - dom_1.el("span.dhx_label-help.dxi.dxi-help-circle-outline", { - tabindex: "0", - role: "button", - onclick: this._handlers.showHelper - }), - ] : label), - helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input-caption", { - onclick: this._handlers.cancelUnusefulClick, - }, helper_1.getValidationMessage(this.config)) - ]), + ] : label), + helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input-caption", { + onclick: this._handlers.cancelUnusefulClick, + }, helper_1.getValidationMessage(this.config)) ]); }; return Checkbox; @@ -19866,7 +21824,7 @@ exports.Checkbox = Checkbox; /***/ }), -/* 169 */ +/* 174 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19887,55 +21845,34 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); var core_1 = __webpack_require__(1); -var ts_layout_1 = __webpack_require__(12); -var events_1 = __webpack_require__(2); +var ts_layout_1 = __webpack_require__(14); +var events_1 = __webpack_require__(3); var view_1 = __webpack_require__(4); -var radiobutton_1 = __webpack_require__(170); +var radiobutton_1 = __webpack_require__(175); var helper_1 = __webpack_require__(9); var types_1 = __webpack_require__(8); -var RadioGroupEvents; -(function (RadioGroupEvents) { - RadioGroupEvents["change"] = "change"; -})(RadioGroupEvents = exports.RadioGroupEvents || (exports.RadioGroupEvents = {})); var RadioGroup = /** @class */ (function (_super) { __extends(RadioGroup, _super); function RadioGroup(container, config) { var _this = _super.call(this, null, config) || this; _this.events = new events_1.EventSystem(); _this._buttons = []; - var mapConfig = _this.config.options.rows || _this.config.options.cols; - var _a = _this.config, preMessage = _a.preMessage, errorMessage = _a.errorMessage, successMessage = _a.successMessage; - mapConfig.map(function (option) { - option.id = option.id || core_1.uid(); - }); - _this.layout = new ts_layout_1.Layout(null, config.options); - mapConfig.map(function (option) { - var radiobutton = new radiobutton_1.RadioButton(null, option); - radiobutton.config.disabled = _this.config.disabled; - radiobutton.config.name = _this.config.name; - radiobutton.config.required = _this.config.required; - radiobutton.config.css = _this.config.css; - if (preMessage || errorMessage || successMessage) { - radiobutton.config.preMessage = ""; - radiobutton.config.errorMessage = ""; - radiobutton.config.successMessage = ""; - } - _this._buttons.push(radiobutton); - _this.layout.cell(option.id).attach(radiobutton); - radiobutton.events.on(radiobutton_1.RadioButtonEvents.change, function () { - _this._buttons.map(function (element) { - if (element.config.id !== radiobutton.config.id) { - element.setValue(false); - } - }); - _this.events.fire(radiobutton_1.RadioButtonEvents.change); - _this.validate(); - }); - }); + _this._initView(config); var render = function () { return _this._draw(); }; _this.mount(container, dom_1.create({ render: render })); return _this; } + RadioGroup.prototype.disable = function () { + this.config.disabled = true; + this.paint(); + }; + RadioGroup.prototype.enable = function () { + this.config.disabled = false; + this.paint(); + }; + RadioGroup.prototype.isDisabled = function () { + return this.config.disabled; + }; RadioGroup.prototype.validate = function () { var _this = this; var isValid = false; @@ -19969,13 +21906,13 @@ var RadioGroup = /** @class */ (function (_super) { this.paint(); }; RadioGroup.prototype.getValue = function () { - var value; + var _this = this; this._buttons.map(function (element) { if (element.getValue()) { - value = element.getValue(); + _this.config.value = element.getValue() || ""; } }); - return value || ""; + return this.config.value || ""; }; RadioGroup.prototype.setValue = function (value) { this._buttons.map(function (element) { @@ -19983,21 +21920,85 @@ var RadioGroup = /** @class */ (function (_super) { ? element.setValue(true) : element.setValue(false); }); - this.events.fire(radiobutton_1.RadioButtonEvents.change); + this.events.fire(types_1.BaseElementEvent.change); this.paint(); }; + // TODO: remove sute_7.0 + RadioGroup.prototype.setConfig = function (config) { + this._initView(config); + }; + RadioGroup.prototype._initView = function (config) { + var _this = this; + if (helper_1.isEmptyObj(config) || helper_1.isEmptyObj(config.options)) { + return; + } + if (this.layout) { + this.layout.destructor(); + } + if (this._buttons.length !== 0) { + this._buttons.map(function (button) { + button.destructor(); + }); + this._buttons = []; + } + this.config = { + type: this.config.type, + id: this.config.id, + name: this.config.name, + disabled: false, + options: {} + }; + for (var key in config) { + if (key !== "id" && key !== "type" && key !== "name") { + this.config[key] = config[key]; + } + } + var radioButtonsConfig = this.config.options.rows || this.config.options.cols; + var _a = this.config, preMessage = _a.preMessage, errorMessage = _a.errorMessage, successMessage = _a.successMessage; + radioButtonsConfig.map(function (option) { + option.id = option.id || core_1.uid(); + }); + this.layout = new ts_layout_1.Layout(null, this.config.options); + radioButtonsConfig.map(function (option) { + var radiobutton = new radiobutton_1.RadioButton(null, option); + radiobutton.config.disabled = config.disabled; + radiobutton.config.name = config.name; + radiobutton.config.required = config.required; + radiobutton.config.css = config.css; + if (preMessage || errorMessage || successMessage) { + radiobutton.config.preMessage = ""; + radiobutton.config.errorMessage = ""; + radiobutton.config.successMessage = ""; + } + _this._buttons.push(radiobutton); + _this.layout.getCell(option.id).attach(radiobutton); + radiobutton.events.on(radiobutton_1.RadioButtonEvents.change, function () { + _this._buttons.map(function (button) { + if (button.config.id !== radiobutton.config.id) { + button.setValue(false); + } + }); + _this.events.fire(types_1.BaseElementEvent.change, []); + _this.validate(); + }); + }); + this.events.fire(types_1.BaseElementEvent.configUpdate, [this.config]); + this.clearValidate(); + }; RadioGroup.prototype._draw = function () { - var _a = this._buttons[0].config, labelWidth = _a.labelWidth, labelInline = _a.labelInline; + var _a = this._buttons[0].config, labelWidth = _a.labelWidth, labelPosition = _a.labelPosition; var hidden = this.config.hidden; var visibility = hidden ? " dhx_form-group--hidden" : ""; return dom_1.el("div.dhx_form-group", { class: helper_1.getFormItemCss(this.config, Boolean(this.config.required)) + visibility, }, [ - dom_1.inject(this.layout.getRootView()), - dom_1.el("div", { - style: { "margin-left": "" + (labelWidth && labelInline ? "calc(" + labelWidth + " + 16px)" : "") } + dom_1.el("div.dhx_radio-group--container", {}, [ + dom_1.inject(this.layout.getRootView()), + ]), + dom_1.el("div.dhx_caption--container", { + style: { "margin-left": "" + (labelWidth && labelPosition === "right" ? "calc(" + labelWidth + " + 16px)" : "") } }, [ - dom_1.el("span.dhx_input-caption", helper_1.getValidationMessage(this.config)) + dom_1.el("span.dhx_input__caption", helper_1.getValidationMessage(this.config)) ]) ]); }; @@ -20007,7 +22008,7 @@ exports.RadioGroup = RadioGroup; /***/ }), -/* 170 */ +/* 175 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20027,10 +22028,10 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); var view_1 = __webpack_require__(4); var helper_1 = __webpack_require__(9); -var ts_popup_1 = __webpack_require__(10); +var ts_popup_1 = __webpack_require__(11); var types_1 = __webpack_require__(8); var RadioButtonEvents; (function (RadioButtonEvents) { @@ -20041,9 +22042,13 @@ var RadioButton = /** @class */ (function (_super) { function RadioButton(container, config) { if (config === void 0) { config = {}; } var _this = _super.call(this, container, config) || this; - if (_this.config.help) { + _this.config.helpMessage = _this.config.helpMessage || _this.config.help; // TODO: remove sute_7.0 + if (_this.config.helpMessage) { _this._helper = new ts_popup_1.Popup({ css: "dhx_tooltip dhx_tooltip--forced dhx_tooltip--light" }); - _this._helper.attachHTML(_this.config.help); + _this._helper.attachHTML(_this.config.helpMessage); + } + if (_this.config.labelInline) { + _this.config.labelPosition = "right"; // TODO: remove sute_7.0 } _this._handlers = { showHelper: function (e) { @@ -20081,11 +22086,16 @@ var RadioButton = /** @class */ (function (_super) { this.config.checked = checked; this.paint(); }; + RadioButton.prototype.destructor = function () { + this._helper.destructor(); + this.events.clear(); + this.unmount(); + }; RadioButton.prototype._draw = function () { - var _a = this.config, id = _a.id, value = _a.value, label = _a.label, checked = _a.checked, disabled = _a.disabled, name = _a.name, help = _a.help, labelWidth = _a.labelWidth, labelInline = _a.labelInline, required = _a.required; - return dom_1.el("label.dhx_form-group.dhx_radiobutton", { - class: helper_1.getFormItemCss(this.config, Boolean(required)) + (help ? " dhx_label--with-help" : ""), - style: { "margin-left": "" + (labelWidth && labelInline ? "calc(" + labelWidth + " + 16px)" : "") } + var _a = this.config, id = _a.id, value = _a.value, label = _a.label, checked = _a.checked, disabled = _a.disabled, name = _a.name, helpMessage = _a.helpMessage, labelWidth = _a.labelWidth, labelPosition = _a.labelPosition, required = _a.required; + return dom_1.el("label.dhx_radiobutton.dhx_form-group", { + class: helper_1.getFormItemCss(this.config, Boolean(required)), + style: { "margin-left": "" + (labelWidth && labelPosition === "right" ? "calc(" + labelWidth + " + 16px)" : "") } }, [ dom_1.el("input.dhx_radiobutton__input", { type: "radio", @@ -20099,15 +22109,15 @@ var RadioButton = /** @class */ (function (_super) { }), dom_1.el("span.dhx_radiobutton__visual-input"), dom_1.el("span.dhx_label", { - class: help ? "dhx_label--with-help" : "" - }, help ? [ + class: helpMessage ? "dhx_label--with-help" : "" + }, helpMessage ? [ dom_1.el("span.dhx_label__holder", label), dom_1.el("span.dhx_label-help.dxi.dxi-help-circle-outline", { tabindex: "0", role: "button", onclick: this._handlers.showHelper }), - ] : label), dom_1.el("span.dhx_input-caption", { + ] : label), dom_1.el("span.dhx_input__caption", { onclick: this._handlers.cancelUnusefulClick, }, helper_1.getValidationMessage(this.config)), ]); @@ -20118,7 +22128,7 @@ exports.RadioButton = RadioButton; /***/ }), -/* 171 */ +/* 176 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20138,39 +22148,40 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var label_1 = __webpack_require__(16); +var label_1 = __webpack_require__(18); var helper_1 = __webpack_require__(9); -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); var types_1 = __webpack_require__(8); -var SelectEvents; -(function (SelectEvents) { - SelectEvents["change"] = "change"; -})(SelectEvents = exports.SelectEvents || (exports.SelectEvents = {})); var Select = /** @class */ (function (_super) { __extends(Select, _super); - function Select(config) { + function Select(container, config) { var _this = _super.call(this, null, config) || this; _this.events = new events_1.EventSystem(); - _this.config.value = _this.config.options[0].value || _this.config.value; + _this._initView(config); return _this; } + Select.prototype.disable = function () { + this.config.disabled = true; + this.paint(); + }; + Select.prototype.enable = function () { + this.config.disabled = false; + this.paint(); + }; + Select.prototype.isDisabled = function () { + return this.config.disabled; + }; Select.prototype.validate = function () { var _a = this.config, required = _a.required, value = _a.value, validation = _a.validation; - if (validation) { - var isValid = this.config.validation(value); - isValid - ? this.config.$validationStatus = types_1.ValidationStatus.success - : this.config.$validationStatus = types_1.ValidationStatus.error; - this.paint(); - return isValid; - } - else { - !required || Boolean(value) - ? this.config.$validationStatus = types_1.ValidationStatus.success - : this.config.$validationStatus = types_1.ValidationStatus.error; - this.paint(); - return !required || Boolean(value); - } + var isValid = true; + isValid = validation + ? this.config.validation(value) + : !required || Boolean(value); + this.config.$validationStatus = isValid + ? types_1.ValidationStatus.success + : types_1.ValidationStatus.error; + this.paint(); + return isValid; }; Select.prototype.clearValidate = function () { this.config.$validationStatus = types_1.ValidationStatus.pre; @@ -20182,19 +22193,43 @@ var Select = /** @class */ (function (_super) { }; Select.prototype.setValue = function (value) { this.config.value = value; - this.events.fire(SelectEvents.change, [value]); + this.events.fire(types_1.BaseElementEvent.change, [value]); this.paint(); }; Select.prototype.getValue = function () { return this.config.value || ""; }; + // TODO: remove sute_7.0 + Select.prototype.setConfig = function (config) { + this._initView(config); + }; + Select.prototype._initView = function (config) { + if (helper_1.isEmptyObj(config)) { + return; + } + this.config = { + type: this.config.type, + id: this.config.id, + name: this.config.name, + options: config.options, + disabled: false, + value: config.options[0].value + }; + for (var key in config) { + if (key !== "id" && key !== "type" && key !== "name") { + this.config[key] = config[key]; + } + } + this.events.fire(types_1.BaseElementEvent.configUpdate, [this.config]); + this.paint(); + }; Select.prototype._getHandlers = function () { var _this = this; return { onchange: function (e) { var value = e.target.value; _this.config.value = value; - _this.events.fire(SelectEvents.change, []); + _this.events.fire(types_1.BaseElementEvent.change, [value]); _this.validate(); } }; @@ -20205,8 +22240,8 @@ var Select = /** @class */ (function (_super) { class: helper_1.getFormItemCss(this.config, Boolean(required) || Boolean(validation)) }, [ this._drawLabel(), - dom_1.el(".dhx_input-wrapper", {}, [ - dom_1.el("div.dhx_input-container", {}, [ + dom_1.el(".dhx_input__wrapper", {}, [ + dom_1.el("div.dhx_input__container", {}, [ dom_1.el(".dhx_input__icon", { class: icon ? icon : "dxi dxi-menu-down" }), @@ -20220,7 +22255,7 @@ var Select = /** @class */ (function (_super) { selected: option.selected || value === option.value, }, option.content); })), ]), - helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input-caption", helper_1.getValidationMessage(this.config)) + helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input__caption", helper_1.getValidationMessage(this.config)) ]), ]); }; @@ -20230,7 +22265,7 @@ exports.Select = Select; /***/ }), -/* 172 */ +/* 177 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20251,7 +22286,7 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); var helper_1 = __webpack_require__(9); -var input_1 = __webpack_require__(50); +var input_1 = __webpack_require__(52); var core_1 = __webpack_require__(1); var Textarea = /** @class */ (function (_super) { __extends(Textarea, _super); @@ -20264,7 +22299,7 @@ var Textarea = /** @class */ (function (_super) { class: helper_1.getFormItemCss(this.config, Boolean(required) || Boolean(validation)) }, [ this._drawLabel(), - dom_1.el(".dhx_input-wrapper", [ + dom_1.el(".dhx_input__wrapper", [ dom_1.el("textarea.dhx_input.dhx_input--textarea", { type: "text", id: id, @@ -20280,7 +22315,7 @@ var Textarea = /** @class */ (function (_super) { resize: resizable ? "both" : "none", } }), - helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input-caption", {}, helper_1.getValidationMessage(this.config)) + helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input__caption", {}, helper_1.getValidationMessage(this.config)) ]), ]); }; @@ -20290,7 +22325,7 @@ exports.Textarea = Textarea; /***/ }), -/* 173 */ +/* 178 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20312,7 +22347,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); var core_1 = __webpack_require__(1); var helper_1 = __webpack_require__(9); -var input_1 = __webpack_require__(50); +var input_1 = __webpack_require__(52); var Text = /** @class */ (function (_super) { __extends(Text, _super); function Text() { @@ -20324,7 +22359,7 @@ var Text = /** @class */ (function (_super) { class: helper_1.getFormItemCss(this.config) }, [ this._drawLabel(), - dom_1.el(".dhx_input-wrapper", [ + dom_1.el(".dhx_input__wrapper", [ dom_1.el("input.dhx_input.dhx_input--textinput", { type: "text", readOnly: true, @@ -20341,7 +22376,7 @@ exports.Text = Text; /***/ }), -/* 174 */ +/* 179 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20362,37 +22397,42 @@ var __extends = (this && this.__extends) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); var helper_1 = __webpack_require__(9); -var ts_combobox_1 = __webpack_require__(47); -var label_1 = __webpack_require__(16); +var ts_combobox_1 = __webpack_require__(32); +var events_1 = __webpack_require__(3); +var label_1 = __webpack_require__(18); var types_1 = __webpack_require__(8); var Combo = /** @class */ (function (_super) { __extends(Combo, _super); - function Combo(config) { + function Combo(container, config) { var _this = _super.call(this, null, config) || this; - _this.combobox = new ts_combobox_1.Combobox(null, config); - _this.data = _this.combobox.data; - _this.events = _this.combobox.events; - _this.combobox.events.on("change", function (change) { - if (change !== "load") { - _this.validate(); - } - }); - setTimeout(function () { - _this.setValue(_this.config.value); - }); + _this.events = new events_1.EventSystem(); + _this._initView(config); return _this; } + Combo.prototype.disable = function () { + this.config.disabled = true; + this.combobox.disable(); + this.paint(); + }; + Combo.prototype.enable = function () { + this.config.disabled = false; + this.combobox.enable(); + this.paint(); + }; + Combo.prototype.isDisabled = function () { + return this.config.disabled; + }; Combo.prototype.clear = function () { this.combobox.clear(); this.paint(); }; Combo.prototype.getValue = function () { - if (this.combobox.getValue() !== undefined) { - if (this.combobox.getValue().length > 1) { - return this.combobox.getValue(true); - } + if (this.config.multiselection) { + return this.combobox.getValue(true); + } + else { + return this.combobox.getValue() || ""; } - return this.combobox.getValue() || ""; }; Combo.prototype.setValue = function (value) { if (value) { @@ -20430,6 +22470,53 @@ var Combo = /** @class */ (function (_super) { this._validationStatus(); this.paint(); }; + Combo.prototype.getWidget = function () { + return this.combobox; + }; + // TODO: remove sute_7.0 + Combo.prototype.setConfig = function (config) { + this._initView(config); + }; + Combo.prototype._initView = function (config) { + var _this = this; + if (helper_1.isEmptyObj(config)) { + return; + } + if (this.combobox) { + this.combobox.destructor(); + } + this.config = { + type: this.config.type, + id: this.config.id, + name: this.config.name, + disabled: false, + value: "" + }; + var comboConfig = {}; + for (var key in config) { + if (key !== "id" && key !== "type" && key !== "name") { + this.config[key] = config[key]; + if (key !== "validation") { + comboConfig[key] = config[key]; + } + } + } + if (this.config.labelInline) { + this.config.labelPosition = "left"; // TODO: remove sute_7.0 + } + this.combobox = new ts_combobox_1.Combobox(null, comboConfig); + this.combobox.events.on(ts_combobox_1.ComboboxEvents.change, function (change) { + _this.events.fire(types_1.BaseElementEvent.change, [change]); + }); + this.events.fire(types_1.BaseElementEvent.configUpdate, [this.config]); + this.setValue(this.config.value); + this.events.on(types_1.BaseElementEvent.change, function (change) { + if (change !== "load") { + _this.validate(); + } + }); + this.clearValidate(); + }; Combo.prototype._validationStatus = function () { switch (this.config.$validationStatus) { case types_1.ValidationStatus.pre: @@ -20451,14 +22538,14 @@ var Combo = /** @class */ (function (_super) { return this.combobox.getRootView(); }; Combo.prototype._draw = function () { - var _a = this.config, labelWidth = _a.labelWidth, labelInline = _a.labelInline, $validationStatus = _a.$validationStatus; + var _a = this.config, labelWidth = _a.labelWidth, labelPosition = _a.labelPosition, $validationStatus = _a.$validationStatus; return dom_1.el(".dhx_form-group", {}, [ dom_1.inject(this._getRootView()), dom_1.el("div", { - style: { "margin-left": "" + (labelWidth && labelInline ? "calc(" + labelWidth + " + 16px)" : "") }, + style: { "margin-left": "" + (labelWidth && labelPosition === "left" ? "calc(" + labelWidth + " + 16px)" : "") }, class: $validationStatus === 1 ? "dhx_form-group--state_error" : $validationStatus === 2 ? "dhx_form-group--state_success" : "", }, [ - dom_1.el("span.dhx_input-caption", helper_1.getValidationMessage(this.config)) + dom_1.el("span.dhx_input__caption", helper_1.getValidationMessage(this.config)) ]), ]); }; @@ -20468,7 +22555,7 @@ exports.Combo = Combo; /***/ }), -/* 175 */ +/* 180 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20486,49 +22573,120 @@ var __extends = (this && this.__extends) || (function () { d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; Object.defineProperty(exports, "__esModule", { value: true }); -var ts_slider_1 = __webpack_require__(30); -var label_1 = __webpack_require__(16); +var dom_1 = __webpack_require__(0); +var ts_slider_1 = __webpack_require__(40); +var events_1 = __webpack_require__(3); +var label_1 = __webpack_require__(18); +var helper_1 = __webpack_require__(9); +var types_1 = __webpack_require__(8); var SliderForm = /** @class */ (function (_super) { __extends(SliderForm, _super); - function SliderForm(config) { + function SliderForm(container, config) { var _this = _super.call(this, null, config) || this; - _this.slider = new ts_slider_1.Slider(null, config); - _this.events = _this.slider.events; - _this.config.value = _this.slider.getValue(); - _this.slider.events.on("Change", function () { - _this.validate(); - _this.config.value = _this.slider.getValue(); - }); - _this.disable(_this.config.disabled); + _this.events = new events_1.EventSystem(); + _this._initView(config); + var render = function () { return _this._drawSlider(); }; + _this.mount(container, dom_1.create({ render: render })); return _this; } + SliderForm.prototype.disable = function () { + this.config.disabled = true; + this.slider.disable(); + this.paint(); + }; + SliderForm.prototype.enable = function () { + this.config.disabled = false; + this.slider.enable(); + this.paint(); + }; + SliderForm.prototype.isDisabled = function () { + return this.config.disabled; + }; SliderForm.prototype.clear = function () { - this.config.value = [0]; + this.config.value = this.config.min; this.slider.setValue(this.config.value); }; SliderForm.prototype.getValue = function () { - return this.config.value; - }; - SliderForm.prototype.disable = function (disabled) { - disabled ? this.slider.disable() : this.slider.enable(); + return this.slider.getValue(); }; SliderForm.prototype.setValue = function (value) { this.slider.setValue(value); }; - SliderForm.prototype.getRootView = function () { - return this.slider.getRootView(); - }; SliderForm.prototype.validate = function () { return true; }; + SliderForm.prototype.getWidget = function () { + return this.slider; + }; + // TODO: remove sute_7.0 + SliderForm.prototype.setConfig = function (config) { + this._initView(config); + }; + SliderForm.prototype._initView = function (config) { + var _this = this; + if (helper_1.isEmptyObj(config)) { + return; + } + if (this.slider) { + this.slider.destructor(); + } + var sliderConfig = { + type: this.config.type, + id: this.config.id, + name: this.config.name, + mode: ts_slider_1.Direction.horizontal, + min: 0, + max: 100, + step: 1, + tooltip: true, + disabled: false + }; + for (var key in config) { + if (key !== "id" && key !== "type" && key !== "name") { + sliderConfig[key] = config[key]; + } + } + this.config = __assign({ type: this.config.type }, sliderConfig); + this.slider = new ts_slider_1.Slider(null, sliderConfig); + if (this.config.disabled) { + this.slider.disable(); + } + this.config.value = this.slider.getValue(); + this.slider.events.on(ts_slider_1.SliderEvents.change, function () { + _this.config.value = _this.slider.getValue(); + _this.events.fire(types_1.BaseElementEvent.change, [_this.config.value]); + _this.validate(); + }); + this.events.fire(types_1.BaseElementEvent.configUpdate, [this.config]); + }; + SliderForm.prototype._getRootView = function () { + this.slider.paint(); + return this.slider.getRootView(); + }; + SliderForm.prototype._drawSlider = function () { + return dom_1.el("div.dhx_form-group", {}, [ + dom_1.inject(this._getRootView()) + ]); + }; return SliderForm; }(label_1.Label)); exports.SliderForm = SliderForm; /***/ }), -/* 176 */ +/* 181 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20559,30 +22717,23 @@ var __assign = (this && this.__assign) || function () { }; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); -var html_1 = __webpack_require__(3); +var events_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var view_1 = __webpack_require__(4); var ts_data_1 = __webpack_require__(7); -var ts_vault_1 = __webpack_require__(53); -var ts_popup_1 = __webpack_require__(10); +var ts_vault_1 = __webpack_require__(55); +var ts_popup_1 = __webpack_require__(11); var helper_1 = __webpack_require__(9); -var en_1 = __webpack_require__(73); +var en_1 = __webpack_require__(75); var types_1 = __webpack_require__(8); var SimpleVault = /** @class */ (function (_super) { __extends(SimpleVault, _super); function SimpleVault(container, config) { var _this = _super.call(this, container, config) || this; - if (_this.config.help) { - _this._helper = new ts_popup_1.Popup({ css: "dhx_tooltip dhx_tooltip--forced dhx_tooltip--light" }); - _this._helper.attachHTML(_this.config.help); - } _this.events = new events_1.EventSystem(_this); _this.data = new ts_data_1.DataCollection({}, _this.events); - _this._uploader = new ts_vault_1.Uploader(__assign({}, config, { autosend: false }), _this.data, _this.events); - _this.data.events.on(ts_data_1.DataEvents.change, function () { - _this.validate(); - _this.paint(); - }); + _this._uploader = new ts_vault_1.Uploader(__assign(__assign({}, config), { autosend: false }), _this.data, _this.events); + _this._initView(config); _this._handlers = { add: function (e) { if (_this.config.disabled) { @@ -20632,6 +22783,17 @@ var SimpleVault = /** @class */ (function (_super) { _this.mount(container, dom_1.create({ render: render })); return _this; } + SimpleVault.prototype.disable = function () { + this.config.disabled = true; + this.paint(); + }; + SimpleVault.prototype.enable = function () { + this.config.disabled = false; + this.paint(); + }; + SimpleVault.prototype.isDisabled = function () { + return this.config.disabled; + }; SimpleVault.prototype.validate = function () { var isValid = !this.config.required || this.data.getLength() > 0; this.config.$validationStatus = isValid @@ -20651,9 +22813,54 @@ var SimpleVault = /** @class */ (function (_super) { SimpleVault.prototype.getValue = function () { return this.data.map(function (data) { return (data.file); }) || []; }; + SimpleVault.prototype.getWidget = function () { + return this._uploader; + }; + // TODO: remove sute_7.0 + SimpleVault.prototype.setConfig = function (config) { + this._initView(config); + }; + SimpleVault.prototype._initView = function (config) { + var _this = this; + if (helper_1.isEmptyObj(config)) { + return; + } + this.config = { + type: this.config.type, + id: this.config.id, + name: this.config.name, + disabled: false + }; + for (var key in config) { + if (key !== "id" && key !== "type" && key !== "name") { + this.config[key] = config[key]; + } + } + if (this.config.labelInline) { + this.config.labelPosition = "left"; // TODO: remove sute_7.0 + } + this.config.helpMessage = this.config.helpMessage || this.config.help; // TODO: remove sute_7.0 + this.events.on(types_1.BaseElementEvent.change, function () { + _this.validate(); + _this.paint(); + }); + this.events.fire(types_1.BaseElementEvent.configUpdate, [this.config]); + this.paint(); + }; SimpleVault.prototype._draw = function () { var _this = this; - var files = this.data.getLength() ? dom_1.el("ul.dhx_simplevault__files.dhx_simplevault-files", this.data.map(function (file) { return dom_1.el("li.dhx_simplevault-files__item", [ + if (this.config.helpMessage) { + if (this._helper) { + this._helper.attachHTML(this.config.helpMessage); + } + else { + this._helper = new ts_popup_1.Popup({ css: "dhx_tooltip dhx_tooltip--forced dhx_tooltip--light" }); + this._helper.attachHTML(this.config.helpMessage); + } + } + var files = this.data.getLength() ? dom_1.el("ul.dhx_simplevault__files.dhx_simplevault-files", { + class: this.config.$vaultHeight ? "" : "dhx_simplevault-files__fixed" + }, this.data.map(function (file) { return dom_1.el("li.dhx_simplevault-files__item", [ dom_1.el("span.dhx_simplevault-files__item-name", file.file.name), dom_1.el(".dhx_button.dhx_simplevault-files__delete.dhx_button--icon.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle", { dhx_id: file.id, @@ -20662,16 +22869,17 @@ var SimpleVault = /** @class */ (function (_super) { dom_1.el("span.dxi.dxi-delete-forever") ]) ]); })) : null; - var _a = this.config, id = _a.id, labelInline = _a.labelInline, label = _a.label, labelWidth = _a.labelWidth, help = _a.help, disabled = _a.disabled, required = _a.required, validation = _a.validation; - var width = labelInline && labelWidth ? labelWidth : ""; + var _a = this.config, id = _a.id, labelPosition = _a.labelPosition, label = _a.label, labelWidth = _a.labelWidth, helpMessage = _a.helpMessage, disabled = _a.disabled, required = _a.required, validation = _a.validation; + var width = labelPosition === "left" && labelWidth ? labelWidth : ""; return dom_1.el(".dhx_form-group.dhx_form-group--simplevault", { class: helper_1.getFormItemCss(this.config, Boolean(required) || Boolean(validation)) }, [ dom_1.el("label.dhx_label", { for: id || this._uid, style: { minWidth: width, maxWidth: width }, - class: help ? "dhx_label--with-help" : "" - }, help ? [ + class: helpMessage ? "dhx_label--with-help" : "", + onclick: this._handlers.add, + }, helpMessage ? [ dom_1.el("span.dhx_label__holder", label), dom_1.el("span.dhx_label-help.dxi.dxi-help-circle-outline", { tabindex: "0", @@ -20679,7 +22887,7 @@ var SimpleVault = /** @class */ (function (_super) { onclick: this._handlers.showHelper }), ] : label), - dom_1.el(".dhx_input-wrapper", [ + dom_1.el(".dhx_input__wrapper", [ dom_1.el("div", { _hooks: { didInsert: function (node) { @@ -20710,7 +22918,7 @@ var SimpleVault = /** @class */ (function (_super) { ]), files, ]), - helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input-caption", {}, helper_1.getValidationMessage(this.config)) + helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input__caption", {}, helper_1.getValidationMessage(this.config)) ]) ]); }; @@ -20720,7 +22928,7 @@ exports.SimpleVault = SimpleVault; /***/ }), -/* 177 */ +/* 182 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20739,45 +22947,40 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var ts_timepicker_1 = __webpack_require__(29); +var ts_timepicker_1 = __webpack_require__(30); var dom_1 = __webpack_require__(0); -var label_1 = __webpack_require__(16); -var ts_popup_1 = __webpack_require__(10); -var events_1 = __webpack_require__(2); +var label_1 = __webpack_require__(18); +var ts_popup_1 = __webpack_require__(11); +var events_1 = __webpack_require__(3); var types_1 = __webpack_require__(8); var helper_1 = __webpack_require__(9); -var TimeInputEvents; -(function (TimeInputEvents) { - TimeInputEvents["change"] = "change"; -})(TimeInputEvents = exports.TimeInputEvents || (exports.TimeInputEvents = {})); var TimeInput = /** @class */ (function (_super) { __extends(TimeInput, _super); function TimeInput(container, config) { var _this = _super.call(this, null, config) || this; _this.events = new events_1.EventSystem(); - _this._popup = new ts_popup_1.Popup({ css: "dhx_widget--border-shadow" }); - _this.timepicker = new ts_timepicker_1.Timepicker(null, config); - _this._popup.attach(_this.timepicker); + _this._initView(config); var render = function () { return _this._draw(); }; _this.mount(container, dom_1.create({ render: render })); - _this.timepicker.events.on(ts_timepicker_1.TimepickerEvents.change, function () { - _this.config.value = _this.timepicker.getValue(); - _this.validate(); - }); - _this.timepicker.events.on(ts_timepicker_1.TimepickerEvents.close, function () { - _this._popup.hide(); - }); - _this.timepicker.events.on(ts_timepicker_1.TimepickerEvents.save, function () { - _this._popup.hide(); - }); - _this.events.on(TimeInputEvents.change, function (value) { - _this.config.value = _this._inputValidate(value); - _this.validate(); - }); return _this; } + TimeInput.prototype.disable = function () { + this.config.disabled = true; + this.paint(); + }; + TimeInput.prototype.enable = function () { + this.config.disabled = false; + this.paint(); + }; + TimeInput.prototype.isDisabled = function () { + return this.config.disabled; + }; TimeInput.prototype.validate = function () { - var isValid = !this.config.required || Boolean(this.config.value); + var _a = this.config, required = _a.required, value = _a.value, validation = _a.validation; + var isValid = true; + isValid = validation + ? this.config.validation(value) + : !required || Boolean(value); this.config.$validationStatus = isValid ? types_1.ValidationStatus.success : types_1.ValidationStatus.error; @@ -20790,6 +22993,9 @@ var TimeInput = /** @class */ (function (_super) { }; TimeInput.prototype.setValue = function (value) { this.timepicker.setValue(value); + if (this.config.controls) { + this.timepicker.events.fire(ts_timepicker_1.TimepickerEvents.apply, []); + } this.paint(); }; TimeInput.prototype.getValue = function () { @@ -20800,6 +23006,90 @@ var TimeInput = /** @class */ (function (_super) { timeFormat === 12 ? this.timepicker.setValue("12:00AM") : this.timepicker.setValue("00:00"); this.config.value = ""; }; + TimeInput.prototype.getWidget = function () { + return this.timepicker; + }; + // TODO: remove sute_7.0 + TimeInput.prototype.setConfig = function (config) { + this._initView(config); + }; + TimeInput.prototype._initView = function (config) { + var _this = this; + if (helper_1.isEmptyObj(config)) { + return; + } + if (this.timepicker) { + this.timepicker.destructor(); + } + if (this._popup) { + this._popup.destructor(); + } + this.config = { + type: this.config.type, + id: this.config.id, + name: this.config.name, + disabled: false, + editable: false, + value: "" + }; + for (var key in config) { + if (key !== "id" && key !== "type" && key !== "name") { + this.config[key] = config[key]; + } + } + this.config.editable = this.config.editable || this.config.editing; // TODO: remove sute_7.0 + this._popup = new ts_popup_1.Popup({ css: "dhx_widget--border-shadow" }); + this.timepicker = new ts_timepicker_1.Timepicker(null, config); + this._popup.attach(this.timepicker); + if (this.config.value) { + this.timepicker.setValue(this.config.value); + this.config.value = this.timepicker.getValue(); + } + if (this.config.controls) { + this.timepicker.events.on(ts_timepicker_1.TimepickerEvents.close, function () { + _this._popup.hide(); + }); + this.timepicker.events.on(ts_timepicker_1.TimepickerEvents.apply, function () { + _this.config.value = _this.timepicker.getValue(); + _this.validate(); + _this._popup.hide(); + }); + this._popup.events.on(ts_popup_1.PopupEvents.afterHide, function () { + var value = _this.config.value; + if (value && value !== _this.timepicker.getValue()) { + _this.timepicker.setValue(value); + } + if (value === "") { + _this.clear(); + } + _this.paint(); + }); + } + else { + this.timepicker.events.on(ts_timepicker_1.TimepickerEvents.change, function () { + _this.config.value = _this.timepicker.getValue(); + _this.validate(); + }); + this._popup.events.on(ts_popup_1.PopupEvents.afterHide, function () { + _this.paint(); + }); + } + this.events.on(types_1.BaseElementEvent.change, function (value) { + var timeFormat = _this.config.timeFormat; + var length = timeFormat === 12 ? 7 : 5; + if (value.length >= length) { + var validValue = _this._inputValidate(value); + if (_this._inputValidate(value)) { + _this.timepicker.setValue(validValue); + } + else { + _this.validate(); + } + } + }); + this.events.fire(types_1.BaseElementEvent.configUpdate, [this.config]); + this.clearValidate(); + }; TimeInput.prototype._getHandlers = function () { var _this = this; return { @@ -20810,37 +23100,36 @@ var TimeInput = /** @class */ (function (_super) { var node = _this.getRootView().refs.input.el; _this._popup.show(node); }, - onchange: function (e) { - var value = e.target.value; - _this.events.fire(TimeInputEvents.change, [value]); - }, onkeyup: function (e) { - if (e.keyCode === 13) { + var value = e.target.value.trim(); + if (!_this.config.controls && e.keyCode === 13) { if (_this._popup.isVisible()) { _this._popup.hide(); } var node = _this.getRootView().refs.input.el; node.blur(); } + if ((e.which >= 48 && e.which <= 57) || (e.which >= 65 && e.which <= 90) || (e.which >= 96 && e.which <= 105)) { + _this.events.fire(types_1.BaseElementEvent.change, [value]); + } } }; }; TimeInput.prototype._inputValidate = function (value) { var timeFormat = this.config.timeFormat; if (helper_1.isTimeFormat(value, timeFormat)) { - this.timepicker.setValue(value); return value; } return ""; }; TimeInput.prototype._draw = function () { - var _a = this.config, value = _a.value, required = _a.required, disabled = _a.disabled, placeholder = _a.placeholder, name = _a.name, id = _a.id, validation = _a.validation, _b = _a.editing, editing = _b === void 0 ? false : _b; + var _a = this.config, value = _a.value, required = _a.required, disabled = _a.disabled, placeholder = _a.placeholder, name = _a.name, id = _a.id, validation = _a.validation, editable = _a.editable; return dom_1.el("div.dhx_form-group", { class: helper_1.getFormItemCss(this.config, Boolean(required) || Boolean(validation)), }, [ this._drawLabel(), - dom_1.el(".dhx_input-wrapper", [ - dom_1.el("div.dhx_input-container", {}, [ + dom_1.el(".dhx_input__wrapper", [ + dom_1.el("div.dhx_input__container", {}, [ dom_1.el(".dhx_input__icon.dxi.dxi-clock-outline"), dom_1.el("input.dhx_input.dhx_input--icon-padding", { _key: this._uid, @@ -20853,13 +23142,12 @@ var TimeInput = /** @class */ (function (_super) { name: name || "", id: id || this._uid, onfocus: this._handlers.onfocus, - onchange: this._handlers.onchange, onkeyup: this._handlers.onkeyup, autocomplete: "off", - readOnly: !editing + readOnly: !editable }), ]), - helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input-caption", {}, helper_1.getValidationMessage(this.config)) + helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input__caption", {}, helper_1.getValidationMessage(this.config)) ]), ]); }; @@ -20869,7 +23157,7 @@ exports.TimeInput = TimeInput; /***/ }), -/* 178 */ +/* 183 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20889,40 +23177,39 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var ts_colorpicker_1 = __webpack_require__(31); -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); var dom_1 = __webpack_require__(0); -var label_1 = __webpack_require__(16); -var ts_popup_1 = __webpack_require__(10); +var label_1 = __webpack_require__(18); +var ts_popup_1 = __webpack_require__(11); var types_1 = __webpack_require__(8); var helper_1 = __webpack_require__(9); -var ColorpickerInputEvents; -(function (ColorpickerInputEvents) { - ColorpickerInputEvents["change"] = "change"; -})(ColorpickerInputEvents = exports.ColorpickerInputEvents || (exports.ColorpickerInputEvents = {})); var ColorpickerInput = /** @class */ (function (_super) { __extends(ColorpickerInput, _super); function ColorpickerInput(container, config) { var _this = _super.call(this, null, config) || this; _this.events = new events_1.EventSystem(); - _this._popup = new ts_popup_1.Popup({ css: "dhx_widget--border-shadow" }); - _this.colorpicker = new ts_colorpicker_1.Colorpicker(null, config); - _this._popup.attach(_this.colorpicker); + _this._initView(config); var render = function () { return _this._draw(); }; _this.mount(container, dom_1.create({ render: render })); - _this.colorpicker.events.on(ts_colorpicker_1.ColorpickerEvents.colorChange, function () { - _this.config.value = _this.colorpicker.getValue(); - _this._popup.hide(); - _this.validate(); - }); - _this.events.on(ColorpickerInputEvents.change, function (value) { - var validValue = _this._inputValidate(value); - _this.setValue(validValue); - _this.validate(); - }); return _this; } + ColorpickerInput.prototype.disable = function () { + this.config.disabled = true; + this.paint(); + }; + ColorpickerInput.prototype.enable = function () { + this.config.disabled = false; + this.paint(); + }; + ColorpickerInput.prototype.isDisabled = function () { + return this.config.disabled; + }; ColorpickerInput.prototype.validate = function () { - var isValid = !this.config.required || Boolean(this.config.value); + var _a = this.config, required = _a.required, value = _a.value, validation = _a.validation; + var isValid = true; + isValid = validation + ? this.config.validation(value) + : !required || Boolean(value); this.config.$validationStatus = isValid ? types_1.ValidationStatus.success : types_1.ValidationStatus.error; @@ -20945,6 +23232,62 @@ var ColorpickerInput = /** @class */ (function (_super) { this.config.value = ""; this.paint(); }; + ColorpickerInput.prototype.getWidget = function () { + return this.colorpicker; + }; + // TODO: remove sute_7.0 + ColorpickerInput.prototype.setConfig = function (config) { + this._initView(config); + }; + ColorpickerInput.prototype._initView = function (config) { + var _this = this; + if (helper_1.isEmptyObj(config)) { + return; + } + if (this.colorpicker) { + this.colorpicker.destructor(); + } + if (this._popup) { + this._popup.destructor(); + } + this.config = { + type: this.config.type, + id: this.config.id, + name: this.config.name, + disabled: false, + editable: false, + value: "" + }; + for (var key in config) { + if (key !== "id" && key !== "type" && key !== "name") { + this.config[key] = config[key]; + } + } + this.config.editable = this.config.editable || this.config.editing; // TODO: remove sute_7.0 + this._popup = new ts_popup_1.Popup({ css: "dhx_widget--border-shadow" }); + this.colorpicker = new ts_colorpicker_1.Colorpicker(null, config); + this._popup.attach(this.colorpicker); + if (this.config.value) { + this.colorpicker.setValue(this.config.value); + this.config.value = this.colorpicker.getValue(); + } + this.colorpicker.events.on(ts_colorpicker_1.ColorpickerEvents.change, function () { + _this.config.value = _this.colorpicker.getValue(); + _this._popup.hide(); + _this.validate(); + }); + this.events.on(types_1.BaseElementEvent.change, function (value) { + var validValue = _this._inputValidate(value); + if (_this._inputValidate(value)) { + _this.setValue(validValue); + } + else { + _this.validate(); + } + }); + this.events.fire(types_1.BaseElementEvent.configUpdate, [this.config]); + this.clearValidate(); + }; ColorpickerInput.prototype._getHandlers = function () { var _this = this; return { @@ -20957,7 +23300,7 @@ var ColorpickerInput = /** @class */ (function (_super) { }, onchange: function (e) { var value = e.target.value; - _this.events.fire(ColorpickerInputEvents.change, [value]); + _this.events.fire(types_1.BaseElementEvent.change, [value]); }, onkeyup: function (e) { if (e.keyCode === 13) { @@ -20974,13 +23317,13 @@ var ColorpickerInput = /** @class */ (function (_super) { return ts_colorpicker_1.isHex(value) ? value : ""; }; ColorpickerInput.prototype._draw = function () { - var _a = this.config, required = _a.required, value = _a.value, icon = _a.icon, disabled = _a.disabled, placeholder = _a.placeholder, name = _a.name, id = _a.id, _b = _a.editing, editing = _b === void 0 ? false : _b; + var _a = this.config, required = _a.required, value = _a.value, icon = _a.icon, disabled = _a.disabled, placeholder = _a.placeholder, name = _a.name, id = _a.id, editable = _a.editable; return dom_1.el("div.dhx_form-group", { class: helper_1.getFormItemCss(this.config, Boolean(required) || Boolean(this.config.validation)), }, [ this._drawLabel(), - dom_1.el(".dhx_input-wrapper", [ - dom_1.el("div.dhx_input-container", {}, [ + dom_1.el(".dhx_input__wrapper", [ + dom_1.el("div.dhx_input__container", {}, [ dom_1.el(".dhx_input__icon", { class: icon || "dxi dxi-eyedropper-variant" + (value ? " dhx_input__icon--color-selected" : ""), @@ -21000,10 +23343,10 @@ var ColorpickerInput = /** @class */ (function (_super) { onchange: this._handlers.onchange, onkeyup: this._handlers.onkeyup, autocomplete: "off", - readOnly: !editing + readOnly: !editable }), ]), - helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input-caption", {}, helper_1.getValidationMessage(this.config)) + helper_1.getValidationMessage(this.config) && dom_1.el("span.dhx_input__caption", {}, helper_1.getValidationMessage(this.config)) ]), ]); }; @@ -21013,7 +23356,7 @@ exports.ColorpickerInput = ColorpickerInput; /***/ }), -/* 179 */ +/* 184 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21022,15 +23365,15 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(180)); -__export(__webpack_require__(11)); -__export(__webpack_require__(52)); -__export(__webpack_require__(51)); +__export(__webpack_require__(185)); +__export(__webpack_require__(10)); +__export(__webpack_require__(54)); +__export(__webpack_require__(53)); __export(__webpack_require__(20)); /***/ }), -/* 180 */ +/* 185 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21061,18 +23404,21 @@ var __assign = (this && this.__assign) || function () { }; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); -var html_1 = __webpack_require__(3); +var events_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var view_1 = __webpack_require__(4); var ts_data_1 = __webpack_require__(7); -var Exporter_1 = __webpack_require__(181); -var data_1 = __webpack_require__(51); +var Exporter_1 = __webpack_require__(186); +var data_1 = __webpack_require__(53); var main_1 = __webpack_require__(20); -var Selection_1 = __webpack_require__(182); -var types_1 = __webpack_require__(11); -var render_1 = __webpack_require__(183); +var Selection_1 = __webpack_require__(187); +var Hotkey_1 = __webpack_require__(188); +var types_1 = __webpack_require__(10); +var render_1 = __webpack_require__(189); var core_1 = __webpack_require__(1); -var content_1 = __webpack_require__(76); +var ts_calendar_1 = __webpack_require__(25); +var content_1 = __webpack_require__(78); +var columnsResizer_1 = __webpack_require__(197); var Grid = /** @class */ (function (_super) { __extends(Grid, _super); function Grid(container, config) { @@ -21081,31 +23427,55 @@ var Grid = /** @class */ (function (_super) { rowHeight: 40, headerRowHeight: 40, footerRowHeight: 40, - headerSort: true, + keyNavigation: true, + sortable: true, columns: [], - data: [] + data: [], + // TODO: remove suite_7.0 + headerSort: true }, config); _this.content = content_1.content; _this._scroll = { top: 0, left: 0 }; + // TODO: remove suite_7.0 + _this.config.autoWidth = _this.config.autoWidth || _this.config.fitToContainer; + _this.config.adjust = _this.config.adjust || _this.config.columnsAutoWidth; + _this.config.editable = _this.config.editable || _this.config.editing; + if (!_this.config.sortable || !_this.config.headerSort) { + _this.config.sortable = false; + } var htmlEvents = { onclick: html_1.eventHandler(function (ev) { return html_1.locate(ev); }, { "dhx_grid-header-cell": function (_ev, item) { - if (_this.config.headerSort) { + var isResizable = _ev.target.getAttribute("dhx_resized"); + var column = _this._getColumn(item); + if (column && main_1.isSortable(_this.config, column) && !isResizable) { _this.events.fire(types_1.GridEvents.sort, [item]); } }, - "dhx_grid-expand-cell": function (_ev, item) { return _this.events.fire(types_1.GridEvents.expand, [item]); } + "dhx_grid-expand-cell": function (_ev, item) { + if (_ev.target.classList.contains("dhx_grid-expand-cell-icon")) { + _this.events.fire(types_1.GridEvents.expand, [item]); + } + } }), onscroll: function (e) { + // [TODO] Hide loading data to render + _this._lazyLoad(e); _this.events.fire(types_1.GridEvents.scroll, [{ y: e.target.scrollTop, x: e.target.scrollLeft }]); } }; + if (_this.config.dragMode) { + ts_data_1.dragManager.setItem(_this._uid, _this); + if (!_this.config.dragItem) { + _this.config.dragItem = "row"; + } + } _this._init(); if (_this.config.columns) { _this._parseColumns(); @@ -21118,10 +23488,13 @@ var Grid = /** @class */ (function (_super) { } var view = dom_1.create({ render: function (vm, obj) { - return render_1.render(vm, obj, _this._currentData, htmlEvents, _this.selection); + return render_1.render(vm, obj, _this._currentData, htmlEvents, _this.selection, _this._uid); } }, _this); _this.mount(container, view); + dom_1.awaitRedraw().then(function () { + Hotkey_1.initHotkeys(_this); + }); if (config.autoEmptyRow && _this.data.getLength() === 0) { _this.data.add(_this.config.columns.reduce(function (total, col) { total[col.id] = ""; @@ -21133,6 +23506,10 @@ var Grid = /** @class */ (function (_super) { } Grid.prototype.destructor = function () { this.unmount(); + if (this.selection) { + this.selection.destructor(); + } + this._destroyContent(); this.events.events = {}; this.events.context = null; this._currentData = this.data = this.config = @@ -21147,8 +23524,7 @@ var Grid = /** @class */ (function (_super) { var styles = item.$css || ""; if (!styles.match(new RegExp(css, "g"))) { item.$css = styles + (" " + css); - // [todo] - var index = core_1.findIndex(this._currentData, function (row) { return row.id === item.id; }); + var index = this._getRowIndex(id); if (index >= 0) { this._currentData[index].$css = item.$css; } @@ -21184,6 +23560,28 @@ var Grid = /** @class */ (function (_super) { } } }; + Grid.prototype.showColumn = function (colId) { + var column = this._getColumn(colId); + if (column && column.hidden) { + column.hidden = false; + this.config.$totalWidth += column.width; + this.paint(); + } + }; + Grid.prototype.hideColumn = function (colId) { + var column = this._getColumn(colId); + if (column && !column.hidden) { + column.hidden = true; + this.config.$totalWidth -= column.width; + this.paint(); + } + }; + Grid.prototype.isColumnHidden = function (colId) { + var column = this._getColumn(colId); + if (column) { + return !!column.hidden; + } + }; Grid.prototype.getScrollState = function () { return { x: this._scroll.left, @@ -21207,26 +23605,39 @@ var Grid = /** @class */ (function (_super) { var gridBottom = this.config.height + scrollState.y - (this.config.headerRowHeight * this.config.$headerLevel); var cellTop = y - scrollState.y - this.config.rowHeight; var cellLeft = x - scrollState.x - this.config.columns[colInd].width; - var cellBottom = y + (this.config.rowHeight * 2) + 17 - gridBottom; - var cellRight = x + (this.config.columns[colInd].width * 2) + 17 - gridRight; + var cellBottom = y + (this.config.rowHeight * 2) + 18 - gridBottom; + var cellRight = x + (this.config.columns[colInd].width * 2) + 18 - gridRight; var scrollTop = (cellTop > 0 && cellBottom < 0) ? 0 : cellTop < 0 ? cellTop : cellBottom; var scrollLeft = (cellLeft > 0 && cellRight < 0) ? 0 : cellLeft < 0 ? cellLeft : cellRight; this.scroll(scrollLeft + scrollState.x, scrollTop + scrollState.y); }; - Grid.prototype.adjustColumnWidth = function (id) { - var index = core_1.findIndex(this.config.columns, function (с) { return с.id === id; }); + Grid.prototype.adjustColumnWidth = function (id, adjust) { + var _this = this; + if (adjust === void 0) { adjust = true; } + var index = core_1.findIndex(this.config.columns, function (c) { return c.id === id; }); var col = this.config.columns[index]; - this.data.map(function (row) { - if (typeof row[col.id] === "string" || typeof row[col.id] === "number") { - col.maxWidth = col.maxWidth || col.width; - col.maxWidth = Math.max(main_1.getStrWidth(main_1.removeHTMLTags(row[col.id])) + 20, col.maxWidth); - } - }); - this.config.$totalWidth = this.config.columns.reduce(function (t, column) { - column.width = column.maxWidth || column.width; - return t += column.width; - }, 0); - this.paint(); + var widthArr = []; + if (adjust === "header" || adjust === true) { + col.header.forEach(function (item) { + widthArr.push(main_1.getStrWidth(main_1.removeHTMLTags(item.text)) + (main_1.isSortable(_this.config, col) ? 40 : 20)); + }); + } + if (adjust === "data" || adjust === true) { + this.data.map(function (row) { + if (typeof row[col.id] === "string" || typeof row[col.id] === "number") { + widthArr.push(main_1.getStrWidth(main_1.removeHTMLTags(row[col.id])) + 20); + } + }); + } + if (widthArr.length > 0) { + this.config.$totalWidth = this.config.columns.reduce(function (t, column, i) { + if (i === index) { + column.width = Math.max.apply(Math, widthArr); + } + return t += column.hidden ? 0 : column.width; + }, 0); + this.paint(); + } }; Grid.prototype.getCellRect = function (row, col) { var colInd = core_1.findIndex(this.config.columns, function (obj) { return obj.id === col; }); @@ -21268,11 +23679,12 @@ var Grid = /** @class */ (function (_super) { this.config.spans.splice(index, 1); } }; - Grid.prototype.edit = function (rowId, colId, editorType) { + Grid.prototype.editCell = function (rowId, colId, editorType) { if (editorType === void 0) { editorType = types_1.EditorType.input; } var row = this.data.getItem(rowId); var col = this.getColumn(colId); if (!row || row[colId] === undefined) { + ts_data_1.dhxWarning("item not found"); return; } if (!this.events.fire(types_1.GridEvents.beforeEditStart, [row, col, editorType])) { @@ -21281,14 +23693,36 @@ var Grid = /** @class */ (function (_super) { if (col.type === "date") { editorType = types_1.EditorType.datepicker; } + if (col.type === "boolean") { + editorType = types_1.EditorType.checkbox; + } + if (this.config.$editable && this.config.$editable.row === rowId && this.config.$editable.col === colId && this.config.$editable.editorType === editorType) { + return; + } this.config.$editable = { row: rowId, col: colId, editorType: editorType }; + if (this.selection) { + this.selection.setCell(rowId.toString(), colId.toString()); + } this.paint(); this.events.fire(types_1.GridEvents.afterEditStart, [row, col, editorType]); }; + Grid.prototype.editEnd = function (withoutSave) { + if (this.config.$editable && this.config.$editable.editor) { + this.config.$editable.editor.endEdit(withoutSave); + } + }; + Grid.prototype.getSortingState = function () { + return { dir: this._sortDir, by: this._sortBy }; + }; + // TODO: remove suite_7.0 + Grid.prototype.edit = function (rowId, colId, editorType) { + if (editorType === void 0) { editorType = types_1.EditorType.input; } + this.editCell(rowId, colId, editorType); + }; Grid.prototype._parseColumns = function () { var columns = this.config.columns; data_1.normalizeColumns(columns); @@ -21310,43 +23744,40 @@ var Grid = /** @class */ (function (_super) { this._detectColsTypes(); }; Grid.prototype._createCollection = function (prep) { - this.data = new ts_data_1.DataCollection({ - prep: prep - }, this.events); + this.data = new ts_data_1.DataCollection({ prep: prep }, this.events); }; Grid.prototype._getRowIndex = function (rowId) { return this.data.getIndex(rowId); }; Grid.prototype._setEventHandlers = function () { var _this = this; + var updater = function (updateObj) { return function (id, ids) { + if (ids && ids instanceof Array) { + ids.map(function (selectedId) { return _this.data.exists(selectedId) && _this.data.update(selectedId, updateObj); }); + return; + } + if (_this.data.exists(id)) { + _this.data.update(id, updateObj); + } + }; }; this.data.events.on(ts_data_1.DataEvents.load, function () { _this._parseData(); - // [todo] need to check autoWidth after data load - _this.data.events.fire(ts_data_1.DataEvents.change); }); this.data.events.on(ts_data_1.DataEvents.change, function (_id, status, obj) { // [dirty] - if (status === "remove" && obj.$empty) { + if (status === "remove" && obj.$emptyRow) { return; } _this._currentData = _this.data.map(function (el) { return el; }) || []; _this._detectColsTypes(); _this._checkMarks(); - // set auto width to all columns - if (_this.config.columnsAutoWidth) { - if (typeof _this.config.columnsAutoWidth === "number") { - _this._setAutoWidth(_this.config.columnsAutoWidth); - } - else { - _this._setAutoWidth(); - } - } + _this._adjustColumns(); if (_this.config.autoEmptyRow) { - var emptyRow = _this.data.find({ by: "$empty", match: true }); - if (emptyRow && !(status === "add" && obj.$empty)) { - _this.data.remove(emptyRow.id); + var emptyRow = _this.data.find({ by: "$emptyRow", match: true }); + if (emptyRow) { + _this.data.move(emptyRow.id, _this.data.getLength() - 1); } - if (!(status === "add" && obj.$empty)) { + else { _this._addEmptyRow(); } } @@ -21355,21 +23786,33 @@ var Grid = /** @class */ (function (_super) { this.data.events.on(ts_data_1.DataEvents.removeAll, function () { _this.config.columns.map(function (col) { col.header.map(function (cell) { - if (cell.content && cell.content === "selectFilter") { + if (cell.content && (cell.content === "selectFilter" || cell.content === "comboFilter")) { col.$uniqueData = []; } }); }); }); + this.events.on(ts_data_1.DragEvents.canDrop, updater({ $drophere: true })); + this.events.on(ts_data_1.DragEvents.cancelDrop, updater({ $drophere: undefined })); + this.events.on(ts_data_1.DragEvents.dragStart, updater({ $dragtarget: true })); + this.events.on(ts_data_1.DragEvents.dragEnd, updater({ $dragtarget: undefined })); this.events.on(types_1.GridEvents.sort, function (id) { if (id) { _this._sort(id); } }); + this.events.on(types_1.GridEvents.cellMouseDown, function (row, col, e) { + if (_this.config.dragMode && _this.config.dragItem === "row" && !_this.config.$editable) { + var item = html_1.locateNode(e, "dhx_id"); + var itemId = item && item.getAttribute("dhx_id"); + return ts_data_1.dragManager.onMouseDown(e, [itemId], [item]); + } + }); + // TODO: remove suite_7.0 this.events.on(types_1.GridEvents.headerInput, function (val, colId, filter) { // [dirty] if (_this.config.autoEmptyRow) { - var emptyRow = _this.data.find({ by: "$empty", match: true }); + var emptyRow = _this.data.find({ by: "$emptyRow", match: true }); if (emptyRow) { _this.data.remove(emptyRow.id); } @@ -21382,27 +23825,62 @@ var Grid = /** @class */ (function (_super) { multiple: true }); }); + this.events.on(types_1.GridEvents.filterChange, function (val, colId, filter) { + if (_this.config.autoEmptyRow) { + var emptyRow = _this.data.find({ by: "$emptyRow", match: true }); + if (emptyRow) { + _this.data.remove(emptyRow.id); + } + } + _this.data.filter({ + by: colId, + match: val, + compare: _this.content[filter].match + }, { multiple: true }); + }); this.events.on(types_1.GridEvents.scroll, function (scrollState) { _this._scroll = { top: scrollState.y, left: scrollState.x }; _this.paint(); }); this.events.on(types_1.GridEvents.cellDblClick, function (row, col) { - if (col.editing !== false && _this.config.editing || col.editing) { - _this.edit(row.id, col.id, col.editorType); + if (col.editable !== false && _this.config.editable || col.editable) { + _this.editCell(row.id, col.id, col.editorType); } }); - this.events.on(types_1.GridEvents.afterEditEnd, function (value) { + this.events.on(types_1.GridEvents.afterEditEnd, function (value, eRow, eCol) { var _a; - var item = _this.data.getItem(_this.config.$editable.row); - // if item was an empty row - delete item.$empty; - if (value !== undefined && value !== null && value !== "") { - _this.data.update(_this.config.$editable.row, __assign({}, item, (_a = {}, _a[_this.config.$editable.col] = value, _a))); + var row; + var col; + if (!_this.config.$editable) { + row = eRow.id; + col = eCol.id; + } + else { + row = _this.config.$editable.row; + col = _this.config.$editable.col; + } + var item = _this.data.getItem(row); + delete item.$emptyRow; + if (value !== undefined) { + _this.data.update(row, __assign(__assign({}, item), (_a = {}, _a[col] = value, _a))); } _this.config.$editable = null; _this._checkFilters(); _this.paint(); }); + this.events.on(types_1.GridEvents.headerCellMouseDown, function (col, e) { + var resizedColumn = e.target.getAttribute("dhx_resized"); + if (resizedColumn && _this.events.fire(types_1.GridEvents.beforeResizeStart, [col, e])) { + columnsResizer_1.startResize(_this, resizedColumn.toString(), e, function () { + _this.paint(); + _this.config.$resizing = null; + _this.events.fire(types_1.GridEvents.afterResizeEnd, [col, e]); + }); + } + else { + return; + } + }); }; Grid.prototype._addEmptyRow = function () { var id = this.data.getId(this.data.getLength() - 1); @@ -21412,7 +23890,7 @@ var Grid = /** @class */ (function (_super) { this.data.add(this.config.columns.reduce(function (total, col) { total[col.id] = ""; return total; - }, { $empty: true })); + }, { $emptyRow: true })); } }; Grid.prototype._sort = function (by, dir) { @@ -21433,8 +23911,9 @@ var Grid = /** @class */ (function (_super) { by: by, dir: this._sortDir, as: function (el) { - if (el && _this.getColumn(by).type === "date") { - return "" + new Date(el).getTime(); + var col = _this.getColumn(by); + if (el && col.type === "date") { + return "" + ts_calendar_1.stringToDate(el, col.dateFormat).getTime(); } return el ? "" + el : ""; } @@ -21517,29 +23996,13 @@ var Grid = /** @class */ (function (_super) { } }); }; - // [todo] use adjustColumnWidth - Grid.prototype._setAutoWidth = function (colsCount) { + Grid.prototype._adjustColumns = function () { var _this = this; - this.data.map(function (row) { - _this.config.columns.map(function (col, i) { - if (colsCount && colsCount <= i) { - return col; - } - if (typeof row[col.id] === "string" || typeof row[col.id] === "number") { - col.maxWidth = col.maxWidth || col.width; - var paddings = 20; - // [todo] move to treegrid - if (_this.config.type === "tree" && i === 0) { - paddings = _this.data.getMaxLevel() * 24 + 20; - } - col.maxWidth = Math.max(main_1.getStrWidth(main_1.removeHTMLTags(row[col.id])) + paddings, col.maxWidth); - } - }); + this.config.columns.map(function (col, i) { + if (col.adjust !== false && _this.config.adjust || col.adjust) { + _this.adjustColumnWidth(col.id, col.adjust || _this.config.adjust); + } }); - this.config.$totalWidth = this.config.columns.reduce(function (t, col) { - col.width = col.maxWidth || col.width; - return t += col.width; - }, 0); }; // [todo] make more smart type detection Grid.prototype._detectColsTypes = function () { @@ -21554,15 +24017,17 @@ var Grid = /** @class */ (function (_super) { var firstCell = firstRow ? firstRow[col.id] : ""; var v = parseFloat(firstCell); var val = isNaN(v) ? firstCell : v; - col.type = typeof val; - return col; + if (val) { + col.type = typeof val; + return col; + } }); }; Grid.prototype._checkFilters = function () { var data = this._currentData; this.config.columns.map(function (col) { col.header.map(function (cell) { - if (cell.content && cell.content === "selectFilter") { + if (cell.content && (cell.content === "selectFilter" || cell.content === "comboFilter")) { var unique = data_1.getUnique(data, col.id); if (col.$uniqueData && col.$uniqueData.length > unique.length) { unique.forEach(function (item) { @@ -21578,22 +24043,67 @@ var Grid = /** @class */ (function (_super) { }); }); }; + Grid.prototype._destroyContent = function () { + for (var contentName in this.content) { + if (contentName === "comboFilter") { + this.content[contentName].destroy(); + } + } + }; Grid.prototype._render = function () { this.paint(); }; + Grid.prototype._lazyLoad = function (e) { + var y = e.target.scrollTop; + if (this.getScrollState().y !== y) { + var from = Math.round(y / this.config.rowHeight); + var onScreenCount = (this.config.height - this.config.headerRowHeight) / this.config.rowHeight; + var proxy = this.data.dataProxy; + if (proxy && proxy.config && !this.data.isDataLoaded(from, onScreenCount + from + proxy.config.prepare)) { + proxy.updateUrl(null, { from: from, limit: proxy.config.limit }); + this.data.load(proxy); + } + } + }; return Grid; }(view_1.View)); exports.Grid = Grid; /***/ }), -/* 181 */ +/* 186 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; Object.defineProperty(exports, "__esModule", { value: true }); var main_1 = __webpack_require__(20); +var ts_data_1 = __webpack_require__(7); +var core_1 = __webpack_require__(1); +function fillArray(arr, value) { + for (var i = 0; i < arr.length; i++) { + arr[i] = value; + } + return arr; +} var Exporter = /** @class */ (function () { function Exporter(_view) { this._view = _view; @@ -21601,6 +24111,22 @@ var Exporter = /** @class */ (function () { Exporter.prototype.xlsx = function (config) { return this._export(config); }; + Exporter.prototype.csv = function (config) { + if (config === void 0) { config = {}; } + config = __assign({ asFile: true, rowDelimiter: "\n", columnDelimiter: ",", skipHeader: 0 }, config); + var csv; + if ("getRoot" in this._view.data && config.flat) { + csv = this.getFlatCSV(config); + } + else { + csv = this._getCSV(config); + } + var name = config.name || "grid_export"; + if (config.asFile) { + core_1.downloadFile(csv, name + ".csv", "text/csv"); + } + return csv; + }; Exporter.prototype._export = function (config) { if (config === void 0) { config = {}; } var configCols = this._view.config.columns; @@ -21634,7 +24160,6 @@ var Exporter = /** @class */ (function () { var colStyleHash = colStyle .split("") .reduce(function (h, letter) { - // tslint:disable-next-line:no-bitwise var hh = ((h << 5) - h) + letter.charCodeAt(0); return Math.abs(hh & hh); }, 0).toString(); @@ -21646,7 +24171,7 @@ var Exporter = /** @class */ (function () { } } if (uniqStyles[colStyleHash]) { - cells.push([rowsIndexMap[key], col.id, colStyleHash]); + cells.push([rowsIndexMap[key], configCols.indexOf(col), colStyleHash]); } } } @@ -21678,54 +24203,249 @@ var Exporter = /** @class */ (function () { } return exportData; }; + Exporter.prototype.getFlatCSV = function (config) { + var treeData = this._view.data; + var root = treeData.getRoot(); + var firstCol = this._view.config.columns[0]; + var maxLevel = treeData.getMaxLevel(); + var getParentsChain = function (item, data) { + var parents = []; + for (var i = 0; i <= maxLevel; i++) { + if (item && item[firstCol.id]) { + parents[item.$level] = item[firstCol.id]; + var parent_1 = data.getParent(item.id, true); + if (parent_1 && parent_1.id) { + item = parent_1; + } + else { + item = null; + } + } + else { + parents[i] = ""; + } + } + return parents; + }; + var total = ""; + treeData.eachChild(root, function (item) { + var parents = getParentsChain(item, treeData).join(config.columnDelimiter); + total += parents + Object.keys(item).reduce(function (values, key, i) { + if (key !== "id" && key !== "parent" && key[0] !== "$" && i !== 0) { + return values + config.columnDelimiter + (item[key] === null ? "" : item[key]); + } + return values; + }, ""); + total += config.rowDelimiter; + }); + var exportData = this._export(config); + // [dirty] + var emptyHeaders = fillArray(new Array(maxLevel + 1), ""); + var headers = exportData.header.map(function (header) { + header.splice.apply(header, __spreadArrays([0, 1], emptyHeaders)); + return header; + }); + var head = new ts_data_1.CsvDriver(config).serialize(headers, true) + config.rowDelimiter; + return head + total; + }; + Exporter.prototype._getCSV = function (config) { + var exportData = this._export(config); + var headers = exportData.header; + var driver = new ts_data_1.CsvDriver(config); + var head = driver.serialize(headers, true); + var readyData = driver.serialize(exportData.data, true); + return head + readyData; + }; return Exporter; }()); exports.Exporter = Exporter; /***/ }), -/* 182 */ +/* 187 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var types_1 = __webpack_require__(11); +var core_1 = __webpack_require__(1); +var types_1 = __webpack_require__(10); var ts_data_1 = __webpack_require__(7); var Selection = /** @class */ (function () { function Selection(grid) { this._grid = grid; var types = ["cell", "row", "complex"]; + this._selectedCell = undefined; + this._oldSelectedCell = undefined; + this._selectedCells = []; this._type = types.indexOf(this._grid.config.selection) !== -1 ? this._grid.config.selection : "complex"; + this._multiselection = grid.config.multiselection && this._type !== "complex"; this._init(); } - Selection.prototype.setCell = function (row, col) { - row = row.id ? row : this._grid.data.getItem(row); - if (!col) { - col = this._grid.config.columns[0]; + Selection.prototype.destructor = function () { + document.removeEventListener("click", this._outerClick); + }; + Selection.prototype.setCell = function (row, col, ctrlUp, shiftUp) { + var _this = this; + if (ctrlUp === void 0) { ctrlUp = false; } + if (shiftUp === void 0) { shiftUp = false; } + if (!this._grid.config.$editable) { + if (!row) { + this._selectedCell = undefined; + this._selectedCells = []; + } + else { + var oldSelectedCell = this._oldSelectedCell ? this._oldSelectedCell : undefined; + row = row.id ? row : this._grid.data.getItem(row); + if (!col) { + col = this._grid.config.columns[0]; + } + col = col.id ? col : this._grid.getColumn(col); + this._selectedCell = { row: row, column: col }; + if (this._multiselection && shiftUp && oldSelectedCell) { + this._oldSelectedCell = oldSelectedCell; + } + else { + this._oldSelectedCell = this._selectedCell; + } + if (this._multiselection) { + if (shiftUp && !ctrlUp && this._selectedCells.length > 0) { + var startRowIndex = this._grid.data.getIndex(this._oldSelectedCell.row.id); + var endRowIndex = this._grid.data.getIndex(row.id); + if (startRowIndex > endRowIndex) { + var temp = startRowIndex; + startRowIndex = endRowIndex; + endRowIndex = temp; + } + this._selectedCells = [this._oldSelectedCell]; + if (this._type === "cell") { + var columnsIds = this._grid.config.columns.map(function (e) { return e.id; }); + var startColIndex = columnsIds.indexOf(oldSelectedCell.column.id); + var endColIndex = columnsIds.indexOf(col.id); + if (startColIndex !== -1 && endColIndex !== -1) { + if (startColIndex > endColIndex) { + var temp = startColIndex; + startColIndex = endColIndex; + endColIndex = temp; + } + var columns_1 = this._grid.config.columns.slice(startColIndex, endColIndex + 1); + this._grid.data.mapRange(startRowIndex, endRowIndex, function (item) { + columns_1.forEach(function (column) { + var cell = { row: item, column: column }; + if (_this._findIndex(cell) === -1) { + _this._selectedCells.push(cell); + } + }); + }); + } + } + else { + this._grid.data.mapRange(startRowIndex, endRowIndex, function (item) { + var cell = { row: item, column: col }; + if (_this._findIndex(cell) === -1) { + _this._selectedCells.push({ row: item, column: col }); + } + }); + } + } + else if (ctrlUp && !shiftUp) { + var cellIndex = this._findIndex(); + if (cellIndex === -1) { + this._selectedCells.push(this._selectedCell); + } + else { + this._selectedCells.splice(cellIndex, 1); + } + } + else { + this._selectedCells = [this._selectedCell]; + } + } + else { + this._selectedCells = [this._selectedCell]; + } + } + dom_1.awaitRedraw().then(function () { + _this._grid.paint(); + }); } - col = col.id ? col : this._grid.getColumn(col); - this._selectedCell = { row: row, column: col }; - this._grid.paint(); }; Selection.prototype.getCell = function () { return this._selectedCell; }; + Selection.prototype.getCells = function () { + if (this._multiselection) { + return this._selectedCells; + } + }; Selection.prototype.toHTML = function () { - if (!this._selectedCell.row || !this._selectedCell.column) { + var _this = this; + if (this._isUnselected()) { return; } - var fixedCols = this._grid.config.splitAt ? - this._grid.config.columns.slice(0, this._grid.config.splitAt) : []; + if (this._multiselection) { + var selection_1 = []; + this._selectedCells.forEach(function (cell, index, array) { + selection_1.push(_this._toHTML(cell.row, cell.column, (index === array.length - 1) || _this._type === "cell")); + }); + return selection_1; + } + else { + return this._toHTML(this._selectedCell.row, this._selectedCell.column, true); + } + }; + Selection.prototype._init = function () { + var _this = this; + this._grid.events.on(types_1.GridEvents.cellClick, function (row, col, e) { + _this.setCell(row, col, e.ctrlKey || e.metaKey, e.shiftKey); + }); + this._grid.data.events.on(ts_data_1.DataEvents.beforeRemove, function (item) { + if (item && _this._selectedCell && _this._selectedCell.row) { + var index = _this._grid.data.getIndex(String(_this._selectedCell.row.id)); + var id = _this._grid.data.getId(index + 1); + if (id) { + _this.setCell(id); + } + else { + var newId = _this._grid.data.getId(index - 1); + if (newId) { + _this.setCell(newId); + } + } + _this._grid.paint(); + } + }); + this._outerClick = function (e) { + if (!_this._grid.config.$editable) { + var rootNode = _this._grid.getRootView().data.getRootNode(); + var target = e.target; + var check = false; + while (target) { + if (target === rootNode) { + check = true; + return; + } + target = target.parentNode; + } + if (!check && _this._selectedCell && _this._selectedCells) { + _this.setCell(); + } + } + }; + document.addEventListener("click", this._outerClick); + }; + Selection.prototype._toHTML = function (row, column, last) { + if (last === void 0) { last = false; } + var fixedCols = this._grid.config.splitAt ? this._grid.config.columns.slice(0, this._grid.config.splitAt) : []; var fixedColsIds = fixedCols.map(function (col) { return col.id; }); var fixedCell; - var cellRect = this._grid.getCellRect(this._selectedCell.row.id, this._selectedCell.column.id); - if (fixedColsIds.indexOf(this._selectedCell.column.id) !== -1) { + var cellRect = this._grid.getCellRect(row.id, column.id); + if (fixedColsIds.indexOf(column.id) !== -1 && last) { var scrollState = this._grid.getScrollState(); fixedCell = dom_1.el(".dhx_grid-selected-cell", { style: { - width: cellRect.width, + width: (this._grid.config.splitAt === fixedColsIds.indexOf(column.id) + 1) ? cellRect.width - 1 : cellRect.width, height: cellRect.height, top: cellRect.y, left: cellRect.x + scrollState.x, @@ -21735,51 +24455,50 @@ var Selection = /** @class */ (function () { }); } var totalWidth = this._grid.config.$totalWidth; - return dom_1.el(".dhx_grid-selection", {}, [ - (this._type === "row" || this._type === "complex") && dom_1.el(".dhx_grid-selected-row", { - style: { - width: totalWidth, - height: cellRect.height, - top: cellRect.y, - left: 0, - position: "absolute" - } - }), - (this._type === "cell" || this._type === "complex") && dom_1.el(".dhx_grid-selected-cell", { + return dom_1.el(".dhx_grid-selection", {}, [ + (this._type === "row" || this._type === "complex") && dom_1.el(".dhx_grid-selected-row", { style: { - width: cellRect.width, - height: cellRect.height, + width: totalWidth, + height: cellRect.height - 1, top: cellRect.y, - left: cellRect.x, + left: 0, position: "absolute" } }), - (this._type === "cell" || this._type === "complex") && fixedCell + ((this._type === "cell" || this._type === "complex") && fixedCell) || + ((this._type === "cell" || this._type === "complex") && last && dom_1.el(".dhx_grid-selected-cell", { + style: { + width: cellRect.width - 1, + height: cellRect.height - 1, + top: cellRect.y, + left: cellRect.x + 1, + position: "absolute" + } + })) ]); }; - Selection.prototype._init = function () { + Selection.prototype._isUnselected = function () { + return !this._selectedCell || !this._selectedCell.row || !this._selectedCell.column || this._selectedCells.length === 0; + }; + Selection.prototype._findIndex = function (cell) { var _this = this; - this._selectedCell = { - row: this._grid.data.getItem(this._grid.data.getId(0)), - column: this._grid.config.columns[0] - }; - this._grid.events.on(types_1.GridEvents.cellClick, function (row, col) { - _this.setCell(row, col); - }); - this._grid.data.events.on(ts_data_1.DataEvents.beforeRemove, function (item) { - if (item) { - var index = _this._grid.data.getIndex(String(_this._selectedCell.row.id)); - var id = _this._grid.data.getId(index + 1); - if (id) { - _this.setCell(id); + if (cell === void 0) { cell = this._selectedCell; } + var cellIndex = -1; + this._selectedCells.some(function (element, index) { + if (_this._type === "cell") { + if (core_1.compare(element.row, cell.row) && core_1.compare(element.column, cell.column)) { + cellIndex = index; + return true; } - else { - var newId = _this._grid.data.getId(index - 1); - _this.setCell(newId); + } + else if (_this._type === "row") { + if (core_1.compare(element.row, cell.row)) { + cellIndex = index; + return true; } - _this._grid.paint(); } }); + return cellIndex; }; return Selection; }()); @@ -21787,7 +24506,278 @@ exports.Selection = Selection; /***/ }), -/* 183 */ +/* 188 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var _this = this; +Object.defineProperty(exports, "__esModule", { value: true }); +var Keymanager_1 = __webpack_require__(13); +var types_1 = __webpack_require__(10); +var html_1 = __webpack_require__(2); +var focusHandler = { + focusedID: undefined, + isFocus: function (id) { return _this.focusedID === id; }, + getFocusState: function () { return _this.focusedID; }, + setFocusState: function (state) { return _this.focusedID = state; } +}; +function initHotkeys(grid) { + var gridContainer = grid.getRootView().data.getRootNode(); + var gridBody = grid.getRootView().refs.grid_body.el; + var gridId = gridContainer.getAttribute("dhx_widget_id"); + focusHandler.setFocusState(gridId); + if (!grid.config.keyNavigation) { + return; + } + var variables = { + arrowLeft: html_1.isIE() ? "left" : "arrowLeft", + arrowRight: html_1.isIE() ? "right" : "arrowRight", + arrowUp: html_1.isIE() ? "up" : "arrowUp", + arrowDown: html_1.isIE() ? "down" : "arrowDown", + escape: html_1.isIE() ? "esc" : "escape", + space: html_1.isIE() ? "spacebar" : "space" + }; + var focusableKeyManager = { + addHotKey: function (key, handler) { + Keymanager_1.keyManager.addHotKey(key, function (e) { + if (focusHandler.isFocus(gridId) && grid.events.fire(types_1.GridEvents.beforeKeyDown, [e])) { + handler(e); + grid.events.fire(types_1.GridEvents.afterKeyDown, [e]); + } + }); + } + }; + var isChild = function (parent, child) { + var node = child.parentNode; + while (node !== null) { + if (node === parent) { + return true; + } + node = node.parentNode; + } + return false; + }; + document.addEventListener("mousedown", function (e) { + var target = e.target; + if (!focusHandler.isFocus(gridId) && (isChild(gridContainer, target) || target.isEqualNode(gridContainer))) { + focusHandler.setFocusState(gridId); + } + else if (!html_1.locateNode(e) && focusHandler.getFocusState() !== "null") { + focusHandler.setFocusState("null"); + } + }); + focusableKeyManager.addHotKey("enter", function () { + if (cellSelecting(grid.config.selection)) { + var selected = grid.selection.getCell(); + if (selected && (selected.column.editable !== false && grid.config.editable || selected.column.editable)) { + if (!grid.config.$editable) { + if (selected.column.type !== "boolean") { + grid.edit(selected.row.id, selected.column.id, selected.column.editorType); + } + else { + grid.events.fire(types_1.GridEvents.afterEditEnd, [!selected.row[selected.column.id], selected.row, selected.column]); + } + } + else { + grid.editEnd(); + } + } + } + }); + focusableKeyManager.addHotKey(variables.space, function (e) { + if (cellSelecting(grid.config.selection) && grid.config.editable && !grid.config.$editable) { + var selected = grid.selection.getCell(); + if (selected && selected.column.type === "boolean") { + e.preventDefault(); + grid.events.fire(types_1.GridEvents.afterEditEnd, [!selected.row[selected.column.id], selected.row, selected.column]); + } + } + }); + focusableKeyManager.addHotKey(variables.escape, function () { + if (grid.config.$editable) { + grid.editEnd(true); + } + }); + focusableKeyManager.addHotKey("pageUp", function (e) { + e.preventDefault(); + gridBody.scrollTop -= gridBody.clientHeight; + }); + focusableKeyManager.addHotKey("pageDown", function (e) { + e.preventDefault(); + gridBody.scrollTop += gridBody.clientHeight; + }); + focusableKeyManager.addHotKey("home", function (e) { + e.preventDefault(); + gridBody.scrollTop = 0; + }); + focusableKeyManager.addHotKey("end", function (e) { + e.preventDefault(); + gridBody.scrollTop += gridBody.scrollHeight; + }); + focusableKeyManager.addHotKey("tab", function (e) { + if (grid.config.$editable || !grid.config.selection) { + return; + } + if (e) { + e.preventDefault(); + } + var selected = grid.selection.getCell(); + if (selected) { + var index = grid.config.columns.indexOf(selected.column) + 1; + if (index >= 0 && index < grid.config.columns.length) { + grid.selection.setCell(selected.row.id, grid.config.columns[index].id); + grid.scrollTo(selected.row.id.toString(), grid.config.columns[index].id.toString()); + } + else if (index >= 0) { + var newLineIndex = grid.data.getIndex(selected.row.id.toString()) + 1; + if (newLineIndex < grid.data.getLength()) { + grid.selection.setCell(grid.data.getId(newLineIndex), grid.config.columns[0].id); + grid.scrollTo(grid.data.getId(newLineIndex), grid.config.columns[0].id.toString()); + } + } + } + }); + focusableKeyManager.addHotKey("shift+tab", function (e) { + // selectionMove(e, grid, "horizontal", -1); + if (grid.config.$editable || !grid.config.selection) { + return; + } + if (e) { + e.preventDefault(); + } + var selected = grid.selection.getCell(); + if (selected) { + var index = grid.config.columns.indexOf(selected.column) - 1; + if (index >= 0 && index < grid.config.columns.length) { + grid.selection.setCell(selected.row.id, grid.config.columns[index].id); + grid.scrollTo(selected.row.id.toString(), grid.config.columns[index].id.toString()); + } + else if (index < grid.data.getLength()) { + var newLineIndex = grid.data.getIndex(selected.row.id.toString()) - 1; + if (newLineIndex >= 0) { + grid.selection.setCell(grid.data.getId(newLineIndex), grid.config.columns[grid.config.columns.length - 1].id); + grid.scrollTo(grid.data.getId(newLineIndex), grid.config.columns[grid.config.columns.length - 1].id.toString()); + } + } + } + }); + focusableKeyManager.addHotKey(variables.arrowUp, function (e) { + selectionMove(e, grid, "vertical", -1); + }); + focusableKeyManager.addHotKey("ctrl+" + variables.arrowUp, function (e) { + selectionMove(e, grid, "vertical", -1, true); + }); + focusableKeyManager.addHotKey("shift+" + variables.arrowUp, function (e) { + if (grid.config.multiselection) { + selectionMove(e, grid, "vertical", -1, false, false, true); + } + }); + focusableKeyManager.addHotKey("ctrl+shift+" + variables.arrowUp, function (e) { + if (grid.config.multiselection) { + selectionMove(e, grid, "vertical", -1, true, false, true); + } + }); + focusableKeyManager.addHotKey(variables.arrowDown, function (e) { + selectionMove(e, grid, "vertical", 1); + }); + focusableKeyManager.addHotKey("ctrl+" + variables.arrowDown, function (e) { + selectionMove(e, grid, "vertical", 1, true); + }); + focusableKeyManager.addHotKey("shift+" + variables.arrowDown, function (e) { + if (grid.config.multiselection) { + selectionMove(e, grid, "vertical", 1, false, false, true); + } + }); + focusableKeyManager.addHotKey("ctrl+shift+" + variables.arrowDown, function (e) { + if (grid.config.multiselection) { + selectionMove(e, grid, "vertical", 1, true, false, true); + } + }); + focusableKeyManager.addHotKey(variables.arrowRight, function (e) { + selectionMove(e, grid, "horizontal", 1); + }); + focusableKeyManager.addHotKey("ctrl+" + variables.arrowRight, function (e) { + selectionMove(e, grid, "horizontal", 1, true); + }); + focusableKeyManager.addHotKey("shift+" + variables.arrowRight, function (e) { + if (grid.config.multiselection) { + selectionMove(e, grid, "horizontal", 1, false, false, true); + } + }); + focusableKeyManager.addHotKey("ctrl+shift+" + variables.arrowRight, function (e) { + if (grid.config.multiselection) { + selectionMove(e, grid, "horizontal", 1, true, false, true); + } + }); + focusableKeyManager.addHotKey(variables.arrowLeft, function (e) { + selectionMove(e, grid, "horizontal", -1); + }); + focusableKeyManager.addHotKey("ctrl+" + variables.arrowLeft, function (e) { + selectionMove(e, grid, "horizontal", -1, true); + }); + focusableKeyManager.addHotKey("shift+" + variables.arrowLeft, function (e) { + if (grid.config.multiselection) { + selectionMove(e, grid, "horizontal", -1, false, false, true); + } + }); + focusableKeyManager.addHotKey("ctrl+shift+" + variables.arrowLeft, function (e) { + if (grid.config.multiselection) { + selectionMove(e, grid, "horizontal", -1, true, false, true); + } + }); +} +exports.initHotkeys = initHotkeys; +function cellSelecting(selection) { + return selection === "cell" || selection === "complex"; +} +function selectionMove(e, grid, dir, range, toEnd, ctrlUp, shiftUp) { + if (toEnd === void 0) { toEnd = false; } + if (ctrlUp === void 0) { ctrlUp = false; } + if (shiftUp === void 0) { shiftUp = false; } + if (grid.config.$editable || !grid.config.selection) { + return; + } + if (e) { + e.preventDefault(); + } + var selected = grid.selection.getCell(); + if (selected) { + if (dir === "vertical") { + if (toEnd) { + var newItem = range === 1 ? grid.data.getItem(grid.data.getId(grid.data.getLength() - 1)) : grid.data.getItem(grid.data.getId(0)); + grid.selection.setCell(newItem.id, selected.column.id, ctrlUp, shiftUp); + grid.scrollTo(newItem.id, selected.column.id.toString()); + } + else { + var index = grid.data.getIndex(selected.row.id.toString()); + if (index + range >= 0 && index + range < grid.data.getLength()) { + var newItem = grid.data.getItem(grid.data.getId(index + range)); + grid.selection.setCell(newItem.id, selected.column.id, ctrlUp, shiftUp); + grid.scrollTo(newItem.id, selected.column.id.toString()); + } + } + } + else { + if (toEnd) { + var newItem = range === 1 ? grid.config.columns[grid.config.columns.length - 1] : grid.config.columns[0]; + grid.selection.setCell(selected.row.id, newItem.id, ctrlUp, shiftUp); + grid.scrollTo(selected.row.id.toString(), newItem.id.toString()); + } + else { + var index = grid.config.columns.indexOf(selected.column); + if (index + range >= 0 && index + range < grid.config.columns.length) { + grid.selection.setCell(selected.row.id, grid.config.columns[index + range].id, ctrlUp, shiftUp); + grid.scrollTo(selected.row.id.toString(), grid.config.columns[index + range].id.toString()); + } + } + } + } +} + + +/***/ }), +/* 189 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21805,17 +24795,18 @@ var __assign = (this && this.__assign) || function () { }; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var html_1 = __webpack_require__(3); -var data_1 = __webpack_require__(51); +var html_1 = __webpack_require__(2); +var data_1 = __webpack_require__(53); var main_1 = __webpack_require__(20); -var Cells_1 = __webpack_require__(74); -var FixedCols_1 = __webpack_require__(188); -var FixedRows_1 = __webpack_require__(75); +var Cells_1 = __webpack_require__(76); +var FixedCols_1 = __webpack_require__(196); +var FixedRows_1 = __webpack_require__(77); +var core_1 = __webpack_require__(1); var BORDERS = 2; function getRenderConfig(obj, data, wrapperSizes) { var config = obj.config; var positions = data_1.calculatePositions(wrapperSizes.width, wrapperSizes.height, obj._scroll, config); - return __assign({}, config, { data: data, scroll: obj._scroll, $positions: positions, headerHeight: config.$headerLevel * config.headerRowHeight, footerHeight: config.$footerLevel * config.footerRowHeight, firstColId: config.columns[0].id, events: obj.events, currentColumns: config.columns.slice(positions.xStart, positions.xEnd), sortBy: obj._sortBy, sortDir: obj._sortDir }); + return __assign(__assign({}, config), { data: data, scroll: obj._scroll, $positions: positions, headerHeight: config.$headerLevel * config.headerRowHeight, footerHeight: config.$footerLevel * config.footerRowHeight, firstColId: config.columns[0].id, events: obj.events, currentColumns: config.columns.slice(positions.xStart, positions.xEnd), sortBy: obj._sortBy, sortDir: obj._sortDir }); } function getElementSizes(element) { if (!element) { @@ -21832,7 +24823,7 @@ function getElementSizes(element) { height: element.clientHeight - paddingsByHeight }; } -function render(vm, obj, data, htmlEvents, selection) { +function render(vm, obj, data, htmlEvents, selection, uid) { if (!obj._container) { obj.config.width = 1; obj.config.height = 1; @@ -21845,25 +24836,53 @@ function render(vm, obj, data, htmlEvents, selection) { obj.config.height = parentSizes.height; } var config = obj.config; + // when grid is destructing and user try to repaint it + if (!config) { + return dom_1.el("div"); + } if (!config.columns.length) { return dom_1.el(".dhx_grid"); } if (!data || !obj.data) { data = []; } - config.$totalHeight = data.length * config.rowHeight; + if (config.columns.reduce(function (check, col) { return check = !col.hidden ? col.hidden : check; }, true)) { + config.$totalHeight = 0; + } + else { + config.$totalHeight = data.length * config.rowHeight; + } var sizes = getElementSizes(obj._container); var wrapperSizes = { width: config.width ? config.width : sizes.width, height: config.height ? config.height : sizes.height }; - if (config.fitToContainer) { - var scrollbarY = config.$totalHeight > wrapperSizes.height ? html_1.getScrollbarWidth() : 0; + // TODO: Remove scroll + if (main_1.isAutoWidth(config)) { + var scrollbarY = config.$totalHeight >= wrapperSizes.height - config.headerRowHeight ? html_1.getScrollbarWidth() : 0; config.$totalWidth = wrapperSizes.width - BORDERS - scrollbarY; - var total = config.columns.reduce(function (width, col) { return width + col.width; }, 0); + var total = config.columns.reduce(function (width, col) { return col.hidden ? width : width + col.width; }, 0); var per_1 = config.$totalWidth / total; + var mTotal = config.columns.reduce(function (width, col) { + var estimatedWidth = (per_1 > 0 ? col.width * per_1 : 20); + var unchangeable = !main_1.isAutoWidth(config, col) || + ((col.maxWidth && (col.maxWidth < (estimatedWidth))) || (col.minWidth && (col.minWidth > (estimatedWidth)))); + return unchangeable ? width + col.width : width; + }, 0); + var newPer_1 = (config.$totalWidth - mTotal) / (total - mTotal); + config.$totalWidth = 0; config.columns.map(function (col) { - col.width = per_1 * col.width; + // TODO: dirty, must be more then 20 + var estimatedWidth = (newPer_1 > 0 ? col.width * newPer_1 : 20); + var unchangeable = !main_1.isAutoWidth(config, col) || + ((col.maxWidth && (col.maxWidth < (estimatedWidth))) || (col.minWidth && (col.minWidth > (estimatedWidth)))); + if (!unchangeable) { + col.width = estimatedWidth; + } + else { + col.width = col.maxWidth || col.minWidth || col.width; + } + config.$totalWidth += col.hidden ? 0 : col.width; }); } config.width = wrapperSizes.width; @@ -21880,12 +24899,20 @@ function render(vm, obj, data, htmlEvents, selection) { shifts: shifts, gridBodyHeight: gridBodyHeight }; - var header = FixedRows_1.getFixedRows(renderConfig, __assign({}, layoutState, { name: "header", position: "top" })); - var footer = renderConfig.$footer ? FixedRows_1.getFixedRows(renderConfig, __assign({}, layoutState, { name: "footer", position: "bottom" })) : null; + var header = FixedRows_1.getFixedRows(renderConfig, __assign(__assign({}, layoutState), { name: "header", position: "top" })); + var footer = renderConfig.$footer ? FixedRows_1.getFixedRows(renderConfig, __assign(__assign({}, layoutState), { name: "footer", position: "bottom" })) : null; var lessByWidth = renderConfig.$totalWidth + BORDERS < wrapperSizes.width ? "dhx_grid-less-width" : ""; var lessByHeight = renderConfig.$totalHeight + BORDERS < wrapperSizes.height ? "dhx_grid-less-height" : ""; + // dirty: but work. Change checking of rendering Grid + if (!vm.node) { + var _a = obj.getScrollState(), x_1 = _a.x, y_1 = _a.y; + dom_1.awaitRedraw().then(function () { + obj.scroll(x_1, y_1); + }); + } return dom_1.el(".dhx_grid.dhx_widget", { - class: renderConfig.css + class: (renderConfig.css || "") + (!isSticky ? " dhx_grid_border" : "") + (config.multiselection ? " dhx_no-select--pointer" : ""), + dhx_widget_id: uid }, [ dom_1.resizer(function () { return obj.paint(); }), dom_1.el(".dhx_grid-content", { @@ -21915,8 +24942,21 @@ exports.render = render; function getGridData(renderConfig, shifts) { var content = Cells_1.getCells(renderConfig); var contentSpans = Cells_1.getSpans(renderConfig); + var resizedLine; + if (renderConfig.$resizing) { + var colIndex = core_1.findIndex(renderConfig.columns, function (col) { return col.id === renderConfig.$resizing; }); + var firstCellLeft = renderConfig.columns.slice(0, colIndex).reduce(function (total, c) { return total += c.width; }, 0) + renderConfig.columns[colIndex].width; + resizedLine = dom_1.el(".dhx_grid-resize-line", { + style: { + top: 0, + left: firstCellLeft, + height: renderConfig.$totalHeight + } + }); + } var selection = renderConfig.selection ? renderConfig.selection.toHTML() : null; selection = typeof selection === "string" ? dom_1.el("div.dhx_selection", { ".innerHTML": selection }) : selection; + var pos = renderConfig.$positions; return dom_1.el(".dhx_data-wrap", { style: { "height": renderConfig.$totalHeight, @@ -21925,9 +24965,9 @@ function getGridData(renderConfig, shifts) { "padding-top": shifts.y, } }, [ - dom_1.el(".dhx_grid_data", content), + dom_1.el(".dhx_grid_data", __assign({ _flags: dom_1.KEYED_LIST }, Cells_1.getHandlers(pos.yStart, pos.xStart, renderConfig)), content), dom_1.el(".dhx_span-spans", contentSpans), - dom_1.el(".dhx_grid_selection", { _ref: "selection" }, [selection]) + dom_1.el(".dhx_grid_selection", { _ref: "selection" }, [selection, resizedLine]) ]); } function getContentHeight(renderConfig, isSticky, wrapperSizes) { @@ -21937,7 +24977,7 @@ function getContentHeight(renderConfig, isSticky, wrapperSizes) { // [dirty] refactoring needed var lessByHeight = renderConfig.$totalHeight + BORDERS < wrapperSizes.height; if (renderConfig.splitAt && lessByHeight) { - return renderConfig.$totalHeight + renderConfig.footerHeight + renderConfig.headerHeight + html_1.getScrollbarWidth(); + return renderConfig.$totalHeight + (isFooter ? renderConfig.footerHeight : null) + renderConfig.headerHeight + html_1.getScrollbarWidth(); } // [dirty] return contentHeight = isFooter ? @@ -21947,16 +24987,18 @@ function getContentHeight(renderConfig, isSticky, wrapperSizes) { /***/ }), -/* 184 */ +/* 190 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var types_1 = __webpack_require__(11); -var InputEditor_1 = __webpack_require__(185); -var SelectEditor_1 = __webpack_require__(186); -var DateEditor_1 = __webpack_require__(187); +var types_1 = __webpack_require__(10); +var InputEditor_1 = __webpack_require__(191); +var SelectEditor_1 = __webpack_require__(192); +var DateEditor_1 = __webpack_require__(193); +var CheckboxEditor_1 = __webpack_require__(194); +var ComboboxEditor_1 = __webpack_require__(195); var lastEditor = { cell: { row: null, @@ -21966,7 +25008,7 @@ var lastEditor = { }; var editHandler; function getEditor(row, col, conf) { - var type = conf.$editable.editorType; + var type = col.type === "boolean" ? types_1.EditorType.checkbox : conf.$editable.editorType; if (lastEditor.cell.row === row.id && lastEditor.cell.col === col.id) { return lastEditor.editor; } @@ -21993,6 +25035,10 @@ function getEditor(row, col, conf) { return lastEditor.editor = new SelectEditor_1.SelectEditor(row, col, conf); case types_1.EditorType.datepicker: return lastEditor.editor = new DateEditor_1.DateEditor(row, col, conf); + case types_1.EditorType.checkbox: + return lastEditor.editor = new CheckboxEditor_1.CheckboxEditor(row, col, conf); + case types_1.EditorType.combobox: + return lastEditor.editor = new ComboboxEditor_1.ComboboxEditor(row, col, conf); default: return lastEditor.editor = new InputEditor_1.InputEditor(row, col, conf); } @@ -22001,14 +25047,14 @@ exports.getEditor = getEditor; /***/ }), -/* 185 */ +/* 191 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var types_1 = __webpack_require__(11); +var types_1 = __webpack_require__(10); var core_1 = __webpack_require__(1); var InputEditor = /** @class */ (function () { function InputEditor(row, col, config) { @@ -22016,13 +25062,16 @@ var InputEditor = /** @class */ (function () { this._cell = { row: row, col: col }; this._initHandlers(); } - InputEditor.prototype.endEdit = function () { - var value = this._input.value; + InputEditor.prototype.endEdit = function (withoutSave) { + var value; + if (!withoutSave) { + value = this._input.value; + } if (this._config.events.fire(types_1.GridEvents.beforeEditEnd, [value, this._cell.row, this._cell.col])) { this._input.removeEventListener("blur", this._handlers.onBlur); this._input.removeEventListener("change", this._handlers.onChange); this._handlers = {}; - if (core_1.isNumeric(value)) { + if (this._cell.col.type !== "string" && core_1.isNumeric(value)) { value = parseFloat(value); } this._config.events.fire(types_1.GridEvents.afterEditEnd, [value, this._cell.row, this._cell.col]); @@ -22036,6 +25085,7 @@ var InputEditor = /** @class */ (function () { if (this._input) { content = this._input.value; } + this._config.$editable.editor = this; return dom_1.el("input.dhx_cell-editor.dhx_cell-editor__input", { _hooks: { didInsert: this._handlers.didInsert @@ -22058,7 +25108,7 @@ var InputEditor = /** @class */ (function () { var input = node.el; _this._input = input; input.focus(); - input.setSelectionRange(input.value.length, input.value.length); + input.setSelectionRange(0, input.value.length); input.addEventListener("change", _this._handlers.onChange); input.addEventListener("blur", _this._handlers.onBlur); } @@ -22070,22 +25120,25 @@ exports.InputEditor = InputEditor; /***/ }), -/* 186 */ +/* 192 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var types_1 = __webpack_require__(11); +var types_1 = __webpack_require__(10); var SelectEditor = /** @class */ (function () { function SelectEditor(row, col, config) { this._config = config; this._cell = { row: row, col: col }; this._initHandlers(); } - SelectEditor.prototype.endEdit = function () { - var value = this._input.value; + SelectEditor.prototype.endEdit = function (withoutSave) { + var value; + if (!withoutSave) { + value = this._input.value; + } if (this._config.events.fire(types_1.GridEvents.beforeEditEnd, [value, this._cell.row, this._cell.col])) { this._input.removeEventListener("blur", this._handlers.onBlur); this._handlers = {}; @@ -22106,7 +25159,8 @@ var SelectEditor = /** @class */ (function () { selected: item === selected }, item); }); - return dom_1.el("select.dhx_cell-editor.dhx_cell-editor__input", { + this._config.$editable.editor = this; + return dom_1.el("select.dhx_cell-editor.dhx_cell-editor__select", { _hooks: { didInsert: this._handlers.didInsert, }, @@ -22134,17 +25188,17 @@ exports.SelectEditor = SelectEditor; /***/ }), -/* 187 */ +/* 193 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var types_1 = __webpack_require__(11); -var ts_calendar_1 = __webpack_require__(28); -var ts_popup_1 = __webpack_require__(10); -var html_1 = __webpack_require__(3); +var types_1 = __webpack_require__(10); +var ts_calendar_1 = __webpack_require__(25); +var ts_popup_1 = __webpack_require__(11); +var html_1 = __webpack_require__(2); var DateEditor = /** @class */ (function () { function DateEditor(row, col, config) { var _this = this; @@ -22152,91 +25206,221 @@ var DateEditor = /** @class */ (function () { this._cell = { row: row, col: col }; this._calendar = new ts_calendar_1.Calendar(null, { dateFormat: col.dateFormat }); var value = this._cell.row[this._cell.col.id]; - if (value) { + var dateFormat = this._calendar.config.dateFormat; + if (ts_calendar_1.stringToDate(value, dateFormat, true) || value instanceof Date) { this._calendar.setValue(value); + this._value = this._calendar.getValue(); + this._cell.row[this._cell.col.id] = this._value; } this._popup = new ts_popup_1.Popup({ css: "dhx_widget--bordered" }); this._popup.attach(this._calendar); this._calendar.events.on(ts_calendar_1.CalendarEvents.change, function () { - _this.endEdit(); + _this.endEdit(false, true); }); this._popup.events.on(ts_popup_1.PopupEvents.afterHide, function () { _this.endEdit(); }); this._initHandlers(); } - DateEditor.prototype.endEdit = function () { - // [todo] - if (!this._handlers) { - return; + DateEditor.prototype.endEdit = function (withoutSave, calendarChange) { + if (!this._handlers) { + return; + } + var dateFormat = this._calendar.config.dateFormat; + var value = this._cell.row[this._cell.col.id]; + if (!withoutSave) { + if (value instanceof Date || calendarChange) { + this._value = this._calendar.getValue(); + this._input.value = this._value; + } + else if (ts_calendar_1.stringToDate(this._input.value, dateFormat, true) && this._input.value.length === value.length) { + this._value = this._input.value; + } + } + if (this._config.events.fire(types_1.GridEvents.beforeEditEnd, [this._value, this._cell.row, this._cell.col])) { + this._input.removeEventListener("focus", this._handlers.onFocus); + this._input.removeEventListener("change", this._handlers.onChange); + this._handlers = {}; + this._popup.destructor(); + this._calendar.destructor(); + this._config.events.fire(types_1.GridEvents.afterEditEnd, [this._value, this._cell.row, this._cell.col]); + } + else { + this._input.focus(); + } + }; + DateEditor.prototype.toHTML = function () { + var value = this._cell.row[this._cell.col.id]; + this._config.$editable.editor = this; + return dom_1.el("input.dhx_cell-editor.dhx_cell-editor__input.dhx_cell-editor__datepicker", { + _hooks: { + didInsert: this._handlers.didInsert + }, + _key: "cell_editor", + dhx_id: "cell_editor", + value: value + }); + }; + DateEditor.prototype._initHandlers = function () { + var _this = this; + this._handlers = { + onFocus: function () { + dom_1.awaitRedraw().then(function () { + _this._popup.show(_this._input, { centering: true, mode: html_1.Position.bottom }); + }); + }, + onChange: function () { + _this.endEdit(); + }, + didInsert: function (node) { + var input = node.el; + _this._input = input; + _this._input.addEventListener("focus", _this._handlers.onFocus); + _this._input.addEventListener("change", _this._handlers.onChange); + input.focus(); + input.setSelectionRange(input.value.length, input.value.length); + } + }; + }; + return DateEditor; +}()); +exports.DateEditor = DateEditor; + + +/***/ }), +/* 194 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var dom_1 = __webpack_require__(0); +var types_1 = __webpack_require__(10); +var CheckboxEditor = /** @class */ (function () { + function CheckboxEditor(row, col, config) { + this._config = config; + this._cell = { row: row, col: col }; + this._initHandlers(); + } + CheckboxEditor.prototype.endEdit = function () { + var value = this._checked; + if (this._config.events.fire(types_1.GridEvents.beforeEditEnd, [value, this._cell.row, this._cell.col])) { + this._handlers = {}; + this._config.events.fire(types_1.GridEvents.afterEditEnd, [value, this._cell.row, this._cell.col]); + } + }; + CheckboxEditor.prototype.toHTML = function () { + if (this._checked === undefined) { + this._checked = this._cell.row[this._cell.col.id]; + } + if (this._input) { + return; + } + return dom_1.el("label.dhx_checkbox.dhx_cell-editor__checkbox", [ + dom_1.el("input.dhx_checkbox__input", { + type: "checkbox", + _hooks: { + didInsert: this._handlers.didInsert + }, + _key: "cell_editor", + dhx_id: "cell_editor", + checked: this._checked, + style: { + userSelect: "none" + } + }), + dom_1.el("span.dhx_checkbox__visual-input") + ]); + }; + CheckboxEditor.prototype._initHandlers = function () { + var _this = this; + this._handlers = { + onChange: function (e) { + _this._checked = e.target.checked; + _this.endEdit(); + }, + didInsert: function (node) { + _this._checkbox = node.el.parentNode.lastChild; + _this._input = node.el.parentNode.firstChild; + _this._input.addEventListener("change", _this._handlers.onChange); + } + }; + }; + return CheckboxEditor; +}()); +exports.CheckboxEditor = CheckboxEditor; + + +/***/ }), +/* 195 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var dom_1 = __webpack_require__(0); +var types_1 = __webpack_require__(10); +var ts_combobox_1 = __webpack_require__(32); +var ComboboxEditor = /** @class */ (function () { + function ComboboxEditor(row, col, config) { + this._config = config; + this._cell = { row: row, col: col }; + this._initHandlers(); + } + ComboboxEditor.prototype.endEdit = function (withoutSave) { + var value; + if (!withoutSave) { + value = this._input.getValue(); } - var value = this._calendar.getValue(); if (this._config.events.fire(types_1.GridEvents.beforeEditEnd, [value, this._cell.row, this._cell.col])) { - this._input.removeEventListener("blur", this._handlers.onBlur); - this._handlers = null; - this._popup.destructor(); - this._calendar.destructor(); + document.removeEventListener("click", this._handlers.onOuterClick); + this._handlers = {}; this._config.events.fire(types_1.GridEvents.afterEditEnd, [value, this._cell.row, this._cell.col]); } else { this._input.focus(); } }; - DateEditor.prototype.toHTML = function () { - var content = this._cell.row[this._cell.col.id]; - return dom_1.el("input.dhx_cell-editor.dhx_cell-editor__input.dhx_cell-editor__datepicker", { - _hooks: { - didInsert: this._handlers.didInsert, - didRecycle: this._handlers.didRecycle, - didRemove: this._handlers.didRemove - }, - _key: "cell_editor", - dhx_id: "cell_editor", - value: content + ComboboxEditor.prototype.toHTML = function () { + var _this = this; + var content = this._cell.col.options.map(function (item) { + return { id: "" + item, value: item }; + }) || []; + if (!this._input) { + this._input = new ts_combobox_1.Combobox(null, { + readonly: true, + cellHeight: 37, + css: "dhx_cell-editor__combobox" + }); + this._input.data.parse(content); + this._input.setValue(this._cell.row[this._cell.col.id]); + } + document.addEventListener("click", this._handlers.onOuterClick); + this._config.$editable.editor = this; + dom_1.awaitRedraw().then(function () { + var holderNode = _this._input.getRootView().refs.holder.el; + _this._input.popup.getContainer().style.width = holderNode.offsetWidth + "px"; + _this._input.popup.show(holderNode); }); + return dom_1.inject(this._input.getRootView()); }; - DateEditor.prototype._initHandlers = function () { + ComboboxEditor.prototype._initHandlers = function () { var _this = this; this._handlers = { - onBlur: function () { - _this.endEdit(); - }, - onChange: function () { - _this.endEdit(); - }, - didInsert: function (node) { - var input = node.el; - _this._input = input; - _this._input.addEventListener("focus", function () { - // [dirty] - setTimeout(function () { - _this._popup.show(_this._input, { centering: true, mode: html_1.Position.bottom }); - }, 100); - }); - input.focus(); - input.setAttribute("disabled", "true"); - input.setSelectionRange(input.value.length, input.value.length); - }, - didRecycle: function () { - if (_this._input) { - _this._popup.show(_this._input, { centering: true, mode: html_1.Position.bottom }); - } - else { + onOuterClick: function (e) { + if (!(e.target instanceof Node && _this._input.getRootNode() && _this._input.getRootNode().contains(e.target))) { _this.endEdit(); } - }, - didRemove: function () { - _this.endEdit(); } }; }; - return DateEditor; + return ComboboxEditor; }()); -exports.DateEditor = DateEditor; +exports.ComboboxEditor = ComboboxEditor; /***/ }), -/* 188 */ +/* 196 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22254,25 +25438,31 @@ var __assign = (this && this.__assign) || function () { }; Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var html_1 = __webpack_require__(3); -var Cells_1 = __webpack_require__(74); -var FixedRows_1 = __webpack_require__(75); +var html_1 = __webpack_require__(2); +var Cells_1 = __webpack_require__(76); +var FixedRows_1 = __webpack_require__(77); function getFixedCols(renderConfig, layout) { + var hiddenCheck = renderConfig.columns.reduce(function (check, col) { + return col.hidden ? check + 1 : check; + }, 0); if (typeof renderConfig.splitAt !== "number") { return; } + if (hiddenCheck === renderConfig.splitAt) { + return; + } var scrollBarWidth = renderConfig.$totalWidth <= layout.wrapper.width ? 0 : html_1.getScrollbarWidth(); var fixedColsHeight = (layout.sticky ? layout.gridBodyHeight : layout.gridBodyHeight + renderConfig.headerHeight) - scrollBarWidth; var columns = renderConfig.columns.slice(0, renderConfig.splitAt); - renderConfig.fixedColumnsWidth = columns.reduce(function (total, item) { return total += item.width || 100; }, 0); - var fixedCols = Cells_1.getCells(__assign({}, renderConfig, { columns: columns, $positions: __assign({}, renderConfig.$positions, { xStart: 0, xEnd: renderConfig.splitAt }) })); + renderConfig.fixedColumnsWidth = columns.reduce(function (total, item) { return total += !item.hidden ? item.width || 100 : 0; }, 0); + var fixedCols = Cells_1.getCells(__assign(__assign({}, renderConfig), { columns: columns, $positions: __assign(__assign({}, renderConfig.$positions), { xStart: 0, xEnd: renderConfig.splitAt }) })); var isSticky = layout.sticky; - var headerRowsConfig = __assign({}, layout, { name: "header", position: "top" }); - var footerRowsConfig = __assign({}, layout, { name: "footer", position: "bottom" }); - var frozenHeaderCols = renderConfig.splitAt >= 0 && FixedRows_1.getRows(__assign({}, renderConfig, { currentColumns: renderConfig.columns.slice(0, renderConfig.splitAt), $positions: __assign({}, renderConfig.$positions, { xStart: 0, xEnd: renderConfig.splitAt }) }), __assign({}, layout, { name: "header", position: "top" })); - var frozenFooterCols = renderConfig.splitAt >= 0 && FixedRows_1.getRows(__assign({}, renderConfig, { currentColumns: renderConfig.columns.slice(0, renderConfig.splitAt), $positions: __assign({}, renderConfig.$positions, { xStart: 0, xEnd: renderConfig.splitAt }) }), __assign({}, layout, { name: "footer", position: "bottom" })); + var headerRowsConfig = __assign(__assign({}, layout), { name: "header", position: "top" }); + var footerRowsConfig = __assign(__assign({}, layout), { name: "footer", position: "bottom" }); + var frozenHeaderCols = renderConfig.splitAt >= 0 && FixedRows_1.getRows(__assign(__assign({}, renderConfig), { currentColumns: renderConfig.columns.slice(0, renderConfig.splitAt), $positions: __assign(__assign({}, renderConfig.$positions), { xStart: 0, xEnd: renderConfig.splitAt }) }), __assign(__assign({}, layout), { name: "header", position: "top" })); + var frozenFooterCols = renderConfig.splitAt >= 0 && FixedRows_1.getRows(__assign(__assign({}, renderConfig), { currentColumns: renderConfig.columns.slice(0, renderConfig.splitAt), $positions: __assign(__assign({}, renderConfig.$positions), { xStart: 0, xEnd: renderConfig.splitAt }) }), __assign(__assign({}, layout), { name: "footer", position: "bottom" })); var frozenHeader = frozenHeaderCols && dom_1.el(".dhx_" + headerRowsConfig.name + "-fixed-cols", { style: { position: "absolute", @@ -22289,6 +25479,7 @@ function getFixedCols(renderConfig, layout) { zIndex: 999999, } }, frozenFooterCols)) : null; + var pos = renderConfig.$positions; return dom_1.el(".dhx_grid-fixed-cols-wrap", { style: { height: fixedColsHeight, @@ -22298,14 +25489,12 @@ function getFixedCols(renderConfig, layout) { } }, [ frozenHeader, - dom_1.el(".dhx_grid-fixed-cols", { - style: { - top: -renderConfig.scroll.top + renderConfig.headerHeight + "px", + dom_1.el(".dhx_grid-fixed-cols", __assign({ style: { + top: -renderConfig.scroll.top + renderConfig.headerHeight - 1 + "px", paddingTop: layout.shifts.y, height: renderConfig.$totalHeight, position: "absolute" - } - }, fixedCols), + }, _flags: dom_1.KEYED_LIST }, Cells_1.getHandlers(pos.yStart, pos.xStart, renderConfig)), fixedCols), renderConfig.$footer && frozenFooter, dom_1.el(".dhx_frozen-cols-border") ]); @@ -22314,7 +25503,71 @@ exports.getFixedCols = getFixedCols; /***/ }), -/* 189 */ +/* 197 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var core_1 = __webpack_require__(1); +var types_1 = __webpack_require__(10); +var html_1 = __webpack_require__(2); +function startResize(grid, column, ev, cb) { + var initX = ev.clientX; + var initWidth = 0; + grid.config.$resizing = column; + var moveHandler = function (e) { + var i = core_1.findIndex(grid.config.columns, function (obj) { + return obj.id === column; + }); + var containerLeft = e.clientX - grid.getRootNode().getBoundingClientRect().left; + var scrollbarY = grid.config.$totalHeight > grid.config.height ? html_1.getScrollbarWidth() : 0; + if ((grid.config.splitAt === i + 1) && (containerLeft >= grid.config.width - scrollbarY - 2)) { + return; + } + initWidth = initWidth || grid.config.columns[i].width; + var minWidth = grid.config.columns[i].minWidth || 20; + var maxWidth = grid.config.columns[i].maxWidth; + var move = e.clientX - initX; + var cols = __spreadArrays(grid.config.columns); + var size = initWidth + move; + var final; + if ((maxWidth && size >= maxWidth) || size <= minWidth) { + if (size <= minWidth) { + final = minWidth; + } + if (size >= maxWidth) { + final = maxWidth; + } + } + else { + final = size; + } + cols[i].width = final; + grid.events.fire(types_1.GridEvents.resize, [grid.config.columns[i], e]); + grid.paint(); + }; + var upHandler = function () { + document.removeEventListener("mousemove", moveHandler); + document.removeEventListener("mouseup", upHandler); + cb(); + }; + document.addEventListener("mousemove", moveHandler); + document.addEventListener("mouseup", upHandler); + grid.paint(); +} +exports.startResize = startResize; + + +/***/ }), +/* 198 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22323,15 +25576,15 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(190)); -__export(__webpack_require__(191)); -var ts_navbar_1 = __webpack_require__(15); +__export(__webpack_require__(199)); +__export(__webpack_require__(200)); +var ts_navbar_1 = __webpack_require__(17); exports.ItemType = ts_navbar_1.ItemType; exports.NavigationBarEvents = ts_navbar_1.NavigationBarEvents; /***/ }), -/* 190 */ +/* 199 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22350,8 +25603,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var html_1 = __webpack_require__(3); -var ts_navbar_1 = __webpack_require__(15); +var html_1 = __webpack_require__(2); +var ts_navbar_1 = __webpack_require__(17); var ContextMenu = /** @class */ (function (_super) { __extends(ContextMenu, _super); function ContextMenu() { @@ -22378,12 +25631,19 @@ var ContextMenu = /** @class */ (function (_super) { return ts_navbar_1.createFactory({ widget: this, defaultType: ts_navbar_1.ItemType.menuItem, - allowedTypes: [ts_navbar_1.ItemType.menuItem, ts_navbar_1.ItemType.separator, ts_navbar_1.ItemType.spacer], + allowedTypes: [ + ts_navbar_1.ItemType.menuItem, + ts_navbar_1.ItemType.spacer, + ts_navbar_1.ItemType.separator, + ts_navbar_1.ItemType.customHTML, + // TODO: deprecated + ts_navbar_1.ItemType.customHTMLButton + ], widgetName: "context-menu" }); }; - ContextMenu.prototype._close = function () { - _super.prototype._close.call(this); + ContextMenu.prototype._close = function (e) { + _super.prototype._close.call(this, e); this._activeMenu = null; this._changeActivePosition(null, null); }; @@ -22402,7 +25662,7 @@ exports.ContextMenu = ContextMenu; /***/ }), -/* 191 */ +/* 200 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22422,7 +25682,7 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var ts_navbar_1 = __webpack_require__(15); +var ts_navbar_1 = __webpack_require__(17); var Menu = /** @class */ (function (_super) { __extends(Menu, _super); function Menu(element, config) { @@ -22435,12 +25695,19 @@ var Menu = /** @class */ (function (_super) { return ts_navbar_1.createFactory({ widget: this, defaultType: ts_navbar_1.ItemType.menuItem, - allowedTypes: [ts_navbar_1.ItemType.menuItem, ts_navbar_1.ItemType.separator, ts_navbar_1.ItemType.spacer], + allowedTypes: [ + ts_navbar_1.ItemType.menuItem, + ts_navbar_1.ItemType.spacer, + ts_navbar_1.ItemType.separator, + ts_navbar_1.ItemType.customHTML, + // TODO: deprecated + ts_navbar_1.ItemType.customHTMLButton, + ], widgetName: "menu-nav" }); }; Menu.prototype._draw = function () { - return dom_1.el("ul", { + return dom_1.el("ul.dhx_widget", { dhx_widget_id: this._uid, onmousemove: this._handlers.onmousemove, onmouseleave: this._handlers.onmouseleave, @@ -22455,7 +25722,7 @@ exports.Menu = Menu; /***/ }), -/* 192 */ +/* 201 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22464,11 +25731,11 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(193)); +__export(__webpack_require__(202)); /***/ }), -/* 193 */ +/* 202 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22488,10 +25755,10 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var ts_toolbar_1 = __webpack_require__(27); -var ts_navbar_1 = __webpack_require__(15); +var ts_toolbar_1 = __webpack_require__(29); +var ts_navbar_1 = __webpack_require__(17); var core_1 = __webpack_require__(1); -var html_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var ts_message_1 = __webpack_require__(19); var Ribbon = /** @class */ (function (_super) { __extends(Ribbon, _super); @@ -22569,6 +25836,7 @@ var Ribbon = /** @class */ (function (_super) { ts_toolbar_1.ItemType.navItem, ts_toolbar_1.ItemType.button, ts_toolbar_1.ItemType.customHTMLButton, + ts_toolbar_1.ItemType.customHTML, ts_toolbar_1.ItemType.imageButton, ts_toolbar_1.ItemType.input, ts_toolbar_1.ItemType.selectButton, @@ -22582,10 +25850,10 @@ var Ribbon = /** @class */ (function (_super) { Ribbon.prototype._getMode = function (item, root) { return item.id === root ? "bottom" : "right"; }; - Ribbon.prototype._close = function () { + Ribbon.prototype._close = function (e) { this._activePosition = null; this._currentRoot = null; - _super.prototype._close.call(this); + _super.prototype._close.call(this, e); }; Ribbon.prototype._draw = function () { var _this = this; @@ -22665,7 +25933,7 @@ exports.Ribbon = Ribbon; /***/ }), -/* 194 */ +/* 203 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22674,12 +25942,12 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(195)); -__export(__webpack_require__(77)); +__export(__webpack_require__(204)); +__export(__webpack_require__(79)); /***/ }), -/* 195 */ +/* 204 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22699,10 +25967,10 @@ var __extends = (this && this.__extends) || (function () { })(); Object.defineProperty(exports, "__esModule", { value: true }); var dom_1 = __webpack_require__(0); -var html_1 = __webpack_require__(3); -var types_1 = __webpack_require__(77); +var html_1 = __webpack_require__(2); +var types_1 = __webpack_require__(79); var ts_message_1 = __webpack_require__(19); -var ts_navbar_1 = __webpack_require__(15); +var ts_navbar_1 = __webpack_require__(17); var core_1 = __webpack_require__(1); var Sidebar = /** @class */ (function (_super) { __extends(Sidebar, _super); @@ -22719,8 +25987,29 @@ var Sidebar = /** @class */ (function (_super) { return _this; } Sidebar.prototype.toggle = function () { - this.config.collapsed = !this.config.collapsed; - this.events.fire(types_1.SidebarEvents.toggle, [this.config.collapsed]); + if (this.config.collapsed) { + this.expand(); + } + else { + this.collapse(); + } + this.events.fire(types_1.SidebarEvents.toggle, [this.config.collapsed]); // TODO: remove sute_7.0 + this.paint(); + }; + Sidebar.prototype.collapse = function () { + if (!this.events.fire(types_1.SidebarEvents.beforeCollapse, [])) { + return; + } + this.config.collapsed = true; + this.events.fire(types_1.SidebarEvents.afterCollapse, []); + this.paint(); + }; + Sidebar.prototype.expand = function () { + if (!this.events.fire(types_1.SidebarEvents.beforeExpand, [])) { + return; + } + this.config.collapsed = false; + this.events.fire(types_1.SidebarEvents.afterExpand, []); this.paint(); }; Sidebar.prototype.isCollapsed = function () { @@ -22734,6 +26023,7 @@ var Sidebar = /** @class */ (function (_super) { ts_navbar_1.ItemType.navItem, ts_navbar_1.ItemType.menuItem, ts_navbar_1.ItemType.customHTMLButton, + ts_navbar_1.ItemType.customHTML, ts_navbar_1.ItemType.separator, ts_navbar_1.ItemType.spacer, ts_navbar_1.ItemType.title @@ -22741,10 +26031,10 @@ var Sidebar = /** @class */ (function (_super) { widgetName: "sidebar" }); }; - Sidebar.prototype._close = function () { + Sidebar.prototype._close = function (e) { this._activePosition = null; this._currentRoot = null; - _super.prototype._close.call(this); + _super.prototype._close.call(this, e); }; Sidebar.prototype._setRoot = function (id) { if (this.data.getParent(id) === this.data.getRoot()) { @@ -22816,18 +26106,18 @@ var Sidebar = /** @class */ (function (_super) { }; Sidebar.prototype._customInitEvents = function () { var _this = this; - this.events.on(ts_navbar_1.NavigationBarEvents.inputFocus, function () { - if (_this.config.collapsed) { - _this._waitRestore = true; - _this.toggle(); - } - }); this.events.on(ts_navbar_1.NavigationBarEvents.inputBlur, function () { if (_this._waitRestore) { _this.toggle(); _this._waitRestore = false; } }); + this.events.on(ts_navbar_1.NavigationBarEvents.inputFocus, function () { + if (_this.config.collapsed) { + _this._waitRestore = true; + _this.toggle(); + } + }); }; return Sidebar; }(ts_navbar_1.Navbar)); @@ -22835,7 +26125,7 @@ exports.Sidebar = Sidebar; /***/ }), -/* 196 */ +/* 205 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22844,12 +26134,12 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(197)); -__export(__webpack_require__(78)); +__export(__webpack_require__(206)); +__export(__webpack_require__(80)); /***/ }), -/* 197 */ +/* 206 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22878,14 +26168,21 @@ var __assign = (this && this.__assign) || function () { }; return __assign.apply(this, arguments); }; +var __spreadArrays = (this && this.__spreadArrays) || function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); -var html_1 = __webpack_require__(3); +var events_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var Keymanager_1 = __webpack_require__(13); -var ts_layout_1 = __webpack_require__(12); -var types_1 = __webpack_require__(78); +var ts_layout_1 = __webpack_require__(14); +var types_1 = __webpack_require__(80); var Tabbar = /** @class */ (function (_super) { __extends(Tabbar, _super); function Tabbar(container, config) { @@ -22894,15 +26191,43 @@ var Tabbar = /** @class */ (function (_super) { tabWidth: 200, tabHeight: 45, }, config)) || this; + if (_this.config.disabled) { + var disabled = _this.config.disabled; + var exsistId_1 = _this._cells.map(function (tab) { + return tab.id; + }); + if (Array.isArray(disabled)) { + disabled.forEach(function (tab) { + if (exsistId_1.indexOf(tab) !== -1 && _this._disabled.indexOf(tab) === -1) { + _this._disabled.push(tab); + } + }); + } + else if (exsistId_1.indexOf(disabled) !== -1 && _this._disabled.indexOf(disabled) === -1) { + _this._disabled.push(disabled); + } + _this.paint(); + } _this.events = new events_1.EventSystem(_this); return _this; } Tabbar.prototype.toVDOM = function () { var activeView = null; if (!this.config.noContent) { - activeView = this.cell(this.config.activeView); + activeView = this.getCell(this.config.activeView); if (activeView) { - activeView.config.css = activeView.config.css || ""; + var disabled = this._disabled.indexOf(this.config.activeView) !== -1 ? " dhx_tabbar-content--disabled" : ""; + if (activeView.config.css) { + if (activeView.config.css.indexOf("dhx_tabbar-content--disabled") !== -1) { + activeView.config.css = activeView.config.css.replace("dhx_tabbar-content--disabled", ""); + } + else { + activeView.config.css = activeView.config.css + disabled; + } + } + else { + activeView.config.css = disabled; + } } } return dom_1.el("div", { @@ -22918,11 +26243,36 @@ var Tabbar = /** @class */ (function (_super) { this._hotkeysDestructor(); _super.prototype.destructor.call(this); }; - Tabbar.prototype.removeCell = function (id) { + Tabbar.prototype.getWidget = function () { + var _this = this; + var activeCell = this._cells.filter(function (cell) { return _this.getActive() === cell.id; }); + return activeCell[0].getWidget(); + }; + Tabbar.prototype.setActive = function (id) { + var exsistId = this._cells.map(function (tab) { + return tab.id; + }); + if (exsistId.indexOf(id) !== -1 && this._disabled.indexOf(id) === -1) { + var prev = this.config.activeView; + this.getCell(id).show(); + this._focusTab(id); + this.events.fire(types_1.TabbarEvents.change, [id, prev]); + } + }; + Tabbar.prototype.getActive = function () { + return this.config ? this.config.activeView : null; + }; + Tabbar.prototype.addTab = function (config, index) { + this.addCell(config, index); + }; + Tabbar.prototype.removeTab = function (id) { var _this = this; + if (!this.events.fire(types_1.TabbarEvents.beforeClose, [id])) { + return; + } if (id === this.config.activeView) { - var cellLength = this._cells.length; - var index = core_1.findIndex(this._cells, function (cell) { return cell.id === _this.config.activeView; }); + var cellLength = this._getEnableTabs().length; + var index = core_1.findIndex(this._getEnableTabs(), function (cell) { return cell.id === _this.config.activeView; }); if (index < 0) { return; } @@ -22934,34 +26284,51 @@ var Tabbar = /** @class */ (function (_super) { this.config.activeView = null; } else { - this.setActive(this._cells[index].id); + this.setActive(this._getEnableTabs()[index].id); } } else { _super.prototype.removeCell.call(this, id); } - this.events.fire(types_1.TabbarEvents.close, [id]); + this.events.fire(types_1.TabbarEvents.afterClose, [id]); + this.events.fire(types_1.TabbarEvents.close, [id]); // TODO: remove sute_7.0 }; - Tabbar.prototype.setActive = function (id) { - var prev = this.config.activeView; - this.cell(id).show(); - this._focusTab(id); - this.events.fire(types_1.TabbarEvents.change, [id, prev]); + Tabbar.prototype.disableTab = function (id) { + var exsistId = this._cells.map(function (tab) { + return tab.id; + }); + if (exsistId.indexOf(id) !== -1 && this._disabled.indexOf(id) === -1) { + this._disabled.push(id); + this.paint(); + return true; + } + return false; }; - Tabbar.prototype.getActive = function () { - return this.config ? this.config.activeView : null; + Tabbar.prototype.enableTab = function (id) { + if (this._disabled.indexOf(id) !== -1) { + var sort = this._disabled.filter(function (tab) { return tab !== id; }); + this._disabled = __spreadArrays(sort); + this.paint(); + } + }; + Tabbar.prototype.isDisabled = function (id) { + return this._disabled.indexOf(id ? id : this.config.activeView) !== -1; + }; + // TODO: remove sute_7.0 + Tabbar.prototype.removeCell = function (id) { + this.removeTab(id); }; Tabbar.prototype._initHandlers = function () { var _this = this; _super.prototype._initHandlers.call(this); - this._handlers = __assign({}, this._handlers, { onTabClick: function (e) { + this._handlers = __assign(__assign({}, this._handlers), { onTabClick: function (e) { var tabId = html_1.locate(e, "dhx_tabid"); - if (!tabId) { + if (!tabId || _this._disabled.indexOf(tabId) !== -1) { return; } var prev = _this.config.activeView; if (e.target.classList.contains("dhx_tabbar-tab__close")) { - _this.removeCell(tabId); + _this.removeTab(tabId); } else { _this.config.activeView = tabId; @@ -22971,16 +26338,17 @@ var Tabbar = /** @class */ (function (_super) { } }); var activeNextTab = function (e) { e.preventDefault(); - var activeIndex = core_1.findIndex(_this._cells, function (cell) { return cell.id === _this.config.activeView; }); + var enableTabs = _this._getEnableTabs(); + var activeIndex = core_1.findIndex(enableTabs, function (cell) { return cell.id === _this.config.activeView; }); var prev = _this.config.activeView; if (activeIndex === -1) { return; } - if (activeIndex === _this.config.views.length - 1) { - _this.config.activeView = _this._cells[0].id; + if (activeIndex === enableTabs.length - 1) { + _this.config.activeView = enableTabs[0].id; } else { - _this.config.activeView = _this._cells[activeIndex + 1].id; + _this.config.activeView = enableTabs[activeIndex + 1].id; } _this.events.fire(types_1.TabbarEvents.change, [_this.config.activeView, prev]); _this._focusTab(_this.config.activeView); @@ -22988,16 +26356,17 @@ var Tabbar = /** @class */ (function (_super) { }; var activePrevTab = function (e) { e.preventDefault(); - var activeIndex = core_1.findIndex(_this._cells, function (cell) { return cell.id === _this.config.activeView; }); + var enableTabs = _this._getEnableTabs(); + var activeIndex = core_1.findIndex(enableTabs, function (cell) { return cell.id === _this.config.activeView; }); var prev = _this.config.activeView; if (activeIndex === -1) { return; } if (activeIndex === 0) { - _this.config.activeView = _this._cells[_this.config.views.length - 1].id; + _this.config.activeView = enableTabs[enableTabs.length - 1].id; } else { - _this.config.activeView = _this._cells[activeIndex - 1].id; + _this.config.activeView = enableTabs[activeIndex - 1].id; } _this.events.fire(types_1.TabbarEvents.change, [_this.config.activeView, prev]); _this._focusTab(_this.config.activeView); @@ -23013,9 +26382,13 @@ var Tabbar = /** @class */ (function (_super) { }; Tabbar.prototype._focusTab = function (id) { var _this = this; - setTimeout(function () { + dom_1.awaitRedraw().then(function () { _this.getRootView().refs[id].el.focus(); - }, 10); + }); + }; + Tabbar.prototype._getEnableTabs = function () { + var _this = this; + return this._cells.filter(function (tab) { return _this._disabled.indexOf(tab.config.id) === -1; }); }; Tabbar.prototype._getIndicatorPosition = function () { var _this = this; @@ -23057,21 +26430,28 @@ var Tabbar = /** @class */ (function (_super) { tabs_id: this._uid, class: "dhx_tabbar-header ", onclick: this._handlers.onTabClick - }, this._cells.map(function (cell) { + }, __spreadArrays(this._cells.map(function (cell) { + var _a = _this.config, closable = _a.closable, closeButtons = _a.closeButtons, activeView = _a.activeView; return dom_1.el("li", { class: "dhx_tabbar-tab" + (cell.config.tabCss ? " " + cell.config.tabCss : ""), dhx_tabid: cell.id, role: "presentation", }, [ - dom_1.el("button.dhx_button.dhx_tabbar-tab-button" + (_this.config.activeView === cell.id ? ".dhx_tabbar-tab-button--active" : ""), { + dom_1.el("button.dhx_button.dhx_tabbar-tab-button" + + (activeView === cell.id ? ".dhx_tabbar-tab-button--active" : "") + + (_this._disabled.indexOf(cell.config.id) !== -1 ? ".dhx_tabbar-tab-button--disabled" : ""), { "tabindex": "0", "style": tabStyle, "aria-controls": cell.id, "id": "tab-content-" + cell.id, - "aria-selected": "" + (_this.config.activeView === cell.id), + "aria-selected": "" + (activeView === cell.id), "_ref": cell.id, - }, [dom_1.el("span.dhx_button__text", cell.config.tab)]), - _this.config.closeButtons + }, [ + dom_1.el("span.dhx_button__text", cell.config.tab) + ]), + Array.isArray(closable) && closable.indexOf(cell.config.id) !== -1 && _this._disabled.indexOf(cell.config.id) === -1 || + closable && typeof closable === "boolean" && _this._disabled.indexOf(cell.config.id) === -1 || + closeButtons && typeof closeButtons === "boolean" && _this._disabled.indexOf(cell.config.id) === -1 ? dom_1.el("div.dhx_tabbar-tab__close.dxi--small.dxi.dxi-close", { "tabindex": 0, "role": "button", @@ -23079,7 +26459,7 @@ var Tabbar = /** @class */ (function (_super) { }) : null ]); - }).slice()) + }))) ]); }; return Tabbar; @@ -23088,7 +26468,7 @@ exports.Tabbar = Tabbar; /***/ }), -/* 198 */ +/* 207 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23097,13 +26477,13 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(199)); -__export(__webpack_require__(79)); -__export(__webpack_require__(80)); +__export(__webpack_require__(208)); +__export(__webpack_require__(81)); +__export(__webpack_require__(82)); /***/ }), -/* 199 */ +/* 208 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23135,14 +26515,14 @@ var __assign = (this && this.__assign) || function () { Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); -var html_1 = __webpack_require__(3); -var types_1 = __webpack_require__(21); +var events_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); +var types_1 = __webpack_require__(22); var view_1 = __webpack_require__(4); var ts_data_1 = __webpack_require__(7); -var Editor_1 = __webpack_require__(79); -var KeyNavigation_1 = __webpack_require__(200); -var types_2 = __webpack_require__(80); +var Editor_1 = __webpack_require__(81); +var KeyNavigation_1 = __webpack_require__(209); +var types_2 = __webpack_require__(82); function getSelectionIndent(level) { return level * 20; } @@ -23156,8 +26536,10 @@ var Tree = /** @class */ (function (_super) { file: "dxi dxi-file-outline", folder: "dxi dxi-folder", openFolder: "dxi dxi-folder-open" - } + }, + editable: false }, config)) || this; + _this.config.editable = _this.config.editable || _this.config.editing; // TODO: remove sute_7.0 var init = function (item) { item.opened = item.opened; item.$mark = types_2.SelectStatus.unselected; @@ -23202,7 +26584,7 @@ var Tree = /** @class */ (function (_super) { this._focusId = id; this.data.eachParent(id, function (item) { if (!item.opened) { - _this.open(item.id); + _this.expand(item.id); } }); this.paint(); @@ -23233,26 +26615,6 @@ var Tree = /** @class */ (function (_super) { }, true); this.paint(); }; - Tree.prototype.close = function (id) { - this.data.update(id, { opened: false }); - }; - Tree.prototype.openAll = function () { - var _this = this; - this.data.eachChild(this._root, function (_a) { - var id = _a.id; - return _this.data.haveItems(id) && _this.data.update(id, { opened: true }); - }, true); - }; - Tree.prototype.closeAll = function () { - var _this = this; - this.data.eachChild(this._root, function (_a) { - var id = _a.id; - return _this.data.haveItems(id) && _this.data.update(id, { opened: false }); - }, true); - }; - Tree.prototype.open = function (id) { - this.data.update(id, { opened: true }); - }; Tree.prototype.toggle = function (id) { var item = this.data.getItem(id); if (item.$autoload) { @@ -23263,7 +26625,12 @@ var Tree = /** @class */ (function (_super) { }); } else { - this.data.update(id, { opened: !item.opened }); + if (item.opened) { + this.collapse(id); + } + else { + this.expand(id); + } } }; Tree.prototype.getChecked = function () { @@ -23278,9 +26645,61 @@ var Tree = /** @class */ (function (_super) { Tree.prototype.checkItem = function (id) { this._updateItemCheck(id, types_2.SelectStatus.selected); }; - Tree.prototype.unCheckItem = function (id) { + Tree.prototype.collapse = function (id) { + if (this.data.haveItems(id)) { + if (!this.events.fire(types_2.TreeEvents.beforeCollapse, [id])) { + return; + } + this.data.update(id, { opened: false }); + this.events.fire(types_2.TreeEvents.afterCollapse, [id]); + } + }; + Tree.prototype.collapseAll = function () { + var _this = this; + this.data.eachChild(this._root, function (_a) { + var id = _a.id; + return _this.collapse(id); + }, true); + }; + Tree.prototype.expand = function (id) { + if (this.data.haveItems(id)) { + if (!this.events.fire(types_2.TreeEvents.beforeExpand, [id])) { + return; + } + this.data.update(id, { opened: true }); + this.events.fire(types_2.TreeEvents.afterExpand, [id]); + } + }; + Tree.prototype.expandAll = function () { + var _this = this; + this.data.eachChild(this._root, function (_a) { + var id = _a.id; + return _this.expand(id); + }, true); + }; + Tree.prototype.uncheckItem = function (id) { this._updateItemCheck(id, types_2.SelectStatus.unselected); }; + // TODO: remove sute_7.0 + Tree.prototype.close = function (id) { + this.collapse(id); + }; + // TODO: remove sute_7.0 + Tree.prototype.closeAll = function () { + this.collapseAll(); + }; + // TODO: remove sute_7.0 + Tree.prototype.open = function (id) { + this.expand(id); + }; + // TODO: remove sute_7.0 + Tree.prototype.openAll = function () { + this.expandAll(); + }; + // TODO: remove sute_7.0 + Tree.prototype.unCheckItem = function (id) { + this.uncheckItem(id); + }; Tree.prototype._draw = function () { var items = this._drawItems(this.data.getRoot()); return dom_1.el("ul", __assign({ class: "dhx_widget dhx_tree" + @@ -23342,7 +26761,7 @@ var Tree = /** @class */ (function (_super) { }); this.events.on(ts_data_1.DragEvents.dropComplete, function (id, pos) { if (_this.config.dropBehaviour === ts_data_1.DropBehaviour.child || (_this.config.dropBehaviour === ts_data_1.DropBehaviour.complex && pos === ts_data_1.DropPosition.in)) { - _this.open(id); + _this.expand(id); } }); this.events.on(ts_data_1.DragEvents.dragStart, function () { @@ -23354,7 +26773,7 @@ var Tree = /** @class */ (function (_super) { _this.paint(); }); this.events.on(types_1.SelectionEvents.afterSelect, function (id) { return _this._focusId = id; }); - if (this.config.editing) { + if (this.config.editable) { this.events.on(types_2.TreeEvents.itemDblClick, function (id) { return _this.editItem(id); }); } }; @@ -23379,7 +26798,7 @@ var Tree = /** @class */ (function (_super) { _this.checkItem(id); } else { - _this.unCheckItem(id); + _this.uncheckItem(id); } return; } @@ -23405,7 +26824,8 @@ var Tree = /** @class */ (function (_super) { if (!id) { return; } - _this.events.fire(types_2.TreeEvents.itemContextMenu, [id, e]); + _this.events.fire(types_2.TreeEvents.itemRightClick, [id, e]); + _this.events.fire(types_2.TreeEvents.itemContextMenu, [id, e]); // TODO: remove sute_7.0 } }; }; @@ -23552,14 +26972,14 @@ function getItemIconType(isFolder, isOpened) { /***/ }), -/* 200 */ +/* 209 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); -var html_1 = __webpack_require__(3); +var html_1 = __webpack_require__(2); var Keymanager_1 = __webpack_require__(13); var KeyNavigation = /** @class */ (function () { function KeyNavigation() { @@ -23593,7 +27013,7 @@ var KeyNavigation = /** @class */ (function () { var focused = _this._getFocused(); var parent = target.data.getParent(focused); if (target.data.getRoot() === parent) { - target.close(focused); + target.collapse(focused); return; } var isClosed = !target.data.getItem(focused).opened; @@ -23602,7 +27022,7 @@ var KeyNavigation = /** @class */ (function () { } else { if (focused !== target.data.getRoot()) { - target.close(focused); + target.collapse(focused); } } }); @@ -23617,7 +27037,7 @@ var KeyNavigation = /** @class */ (function () { } var focused = _this._getFocused(); if (target.data.haveItems(focused)) { - target.open(focused); + target.expand(focused); } }); this._keyManager.addHotKey("arrowup", function (e) { @@ -23743,7 +27163,7 @@ exports.keyNavigation = new KeyNavigation(); /***/ }), -/* 201 */ +/* 210 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23752,11 +27172,11 @@ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); -__export(__webpack_require__(202)); +__export(__webpack_require__(211)); /***/ }), -/* 202 */ +/* 211 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23764,12 +27184,12 @@ __export(__webpack_require__(202)); Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = __webpack_require__(1); var dom_1 = __webpack_require__(0); -var events_1 = __webpack_require__(2); +var events_1 = __webpack_require__(3); var Keymanager_1 = __webpack_require__(13); -var ts_layout_1 = __webpack_require__(12); -var ts_toolbar_1 = __webpack_require__(27); -var types_1 = __webpack_require__(203); -var WindowController_1 = __webpack_require__(204); +var ts_layout_1 = __webpack_require__(14); +var ts_toolbar_1 = __webpack_require__(29); +var types_1 = __webpack_require__(212); +var WindowController_1 = __webpack_require__(213); function detectDrag(e) { return new Promise(function (res) { var timeout = setTimeout(function () { @@ -23798,16 +27218,18 @@ var Window = /** @class */ (function () { movable: false, resizable: false, header: false, - closable: config.modal, - minWidth: 100, - minHeight: 100 + closable: config.modal }, config); + if (this.config.node && typeof this.config.node === "string") { + this.config.node = document.getElementById(this.config.node); + } + else if (!this.config.node) { + this.config.node = document.body; + } this._uid = core_1.uid(); this.events = new events_1.EventSystem(this); var popup = this._popup = document.createElement("div"); - popup.className = "dhx_popup dhx_widget dhx_popup--window" + (this.config.modal ? " dhx_popup--window_modal" : ""); popup.tabIndex = 1; - popup.style.position = "absolute"; if (!this.config.modal) { WindowController_1.default.add(this._uid, this._popup); } @@ -23821,7 +27243,7 @@ var Window = /** @class */ (function () { Window.prototype.paint = function () { this._layout.paint(); }; - Window.prototype.fullScreen = function () { + Window.prototype.setFullScreen = function () { this.setSize(window.innerWidth, window.innerHeight); this.setPosition(window.pageXOffset, window.pageYOffset); }; @@ -23835,10 +27257,10 @@ var Window = /** @class */ (function () { height: oldsize.height }; if (core_1.isDefined(width)) { - size.width = width; + this.config.width = size.width = width; } if (core_1.isDefined(height)) { - size.height = height; + this.config.height = size.height = height; } this._popup.style.width = size.width + "px"; this._popup.style.height = size.height + "px"; @@ -23889,17 +27311,20 @@ var Window = /** @class */ (function () { if (!this.events.fire(types_1.WindowEvents.beforeShow, [left, top])) { return; } - var height = this.config.height = this.config.height || this.config.minHeight || window.innerHeight / 2; - var width = this.config.width = this.config.width || this.config.minWidth || window.innerWidth / 2; - this.config.left = left = core_1.isDefined(left) ? left : (window.innerWidth - width) / 2 + window.pageXOffset; - this.config.top = top = core_1.isDefined(top) ? top : (window.innerHeight - height) / 2 + window.pageYOffset; + this._popup.className = "dhx_popup dhx_widget dhx_popup--window" + (this.config.modal ? " dhx_popup--window_modal" : "") + (this.config.css ? " " + this.config.css : ""); + this._popup.style.position = this.config.modal ? "fixed" : "absolute"; + var _a = this._getContainerParams(), containerInnerWidth = _a.containerInnerWidth, containerInnerHeight = _a.containerInnerHeight, containerXOffset = _a.containerXOffset, containerYOffset = _a.containerYOffset; + var width = this.config.width = this.config.width || this.config.minWidth || containerInnerWidth / 2; + var height = this.config.height = this.config.height || this.config.minHeight || containerInnerHeight / 2; + this.config.left = left = core_1.isDefined(left) ? left : (containerInnerWidth - width) / (this.config.modal ? 2 : 2 + containerXOffset); + this.config.top = top = core_1.isDefined(top) ? top : (containerInnerHeight - height) / (this.config.modal ? 2 : 2 + containerYOffset); if (this._isActive) { this._popup.style.left = left + "px"; this._popup.style.top = top + "px"; return; } if (this.config.viewportOverflow) { - WindowController_1.default.openFreeWindow(); + WindowController_1.default.openFreeWindow(this.config.node); } if (this.config.modal) { this._blockScreen(); @@ -23908,7 +27333,7 @@ var Window = /** @class */ (function () { this._popup.style.height = height + "px"; this._popup.style.left = left + "px"; this._popup.style.top = top + "px"; - document.body.appendChild(this._popup); + this.config.node.appendChild(this._popup); this._popup.focus(); this._isActive = true; this.events.fire(types_1.WindowEvents.afterShow, []); @@ -23918,27 +27343,33 @@ var Window = /** @class */ (function () { return; } if (this.config.viewportOverflow) { - WindowController_1.default.closeFreeWindow(); + WindowController_1.default.closeFreeWindow(this.config.node); } if (this._blocker) { - document.body.removeChild(this._blocker); + this.config.node.removeChild(this._blocker); if (this.config.closable) { Keymanager_1.keyManager.removeHotKey(null, this); } this._blocker = null; } - document.body.removeChild(this._popup); + this.config.node.removeChild(this._popup); this._isActive = false; this.events.fire(types_1.WindowEvents.afterHide, []); }; Window.prototype.isVisible = function () { return this._isActive; }; + Window.prototype.getWidget = function () { + return this._layout.getCell("content").getWidget(); + }; + Window.prototype.getContainer = function () { + return this.getRootView().data._container; + }; Window.prototype.attach = function (name, config) { - this._layout.cell("content").attach(name, config); + this._layout.getCell("content").attach(name, config); }; Window.prototype.attachHTML = function (html) { - this._layout.cell("content").attach(function () { return dom_1.el(".dhx_window__inner-html-content", { + this._layout.getCell("content").attach(function () { return dom_1.el(".dhx_window__inner-html-content", { ".innerHTML": html }); }); }; @@ -23958,6 +27389,10 @@ var Window = /** @class */ (function () { this._layout.destructor(); this._popup = null; }; + // TODO: remove sute_7.0 + Window.prototype.fullScreen = function () { + this.setFullScreen(); + }; Window.prototype._initHandlers = function () { var _this = this; this._handlers = { @@ -24020,7 +27455,7 @@ var Window = /** @class */ (function () { Window.prototype._initUI = function () { var _this = this; var rows = []; - var isHeader = this.config.header || this.config.title || this.config.closable; + var isHeader = this.config.header || this.config.title || this.config.closable || this.config.movable; if (isHeader) { rows.push({ id: "header", @@ -24040,7 +27475,7 @@ var Window = /** @class */ (function () { rows.push({ id: "resizers", gravity: false, css: "resizers" }); } var layout = this._layout = new ts_layout_1.Layout(this._popup, { - css: "dhx_window" + (this.config.modal ? " dhx_window--modal" : "") + (this.config.css ? " " + this.config.css : ""), + css: "dhx_window" + (this.config.modal ? " dhx_window--modal" : ""), rows: rows, on: { click: this._handlers.setActive @@ -24074,14 +27509,14 @@ var Window = /** @class */ (function () { } }); } - layout.cell("header").attach(header); + layout.getCell("header").attach(header); } if (this.config.footer) { var footer = this.footer = new ts_toolbar_1.Toolbar(); - layout.cell("footer").attach(footer); + layout.getCell("footer").attach(footer); } if (this.config.resizable) { - layout.cell("resizers").attach(function () { return _this._drawResizers(); }); + layout.getCell("resizers").attach(function () { return _this._drawResizers(); }); } }; Window.prototype._drawResizers = function () { @@ -24100,7 +27535,7 @@ var Window = /** @class */ (function () { }; Window.prototype._startDrag = function (x, y) { var _this = this; - document.body.classList.add("dhx_window--stop_selection"); + this.config.node.classList.add("dhx_window--stop_selection"); var deltaX = x - this._popup.offsetLeft; var deltaY = y - this._popup.offsetTop; var width = this._popup.offsetWidth; @@ -24108,24 +27543,23 @@ var Window = /** @class */ (function () { var mousemove = function (e) { var oldposition = { left: _this._popup.offsetLeft, - top: _this._popup.offsetTop, + top: _this._popup.offsetTop }; - var initX = window.pageXOffset; - var initY = window.pageYOffset; var newX = e.pageX - deltaX; var newY = e.pageY - deltaY; if (!_this.config.viewportOverflow) { - if (newX < initX) { - newX = initX; + var _a = _this._getContainerParams(), containerXOffset = _a.containerXOffset, containerYOffset = _a.containerYOffset, containerInnerWidth = _a.containerInnerWidth, containerInnerHeight = _a.containerInnerHeight; + if (newX < containerXOffset) { + newX = containerXOffset; } - else if (newX > initX + window.innerWidth - width) { - newX = initX + window.innerWidth - width; + else if (newX > containerXOffset + containerInnerWidth - width) { + newX = containerXOffset + containerInnerWidth - width; } - if (newY < initY) { - newY = initY; + if (newY < containerYOffset) { + newY = containerYOffset; } - else if (newY > initY + window.innerHeight - height) { - newY = initY + window.innerHeight - height; + else if (newY > containerYOffset + containerInnerHeight - height) { + newY = containerYOffset + containerInnerHeight - height; } } _this.config.left = newX; @@ -24142,15 +27576,15 @@ var Window = /** @class */ (function () { var mouseup = function () { document.removeEventListener("mouseup", mouseup); document.removeEventListener("mousemove", mousemove); - document.body.classList.remove("dhx_window--stop_selection"); + _this.config.node.classList.remove("dhx_window--stop_selection"); }; document.addEventListener("mouseup", mouseup); document.addEventListener("mousemove", mousemove); }; Window.prototype._startResize = function (resizeConfig) { var _this = this; - var minWidth = this.config.minWidth; - var minHeight = this.config.minHeight; + var minWidth = this.config.minWidth | 100; + var minHeight = this.config.minHeight | 100; var left = this._popup.offsetLeft; var top = this._popup.offsetTop; var width = this._popup.offsetWidth; @@ -24182,21 +27616,22 @@ var Window = /** @class */ (function () { resizeClassName = "dhx_window-body-pointer--right"; break; } - document.body.classList.add("dhx_window--stop_selection"); - document.body.classList.add(resizeClassName); + this.config.node.classList.add("dhx_window--stop_selection"); + this.config.node.classList.add(resizeClassName); var mousemove = function (e) { + var _a = _this._getContainerParams(), containerInnerWidth = _a.containerInnerWidth, containerInnerHeight = _a.containerInnerHeight, containerXOffset = _a.containerXOffset, containerYOffset = _a.containerYOffset; var size = { - width: e.pageX - left, - height: e.pageY - top, - left: e.pageX, - top: e.pageY + width: _this._notInNode() ? (e.pageX - left) : (e.pageX - _this.config.node.offsetLeft - left), + height: _this._notInNode() ? (e.pageY - top) : (e.pageY - _this.config.node.offsetTop - top), + left: _this._notInNode() ? e.pageX : e.pageX - _this.config.node.offsetLeft, + top: _this._notInNode() ? e.pageY : e.pageY - _this.config.node.offsetTop }; if (resizeConfig.right) { if (size.width < minWidth) { size.width = minWidth; } - else if (size.width > window.pageXOffset + window.innerWidth - left) { - size.width = window.pageXOffset + window.innerWidth - left; + else if (size.width > containerXOffset + containerInnerWidth - left) { + size.width = containerXOffset + containerInnerWidth - left; } _this._popup.style.width = size.width + "px"; } @@ -24204,8 +27639,8 @@ var Window = /** @class */ (function () { if (size.height < minHeight) { size.height = minHeight; } - else if (size.height > window.pageYOffset + window.innerHeight - top) { - size.height = window.pageYOffset + window.innerHeight - top; + else if (size.height > containerYOffset + containerInnerHeight - top) { + size.height = containerYOffset + containerInnerHeight - top; } _this._popup.style.height = size.height + "px"; } @@ -24219,8 +27654,8 @@ var Window = /** @class */ (function () { _this._popup.style.width = size.width + "px"; } if (resizeConfig.top) { - if (size.top < window.pageYOffset) { - size.top = window.pageYOffset; + if (size.top < containerYOffset) { + size.top = containerYOffset; } else if (top + height - size.top < minHeight) { size.top = top + height - minHeight; @@ -24237,8 +27672,8 @@ var Window = /** @class */ (function () { var mouseup = function () { document.removeEventListener("mouseup", mouseup); document.removeEventListener("mousemove", mousemove); - document.body.classList.remove("dhx_window--stop_selection"); - document.body.classList.remove(resizeClassName); + _this.config.node.classList.remove("dhx_window--stop_selection"); + _this.config.node.classList.remove(resizeClassName); }; document.addEventListener("mouseup", mouseup); document.addEventListener("mousemove", mousemove); @@ -24247,21 +27682,33 @@ var Window = /** @class */ (function () { var _this = this; var blocker = document.createElement("div"); blocker.className = "dhx_window__overlay"; - document.body.appendChild(blocker); + this.config.node.appendChild(blocker); this._blocker = blocker; if (this.config.closable) { blocker.addEventListener("click", function () { return _this.hide(); }); Keymanager_1.keyManager.addHotKey("escape", function () { return _this.hide(); }, this); } }; + Window.prototype._notInNode = function () { + return this.config.node === document.body || this.config.modal; + }; + Window.prototype._getContainerParams = function () { + var notInNode = this._notInNode(); + return { + containerInnerWidth: notInNode ? window.innerWidth : this.config.node.offsetWidth, + containerInnerHeight: notInNode ? window.innerHeight : this.config.node.offsetHeight, + containerXOffset: notInNode ? window.pageXOffset : this.config.node.scrollLeft, + containerYOffset: notInNode ? window.pageYOffset : this.config.node.scrollTop + }; + }; return Window; }()); exports.Window = Window; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(14))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(12))) /***/ }), -/* 203 */ +/* 212 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24280,7 +27727,7 @@ var WindowEvents; /***/ }), -/* 204 */ +/* 213 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -24311,16 +27758,16 @@ exports.default = { popup.classList.add("dhx_popup--window_active"); } }, - openFreeWindow: function () { + openFreeWindow: function (node) { if (this.freeCount === 0) { - document.body.classList.add("dhx_window--no-scroll"); + node.classList.add("dhx_window--no-scroll"); } this.freeCount++; }, - closeFreeWindow: function () { + closeFreeWindow: function (node) { this.freeCount--; if (this.freeCount === 0) { - document.body.classList.remove("dhx_window--no-scroll"); + node.classList.remove("dhx_window--no-scroll"); } } }; diff --git a/codebase/suite.min.css b/codebase/suite.min.css index 8e6baf6..e28a5af 100644 --- a/codebase/suite.min.css +++ b/codebase/suite.min.css @@ -1 +1 @@ -.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:-webkit-grab!important;cursor:grab!important}.dhx_no-select--pointer{cursor:pointer}.dhx_no-select--pointer,.dhx_no-select--resize{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"liga";font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{box-sizing:border-box}body{margin:0}.dhx_widget{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_widget--bordered{border:1px solid #e4e4e4}.dhx_widget--border_top{border-top:1px solid #e4e4e4}.dhx_widget--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_widget--border_left{border-left:1px solid #e4e4e4}.dhx_widget--border_right{border-right:1px solid #e4e4e4}.dhx_widget--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget--bg_white{background-color:#fff}.dhx_widget--bg_gray{background-color:#f7f7f7}.dhx_drag-ghost *{box-sizing:border-box}@font-face{font-family:Roboto;src:url(fonts/roboto-regular-webfont.woff2) format("woff2"),url(fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-medium-webfont.woff2) format("woff2"),url(fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-bold-webfont.woff2) format("woff2"),url(fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}@font-face{font-family:dhxicons;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff")}.dxi:before{font-family:dhxicons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dxi.dxi-alert-circle:before{content:"\F101"}.dxi.dxi-arrow-collapse:before{content:"\F102"}.dxi.dxi-arrow-expand:before{content:"\F103"}.dxi.dxi-blur-off:before{content:"\F104"}.dxi.dxi-blur:before{content:"\F105"}.dxi.dxi-calendar-today:before{content:"\F106"}.dxi.dxi-check:before{content:"\F107"}.dxi.dxi-checkbox-blank-outline:before{content:"\F108"}.dxi.dxi-checkbox-marked-circle:before{content:"\F109"}.dxi.dxi-checkbox-marked:before{content:"\F10A"}.dxi.dxi-chevron-down:before{content:"\F10B"}.dxi.dxi-chevron-left:before{content:"\F10C"}.dxi.dxi-chevron-right:before{content:"\F10D"}.dxi.dxi-chevron-up:before{content:"\F10E"}.dxi.dxi-clock-outline:before{content:"\F10F"}.dxi.dxi-clock:before{content:"\F110"}.dxi.dxi-close-circle:before{content:"\F111"}.dxi.dxi-close:before{content:"\F112"}.dxi.dxi-delete-forever:before{content:"\F113"}.dxi.dxi-delete:before{content:"\F114"}.dxi.dxi-dots-horizontal:before{content:"\F115"}.dxi.dxi-dots-vertical:before{content:"\F116"}.dxi.dxi-download:before{content:"\F117"}.dxi.dxi-eraser:before{content:"\F118"}.dxi.dxi-eye-off:before{content:"\F119"}.dxi.dxi-eye:before{content:"\F11A"}.dxi.dxi-eyedropper-variant:before{content:"\F11B"}.dxi.dxi-file-export:before{content:"\F11C"}.dxi.dxi-file-outline:before{content:"\F11D"}.dxi.dxi-filter-variant:before{content:"\F11E"}.dxi.dxi-folder-open:before{content:"\F11F"}.dxi.dxi-folder:before{content:"\F120"}.dxi.dxi-format-align-center:before{content:"\F121"}.dxi.dxi-format-align-left:before{content:"\F122"}.dxi.dxi-format-align-right:before{content:"\F123"}.dxi.dxi-format-bold:before{content:"\F124"}.dxi.dxi-format-color-fill:before{content:"\F125"}.dxi.dxi-format-color-text:before{content:"\F126"}.dxi.dxi-format-italic:before{content:"\F127"}.dxi.dxi-format-line-spacing:before{content:"\F128"}.dxi.dxi-format-quote-close:before{content:"\F129"}.dxi.dxi-format-quote-open:before{content:"\F12A"}.dxi.dxi-format-strikethrough:before{content:"\F12B"}.dxi.dxi-format-underline:before{content:"\F12C"}.dxi.dxi-format-vertical-align-bottom:before{content:"\F12D"}.dxi.dxi-format-vertical-align-center:before{content:"\F12E"}.dxi.dxi-format-vertical-align-top:before{content:"\F12F"}.dxi.dxi-function-variant:before{content:"\F130"}.dxi.dxi-help-circle-outline:before{content:"\F131"}.dxi.dxi-information-outline:before{content:"\F132"}.dxi.dxi-key:before{content:"\F133"}.dxi.dxi-link-variant-off:before{content:"\F134"}.dxi.dxi-link-variant:before{content:"\F135"}.dxi.dxi-loading:before{content:"\F136"}.dxi.dxi-magnify:before{content:"\F137"}.dxi.dxi-menu-down:before{content:"\F138"}.dxi.dxi-menu-left:before{content:"\F139"}.dxi.dxi-menu-right:before{content:"\F13A"}.dxi.dxi-menu-up:before{content:"\F13B"}.dxi.dxi-minus-box:before{content:"\F13C"}.dxi.dxi-minus:before{content:"\F13D"}.dxi.dxi-numeric:before{content:"\F13E"}.dxi.dxi-pencil:before{content:"\F13F"}.dxi.dxi-plus-circle:before{content:"\F140"}.dxi.dxi-plus:before{content:"\F141"}.dxi.dxi-printer:before{content:"\F142"}.dxi.dxi-redo:before{content:"\F143"}.dxi.dxi-rotate-right:before{content:"\F144"}.dxi.dxi-sort-variant:before{content:"\F145"}.dxi.dxi-table-column-plus-before:before{content:"\F146"}.dxi.dxi-table-column-remove:before{content:"\F147"}.dxi.dxi-table-column:before{content:"\F148"}.dxi.dxi-table-row-plus-after:before{content:"\F149"}.dxi.dxi-table-row-remove:before{content:"\F14A"}.dxi.dxi-table-row:before{content:"\F14B"}.dxi.dxi-undo:before{content:"\F14C"}.dxi.dxi-unfold-more-horizontal:before{content:"\F14D"}.dxi.dxi-vault:before{content:"\F14E"}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:20px}.dxi--small:before{font-size:16px}.dxi--medium:before{font-size:20px}.dxi--large:before{font-size:24px}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:4px}.dhx_button__loading{position:absolute;left:0;top:0;right:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_button__loading-icon{-webkit-animation:a .9s linear infinite;animation:a .9s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:28px}.dhx_button--circle.dhx_button--size_medium{border-radius:32px}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:6px;padding-right:6px}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:4px;padding-right:4px}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:4px 12px;font-size:14px;line-height:20px}.dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:16px;margin-top:-8px;margin-left:-8px}.dhx_button--size_medium{padding:6px 16px;text-transform:uppercase;line-height:20px}.dhx_button--size_medium .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:20px;margin-top:-10px;margin-left:-10px}.dhx_button--view_flat{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;color:#fff;-webkit-transition:background-color .2s ease-in,color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{-webkit-transition:background-color .2s ease-out,color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_flat.dhx_button--color_primary{background-color:#0288d1;outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:#35a0da}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:#0288d1;box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary:disabled{background-color:#81c4e8}.dhx_button--view_flat.dhx_button--color_secondary{background-color:#4d4d4d;outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:#717171}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:#4d4d4d;box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary:disabled{background-color:#a6a6a6}.dhx_button--view_flat.dhx_button--color_danger{background-color:#ff5252;outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:#ff7575}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:#ff5252;box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger:disabled{background-color:#ffa9a9}.dhx_button--view_flat.dhx_button--color_success{background-color:#0ab169;outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:#3bc187}.dhx_button--view_flat.dhx_button--color_success:active{background-color:#0ab169;box-shadow:none}.dhx_button--view_flat.dhx_button--color_success:disabled{background-color:#85d8b4}.dhx_button--view_link{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;border-radius:2px;background:transparent;-webkit-transition:background-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_link:focus,.dhx_button--view_link:hover{-webkit-transition:background-color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:background-color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_link.dhx_button--color_primary{color:#0288d1;outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:#d9edf8}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:#b8def2}.dhx_button--view_link.dhx_button--color_primary:disabled{color:#81c4e8}.dhx_button--view_link.dhx_button--color_secondary{color:#4d4d4d;outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:#e4e4e4}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:#cdcdcd}.dhx_button--view_link.dhx_button--color_secondary:disabled{color:#a6a6a6}.dhx_button--view_link.dhx_button--color_danger{color:#ff5252;outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:#ffe5e5}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:#ffcfcf}.dhx_button--view_link.dhx_button--color_danger:disabled{color:#ffa9a9}.dhx_button--view_link.dhx_button--color_success{color:#0ab169;outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:#daf3e9}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:#bae9d5}.dhx_button--view_link.dhx_button--color_success:disabled{color:#85d8b4}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:8px;margin-right:auto}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_form-group{position:relative;display:block;text-align:left;padding-bottom:16px}.dhx_form-group--simplevault{line-height:0}.dhx_form-group--simplevault .dhx_label{margin-bottom:4px}.dhx_form-group--textarea{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%}.dhx_form-group--textarea .dhx_input--textarea,.dhx_form-group--textarea .dhx_input-wrapper{height:100%}.dhx_form-group--textarea .dhx_label{min-height:20px;line-height:20px;margin-bottom:4px}.dhx_form-group--inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;width:100%;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;max-height:40px;margin-right:16px;margin-bottom:0;text-align:right;width:100%;margin-top:6px;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.dhx_form-group--inline .dhx_input-wrapper{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;width:300%;height:100%}.dhx_form-group--inline .dhx_label--with-help{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative;margin-bottom:0}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--no-message-holder{padding-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input-caption,.dhx_form-group--state_error .dhx_label{color:#ff5252}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{box-shadow:inset 0 0 0 1px #ffbaba}.dhx_form-group--state_error .dhx_simplevault,.dhx_form-group--state_error .dhx_simplevault:focus{border-color:#ffbaba}.dhx_form-group--state_success .dhx_input-caption,.dhx_form-group--state_success .dhx_label{color:#0ab169}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{box-shadow:inset 0 0 0 1px #9de0c3}.dhx_form-group--state_success .dhx_simplevault,.dhx_form-group--state_success .dhx_simplevault:focus{border-color:#9de0c3}.dhx_form-group--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_form-group .dhx_combobox{margin:0}.dhx_input-wrapper{width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative}.dhx_input-wrapper:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.dhx_input-container{width:100%;display:inline-block;position:relative}.dhx_input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:#f6f6f6;background-clip:padding-box;box-shadow:inset 0 0 0 1px #dfdfdf;border:0;border-radius:2px;outline:0;-webkit-transition:border-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:border-color .2s ease-in,box-shadow .2s ease-in}.dhx_input::-webkit-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input:-ms-input-placeholder,.dhx_input::-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::placeholder{color:rgba(0,0,0,.5)}.dhx_input:focus{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_input--icon-padding{padding-right:24px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{background:none;padding-left:0}.dhx_input--textinput,.dhx_input--textinput:focus{box-shadow:none}.dhx_input__icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:4px;z-index:1;color:rgba(0,0,0,.5);pointer-events:none}.dhx_input__icon--color-selected{border-radius:2px}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:20px;line-height:20px}.dhx_input-caption{left:0;bottom:0;max-width:100%;font-size:12px;font-weight:400;line-height:16px;color:rgba(0,0,0,.5);white-space:wrap;cursor:default}.dhx_input-caption,.dhx_label{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;overflow-x:hidden;text-overflow:ellipsis}.dhx_label{display:inline-block;width:auto;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap;cursor:pointer;-webkit-transition:color .2s ease-in,opacity .2s ease-in;transition:color .2s ease-in,opacity .2s ease-in}.dhx_label:hover{opacity:.8;-webkit-transition:color .2s ease-out,opacity .2s ease-out;transition:color .2s ease-out,opacity .2s ease-out}.dhx_label__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_label--with-help{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_label-help{margin-left:4px;color:#0288d1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_label-help:focus{outline:none}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__visual-input{display:block;border:2px solid rgba(0,0,0,.5);width:20px;height:20px;background-color:#fff;border-radius:2px;cursor:pointer}.dhx_checkbox .dhx_label{margin-top:4px;margin-bottom:0;width:auto}.dhx_checkbox .dhx_label:after{display:none}.dhx_checkbox .dhx_input-caption{position:static;display:block;-webkit-transform:none;-ms-transform:none;transform:none}.dhx_checkbox.dhx_form-group--inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.dhx_checkbox__input:focus+.dhx_checkbox__visual-input{border-color:#0288d1}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input{background-color:#0288d1;background-position:50%;background-size:cover;border-color:#0288d1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_radiobutton{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_radiobutton__visual-input{display:block;border:2px solid rgba(0,0,0,.5);bottom:4px;left:0;width:20px;height:20px;background-color:#fff;border-radius:50%}.dhx_radiobutton .dhx_label{margin-top:4px;margin-bottom:0;width:auto;cursor:pointer}.dhx_radiobutton .dhx_input-caption{position:static;display:block}.dhx_radiobutton.dhx_form-group--inline{white-space:nowrap;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_radiobutton.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.dhx_radiobutton__input:focus+.dhx_radiobutton__visual-input{border-color:#0288d1}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:#0288d1;border-color:#0288d1;box-shadow:inset 0 0 0 4px #fff;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:8px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{background-color:#f6f6f6;border:1px solid #dfdfdf;border-radius:2px;-webkit-transition:all .2s ease-in;transition:all .2s ease-in;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;font-weight:400;text-align:center;color:rgba(0,0,0,.7);overflow:hidden;position:relative}.dhx_simplevault__drop-area{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:20px}.dhx_simplevault__icon:before{font-size:40px;color:rgba(0,0,0,.3);-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:#0288d1;cursor:pointer}.dhx_simplevault--on-drag{border-style:dashed;-webkit-transition:border .2s ease-out;transition:border .2s ease-out}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in,-webkit-transform .2s ease-in}.dhx_simplevault-files{width:100%;margin:0;padding:0;list-style:none;border-top:1px solid #e4e4e4;max-height:276px;overflow-y:auto}.dhx_simplevault-files__item{position:relative;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;text-align:left;color:rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:1px solid #e4e4e4}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.dhx_simplevault-loader{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:#ededed;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);opacity:0;will-change:transform;-webkit-transition:0ms;transition:0ms;z-index:1}.dhx_simplevault-loader .dhx_simplevault__icon:before{color:#0288d1}.dhx_slider{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-bottom:16px}.dhx_slider--label-inline{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_slider--label-inline .dhx_slider__label{text-align:right;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;margin-right:16px;margin-bottom:0;width:100%}.dhx_slider--label-inline .dhx_label--with-help{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_slider--label-inline .dhx_slider__track-holder{width:300%;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_slider--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_slider--mode_vertical{height:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.dhx_slider--mode_vertical .dhx_slider__label{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.dhx_slider--mode_vertical .dhx_slider__track-holder{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:8px 0}.dhx_slider--mode_vertical .dhx_slider__track{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding:0 8px}.dhx_slider--mode_vertical .dhx_slider__track:before{width:2px;height:100%}.dhx_slider--mode_vertical .dhx_slider__range{width:2px;left:50%;-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%)}.dhx_slider--mode_vertical .dhx_slider__thumb{left:50%}.dhx_slider--mode_vertical .dhx_slider__tick{height:1px;width:4px}.dhx_slider--mode_vertical .dhx_slider__tick:not(:first-child){-webkit-transform:translateY(-.5px);-ms-transform:translateY(-.5px);transform:translateY(-.5px)}.dhx_slider--mode_vertical .dhx_slider__tick--major{width:8px}.dhx_slider--mode_vertical .dhx_slider__tick-label{top:50%;left:100%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);padding-left:2px}.dhx_slider--ticks .dhx_slider__ticks-holder{height:4px}.dhx_slider--ticks.dhx_slider--mode_vertical .dhx_slider__ticks-holder{height:100%;width:4px}.dhx_slider__track-holder{position:relative;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.dhx_slider__track{position:relative;padding-top:8px;padding-bottom:8px;cursor:pointer;z-index:1}.dhx_slider__track:before{content:"";display:block;height:2px;background-color:#b3b3b3}.dhx_slider__thumb{position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background-color:#0288d1;-webkit-transition:border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;transition:border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;transition:transform .1s ease-out,border-color .2s ease-out,background-color .2s ease-out;transition:transform .1s ease-out,border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;will-change:transform;cursor:pointer}.dhx_slider__thumb:after,.dhx_slider__thumb:before{content:"";display:block;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%) scale(0);-ms-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);border-radius:50%;will-change:transform}.dhx_slider__thumb:before{width:28px;height:28px;background-color:rgba(2,136,209,.15)}.dhx_slider__thumb:after,.dhx_slider__thumb:before{-webkit-transition:background-color .2s ease-out,-webkit-transform .2s ease-out;transition:background-color .2s ease-out,-webkit-transform .2s ease-out;transition:transform .2s ease-out,background-color .2s ease-out;transition:transform .2s ease-out,background-color .2s ease-out,-webkit-transform .2s ease-out}.dhx_slider__thumb:after{width:16px;height:16px;background-color:#0288d1}.dhx_slider__thumb:focus,.dhx_slider__thumb:hover{outline:none}.dhx_slider__thumb:focus:before,.dhx_slider__thumb:hover:before{-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);-webkit-transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in,-webkit-transform .2s ease-in}.dhx_slider__thumb--active,.dhx_slider__thumb:active{z-index:1}.dhx_slider__thumb--active:after,.dhx_slider__thumb:active:after{-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);-webkit-transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in,-webkit-transform .2s ease-in}.dhx_slider__thumb--nullable{background-color:#b3b3b3}.dhx_slider__thumb--nullable:after{width:8px;height:8px;-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);background:#fff}.dhx_slider__thumb--nullable:before{background-color:rgba(77,77,77,.15)}.dhx_slider__thumb--disabled{background-color:#b3b3b3;border:2px solid #fff}.dhx_slider__thumb--disabled:after,.dhx_slider__thumb--disabled:before{display:none}.dhx_slider__thumb-label{position:absolute;padding:6px 12px;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border-radius:2px;background-color:#333;box-shadow:0 2px 5px rgba(0,0,0,.3);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#fff;-webkit-transition:opacity transform .01s ease-in;transition:opacity transform .01s ease-in;pointer-events:none;z-index:1}.dhx_slider__thumb-label--vertical{left:50px}.dhx_slider__thumb-label--horizontal{top:-30px}.dhx_slider__thumb-label--active{z-index:10}.dhx_slider__range{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);height:2px;background-color:#0288d1;pointer-events:none}.dhx_slider__ticks-holder{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_slider__tick{position:absolute;top:0;width:1px;height:4px;background-color:#b3b3b3}.dhx_slider__tick:not(:first-child){-webkit-transform:translateX(-.5px);-ms-transform:translateX(-.5px);transform:translateX(-.5px)}.dhx_slider__tick--major{height:8px}.dhx_slider__tick-label{position:absolute;top:10px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:10px;color:rgba(0,0,0,.7);line-height:1}.dhx_message-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;position:absolute;padding:20px;max-height:100%;-ms-scroll-chaining:none;overscroll-behavior:contain;width:240px;overflow:hidden;border:2px solid transparent;z-index:2147483647}.dhx_message-container *{box-sizing:border-box}.dhx_message-container--top-left{top:0;left:0}.dhx_message-container--top-right{top:0;right:0}.dhx_message-container--bottom-left{left:0}.dhx_message-container--bottom-left,.dhx_message-container--bottom-right{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;bottom:0}.dhx_message-container--bottom-right{right:0}.dhx_message-container--in-body{position:fixed}.dhx_message{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;padding:12px;margin-bottom:4px;margin-top:4px;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.1),0 10px 20px rgba(0,0,0,.1);background-color:#fff;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_message,.dhx_message__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;line-height:20px;font-size:14px;color:rgba(0,0,0,.7)}.dhx_message__text{overflow-wrap:break-word;word-wrap:break-word;word-break:break-all}.dhx_message__icon{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;padding-left:8px;color:rgba(0,0,0,.5)}.dhx_message--error .dhx_message__icon,.dhx_message--error .dhx_message__text,.dhx_message--success .dhx_message__icon,.dhx_message--success .dhx_message__text{color:#fff}.dhx_message--error{background-color:#ff5252}.dhx_message--success{background-color:#0ab169}.dhx_alert{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:600px;padding:24px;background:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3);will-change:transform;z-index:2147483647}.dhx_alert__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2147483646}.dhx_alert__header{position:relative;margin-bottom:20px;font-weight:500;line-height:20px;text-transform:uppercase;color:rgba(0,0,0,.7)}.dhx_alert__content,.dhx_alert__header{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px}.dhx_alert__content{height:100%;font-weight:400;color:rgba(0,0,0,.5);line-height:1.3;overflow-y:auto;overflow-wrap:break-word;word-wrap:break-word}.dhx_alert__footer{margin-top:20px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.dhx_alert__footer--center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_alert__footer--right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_alert__footer .dhx_button:not(:last-child){margin-right:16px}.dhx_tooltip{pointer-events:none;border-radius:2px;background-color:#333;box-shadow:0 2px 5px rgba(0,0,0,.3);padding:6px 12px;-webkit-transition:opacity .01s ease,-webkit-transform .01s ease;transition:opacity .01s ease,-webkit-transform .01s ease;transition:opacity .01s ease,transform .01s ease;transition:opacity .01s ease,transform .01s ease,-webkit-transform .01s ease;opacity:0;z-index:999;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_tooltip--animate{opacity:1;-webkit-transition:opacity .15s ease-out;transition:opacity .15s ease-out}.dhx_tooltip--forced{opacity:1}.dhx_tooltip--bottom{margin:8px 0 0}.dhx_tooltip--top{margin:-8px 0 0}.dhx_tooltip--left{margin:0 0 -8px}.dhx_tooltip--right{margin:0 0 0 8px}.dhx_tooltip--light{background-color:#fff}.dhx_tooltip--light .dhx_tooltip__text{color:rgba(0,0,0,.7)}.dhx_widget--fullscreen .dhx_tooltip{z-index:2147483647}.dhx_tooltip__text{color:#fff;font-size:14px;font-weight:500;line-height:20px}.dhx_layout{max-width:100%;max-height:100%;width:100%;height:100%}.dhx_layout-columns{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;overflow:hidden}.dhx_layout-columns>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_layout-columns>.dhx_layout-cell--resizeble{overflow-x:hidden}.dhx_layout-rows{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.dhx_layout-rows>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_layout-rows>.dhx_layout-cell--resizeble{overflow-y:hidden}.dhx_layout-cell--start,.dhx_layout-columns--start,.dhx_layout-rows--start{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.dhx_layout-cell--center,.dhx_layout-columns--center,.dhx_layout-rows--center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_layout-cell--end,.dhx_layout-columns--end,.dhx_layout-rows--end{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_layout-cell--between,.dhx_layout-columns--between,.dhx_layout-rows--between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_layout-cell--around,.dhx_layout-columns--around,.dhx_layout-rows--around{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.dhx_layout-cell--evenly,.dhx_layout-columns--evenly,.dhx_layout-rows--evenly{-webkit-box-pack:space-evenly;-webkit-justify-content:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.dhx_layout-cell{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.dhx_layout-cell--bordered{border:1px solid #e4e4e4}.dhx_layout-cell--border_top{border-top:1px solid #e4e4e4}.dhx_layout-cell--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_layout-cell--border_left{border-left:1px solid #e4e4e4}.dhx_layout-cell--border_right{border-right:1px solid #e4e4e4}.dhx_layout-cell--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_layout-cell--no-border{border:0}.dhx_layout-cell--no-border_top{border-top:0}.dhx_layout-cell--no-border_bottom{border-bottom:0}.dhx_layout-cell--no-border_left{border-left:0}.dhx_layout-cell--no-border_right{border-right:0}.dhx_layout-cell--gravity{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_layout-cell--flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.dhx_layout-cell--accordion>.dhx_layout-cell--collapsed{border-bottom:0}.dhx_layout-cell--collapsed{overflow:hidden;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_layout-cell-content{padding:12px}.dhx_layout-cell-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #e4e4e4;padding:8px 12px}.dhx_layout-cell-header__title{margin:0;font-size:14px;line-height:20px;font-weight:500;color:rgba(0,0,0,.7);white-space:nowrap;overflow:hidden;text-overflow:clip;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.dhx_layout-cell-header__icon{margin-right:16px}.dhx_layout-cell-header__image-wrapper{position:relative;width:20px;height:20px;margin-right:8px}.dhx_layout-cell-header__image{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border-radius:50%}.dhx_layout-cell-header__collapse-icon{margin-left:auto;color:#4d4d4d;-webkit-transition:color .2s ease-in,-webkit-transform .2s ease-in;transition:color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,color .2s ease-in;transition:transform .2s ease-in,color .2s ease-in,-webkit-transform .2s ease-in}.dhx_layout-cell-header--collapseble{cursor:pointer}.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__title,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__title{color:#0288d1;-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.dhx_layout-cell-header--collapseble:focus,.dhx_layout-cell-header:focus{outline-width:0}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col{border-bottom:0;position:relative}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col .dhx_layout-cell-header__title{position:absolute;-webkit-transform-origin:left;-ms-transform-origin:left;transform-origin:left;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);bottom:-12px;left:50%}.dhx_layout-cell-header+.dhx_layout-cell-content{overflow:auto;max-height:calc(100% - 37px)}.dhx_layout-resizer{position:relative;overflow:visible;text-align:center}.dhx_layout-resizer .dhx_layout-resizer__icon{position:relative;z-index:1}.dhx_layout-resizer--x{width:0;height:100%;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.dhx_layout-resizer--x .dhx_layout-resizer__icon{color:rgba(0,0,0,.5);top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);cursor:ew-resize}.dhx_layout-resizer--x .dhx_layout-resizer__icon:before{font-size:16px}.dhx_layout-resizer--y{height:0;width:100%}.dhx_layout-resizer--y .dhx_layout-resizer__icon{color:rgba(0,0,0,.5);-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);cursor:ns-resize}.dhx_layout-resizer--y .dhx_layout-resizer__icon:before{font-size:16px}.dhx_navbar-count{width:24px;height:24px;border-radius:50%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:24px;color:#fff;text-align:center;z-index:1}.dhx_navbar-count--absolute{margin-left:0;position:absolute;top:-4px;top:-10px;right:-10px}.dhx_navbar-count--button-inline{margin-top:-4px;margin-bottom:-4px;margin-left:12px}.dhx_navbar-count--overlimit{width:auto;border-radius:22px;padding:0 8px}.dhx_navbar-count--color_success{background-color:#0ab169}.dhx_navbar-count--color_danger{background-color:#ff5252}.dhx_navbar-count--color_primary{background-color:#0288d1}.dhx_navbar-count--color_secondary{background-color:#4d4d4d}.dhx_navbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;margin:0;padding:0;width:100%;list-style:none}.dhx_navbar:focus{outline:none}.dhx_navbar--horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_navbar--vertical{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:auto}.dhx_navbar .dhx_button--color_secondary.dhx_button--view_link .dhx_button__icon{color:rgba(0,0,0,.5)}.dhx_navbar-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);font-weight:500}.dhx_navbar-title--sidebar{display:block;padding:12px}.dhx_timepicker{width:100%;padding:50px 20px;min-width:248px;background-color:#fff}.dhx_timepicker--with-actions{padding:4px 20px 0}.dhx_timepicker__inputs{text-align:center;margin-bottom:28px;margin-top:16px}.dhx_timepicker__close{min-height:32px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-bottom:6px}.dhx_timepicker__button-close{text-transform:uppercase;-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px)}.dhx_timepicker__save{padding-top:12px;min-height:76px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_timepicker-inputs{position:relative;display:inline-block}.dhx_timepicker-input{width:48px;height:38px;font-size:30px;padding-bottom:4px;color:rgba(0,0,0,.7);line-height:30px;text-align:center;outline:none;border:none;border-bottom:1px solid #ededed;-webkit-transition:border-color .2s ease-in;transition:border-color .2s ease-in;background-color:transparent}.dhx_timepicker-input:focus{border-bottom:1px solid #81c4e8;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.dhx_timepicker-ampm{position:absolute;right:-32px;bottom:4px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.3);font-size:16px;line-height:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_timepicker-delimer{position:relative;top:-2px;height:30px;width:8px;color:rgba(0,0,0,.7);line-height:30px;font-size:30px}.dhx_calendar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;min-height:258px;padding:12px;background-color:#fff}.dhx_calendar--with_timepicker{min-height:310px}.dhx_calendar__wrapper{position:relative;z-index:1;width:100%;min-height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_calendar__dates-wrapper{position:relative;padding-left:40px}.dhx_calendar__navigation{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;text-align:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:-4px 2px 4px}.dhx_calendar__navigation .dhx_button--color_secondary:focus,.dhx_calendar__navigation .dhx_button--view_link:focus{background:inherit}.dhx_calendar__navigation .dhx_button--color_secondary:hover,.dhx_calendar__navigation .dhx_button--view_link:hover{background:#e4e4e4}.dhx_calendar__timepicker-button{margin-top:8px}.dhx_calendar__actions{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_calendar__week-numbers{position:absolute;left:0;top:-4px;width:32px;padding:4px 0;background-color:#f7f7f7}.dhx_calendar__week-numbers:before{content:"#";display:block;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:16px;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar__weekdays{margin:0 0 8px}.dhx_calendar__days,.dhx_calendar__months,.dhx_calendar__weekdays{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_calendar__days,.dhx_calendar__months{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.dhx_calendar__months,.dhx_calendar__years{margin-top:auto;margin-bottom:auto}.dhx_calendar__years{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_calendar-weekday{-webkit-box-flex:1;-webkit-flex:1 0 14%;-ms-flex:1 0 14%;flex:1 0 14%;font-size:12px;line-height:16px}.dhx_calendar-week-number,.dhx_calendar-weekday{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar-week-number{margin-bottom:12px;font-size:14px;line-height:20px}.dhx_calendar-week-number:last-child{margin-bottom:0}.dhx_calendar-week-number--hidden{opacity:0;pointer-events:none}.dhx_calendar-day{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 14%;-ms-flex:1 0 14%;flex:1 0 14%;margin-bottom:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.5);text-align:center;cursor:pointer}.dhx_calendar-day:nth-last-child(-n+7){margin-bottom:0}.dhx_calendar-day:after,.dhx_calendar-day:before{content:"";position:absolute;top:50%;left:50%;display:block;width:28px;height:28px;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;z-index:-1}.dhx_calendar-day:active,.dhx_calendar-day:focus{outline:none}.dhx_calendar-day:active:before,.dhx_calendar-day:focus:before,.dhx_calendar-day:hover:before{opacity:1;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.dhx_calendar-day--weekend{color:#0288d1}.dhx_calendar-day--hidden{opacity:0;pointer-events:none}.dhx_calendar-day--muffled{opacity:.6}.dhx_calendar-day--selected{color:#fff;position:relative;z-index:1}.dhx_calendar-day--selected:before{opacity:1;background-color:#0288d1}.dhx_calendar-day--disabled{color:rgba(0,0,0,.3);pointer-events:none}.dhx_calendar-day--weekend-disabled{pointer-events:none;color:#6ecbfe}.dhx_calendar-day--in-range:after{opacity:1;background-color:#d3efff;border-radius:0;width:100%;z-index:-3}.dhx_calendar-day--first-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% - 2px);left:auto;border-radius:0;border-top-left-radius:32px;border-bottom-left-radius:32px}.dhx_calendar-day--last-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% + 2px);left:auto;border-radius:0;border-top-right-radius:32px;border-bottom-right-radius:32px}.dhx_calendar-day:nth-child(7n).dhx_calendar-day--first-date:after{width:30px;right:calc(-50% + 1px)}.dhx_calendar-day:nth-child(7n+1).dhx_calendar-day--last-date:after{width:30px;right:calc(-50% + 3px)}.dhx_calendar-month,.dhx_calendar-year{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 25%;-ms-flex:1 0 25%;flex:1 0 25%;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:50px;color:rgba(0,0,0,.7);text-align:center;cursor:pointer}.dhx_calendar-month:nth-last-child(-n+4),.dhx_calendar-year:nth-last-child(-n+4){margin-bottom:0}.dhx_calendar-month:before,.dhx_calendar-year:before{content:"";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block;width:50px;height:50px;background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;-webkit-transition:opacity .2s ease-in,background-color .2s ease-in;transition:opacity .2s ease-in,background-color .2s ease-in;z-index:-1}.dhx_calendar-month:active,.dhx_calendar-month:focus,.dhx_calendar-year:active,.dhx_calendar-year:focus{outline:none}.dhx_calendar-month:active:before,.dhx_calendar-month:focus:before,.dhx_calendar-month:hover:before,.dhx_calendar-year:active:before,.dhx_calendar-year:focus:before,.dhx_calendar-year:hover:before{opacity:1;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.dhx_calendar-month:hover:before,.dhx_calendar-year:hover:before{z-index:-2}.dhx_calendar-month--selected,.dhx_calendar-year--selected{color:#fff}.dhx_calendar-month--selected:before,.dhx_calendar-year--selected:before{opacity:1;-webkit-transition:opacity .2s ease-in,background-color .2s ease-in;transition:opacity .2s ease-in,background-color .2s ease-in;background-color:#0288d1}.dhx_chart{stroke-linecap:square;position:relative;height:100%}.dhx_chart svg{vertical-align:top;overflow:visible}.dhx_chart .chart{-webkit-transition:all .5s ease;transition:all .5s ease}.dhx_chart.not-animate .chart,.dhx_chart.not-animate .tooltip-form,.dhx_chart.not-animate .tooltip-text{-webkit-transition:none;transition:none}.dhx_chart .figure{-webkit-transition:fill,stroke .3s ease;transition:fill,stroke .3s ease}.dhx_chart .active-figure{visibility:visible;-webkit-transition:all .2s ease;transition:all .2s ease}.dhx_chart .active-figure.point-circle,.dhx_chart .active-figure.point-rect,.dhx_chart .active-figure.point-rhombus,.dhx_chart .active-figure.point-triangle{-webkit-filter:url(#dropshadow);filter:url(#dropshadow);-webkit-transition:all .3s ease;transition:all .3s ease}.dhx_chart .area{stroke-linecap:round}.dhx_chart .dash-line{stroke-dasharray:4,6;stroke-linecap:round}.dhx_chart .legend-text,.dhx_chart .scale-text,.dhx_chart .scale-title{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;fill:#898f97}.dhx_chart text{text-anchor:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.dhx_chart .start-text{text-anchor:start}.dhx_chart .end-text{text-anchor:end}.dhx_chart .legend-text{line-height:18px}.dhx_chart .scale-title{fill:#aeb7c2;line-height:16px}.dhx_chart .grid-line{stroke:#e3e9f1}.dhx_chart .main-scale{stroke:#c8d4e4;stroke-width:2px}.dhx_chart .radar-grid{stroke-dasharray:4,6;stroke:#d8e1ec;stroke-linecap:round}.dhx_chart .zebra{fill-rule:evenodd;fill:#f3f6fa}.dhx_chart .radar-scale{stroke:#c4d5e6}.dhx_chart .spec-grid-line{stroke:#898f97;stroke-linecap:round;stroke-dasharray:4,6}.dhx_chart .bar-text{fill:#fff;line-height:14px;font-weight:500;font-size:12px}.dhx_chart .bar-text,.dhx_chart .radar-axis-text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_chart .radar-axis-text{font-size:14px;fill:#666}.dhx_chart .legend-item{cursor:pointer}.dhx_chart .legend-item.not-active .figure{fill:#c8d4e4;fill-opacity:1;stroke:#c8d4e4}.dhx_chart .legend-item.not-active .figure.legend-circle,.dhx_chart .legend-item.not-active .figure.legend-rect{stroke:none}.dhx_chart .legend-item.not-active .figure.legend-circle.with-stroke,.dhx_chart .legend-item.not-active .figure.legend-rect.with-stroke{stroke:#c8d4e4}.dhx_chart .legend-item.not-active .legend-text{fill:#c8d4e4}.dhx_chart.tooltip-container{z-index:2147483647}.dhx_chart.tooltip-container svg{width:4px;height:4px}.dhx_chart .tooltip-form{fill:#555;fill-opacity:.9}.dhx_chart .tooltip-text{font-size:12px;line-height:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;fill:#fff;font-weight:500}.dhx_chart .active-tooltip{visibility:visible}.dhx_chart .pie-value{font-weight:400;font-size:14px;fill:#898f97}.dhx_chart .pie-inner-value,.dhx_chart .pie-value{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_chart .pie-inner-value{fill:#fff;pointer-events:none;font-weight:500;line-height:14px;font-size:12px}.dhx_chart .pie-value-connector{stroke:#c6c6c6;fill:none}.dhx_chart .donut-value-title{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;fill:#898f97;font-size:14px;line-height:18px}.dhx_chart .donut-value{fill:#555;font-size:12px;line-height:14px}.dhx_chart .donut-value,.dhx_popup{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_popup{position:fixed;box-sizing:border-box;-webkit-animation:b .2s ease-in-out forwards;animation:b .2s ease-in-out forwards;background:#fff;will-change:transform;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_popup,.dhx_popup--window,.dhx_popup--window_modal{z-index:2147483645}.dhx_popup--window_active{z-index:2147483646}.dhx_popup.hide{-webkit-animation:c .2s ease-in-out forwards;animation:c .2s ease-in-out forwards}.dhx_popup:focus{outline:none}.dhx_widget--fullscreen .dhx_popup{z-index:2147483647}@-webkit-keyframes b{0%{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes b{0%{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@-webkit-keyframes c{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}}@keyframes c{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}}.dhx_colorpicker{font-family:Roboto,sans-serif;font-weight:500;overflow:hidden;padding:8px;border:1px solid #e4e4e4;background-color:#fff;border-radius:2px}.dhx_colorpicker,.dhx_colorpicker *{box-sizing:border-box}.dhx_popup .dhx_colorpicker{box-shadow:0 2px 5px rgba(0,0,0,.3);border:none}.dhx_palette{overflow:hidden;width:100%;height:100%;margin:0;white-space:nowrap}.dhx_palette--custom{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:236px}.dhx_palette--custom .dhx_custom-color__cell{margin-bottom:2px}.dhx_palette__col{display:inline-block}.dhx_palette__col:last-child .dhx_palette_cell{margin-right:0}.dhx_palette__row .dhx_palette__cell{display:inline-block;margin-bottom:6px}.dhx_palette__row .dhx_palette__cell:last-child{margin-right:0}.dhx_palette__row--last{margin-bottom:0}.dhx_palette__cell{position:relative;width:20px;height:20px;margin:0 2px 2px 0;vertical-align:top;border:2px solid transparent}.dhx_palette__cell,.dhx_palette__cell:after{-webkit-transition:border .2s ease-in;transition:border .2s ease-in}.dhx_palette__cell:after{content:"";display:block;position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:1px solid transparent}.dhx_palette__cell:last-child{margin-bottom:0}.dhx_palette__cell--selected,.dhx_palette__cell:hover{border:2px solid hsla(0,0%,100%,.6);-webkit-transition:border .2s ease-out;transition:border .2s ease-out}.dhx_palette__cell--selected:after,.dhx_palette__cell:hover:after{border:1px solid rgba(0,0,0,.6);-webkit-transition:border .2s ease-out;transition:border .2s ease-out}.dhx_colorpicker-custom-colors{font-size:14px;color:#909cad}.dhx_colorpicker-custom-colors__header{font-size:14px;padding:12px 0 4px;letter-spacing:-.2px;position:relative}.dhx_colorpicker-custom-colors__picker{display:inline-block;width:20px;height:20px;cursor:pointer;color:#909cad;box-shadow:inset 0 0 0 1px #909cad}.dhx_colorpicker-picker__palette{position:relative;width:100%;border-radius:2px;overflow:hidden}.dhx_colorpicker-picker__palette:before{content:"";height:100%;width:100%;position:absolute;top:0;left:0;background-image:-webkit-gradient(linear,left bottom,left top,from(#000),to(hsla(0,0%,100%,0)));background-image:-webkit-linear-gradient(bottom,#000,hsla(0,0%,100%,0));background-image:linear-gradient(0deg,#000,hsla(0,0%,100%,0));z-index:2}.dhx_colorpicker-picker__palette:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0;background-image:-webkit-gradient(linear,left top,right top,from(#fff),to(hsla(20,42%,65%,0)));background-image:-webkit-linear-gradient(left,#fff,hsla(20,42%,65%,0));background-image:linear-gradient(90deg,#fff,hsla(20,42%,65%,0));z-index:1}.dhx_colorpicker-picker__buttons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:12px 0 0;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_colorpicker-picker__buttons .dhx_button:first-child{margin-right:4px}.dhx_colorpicker-hue-range{position:relative;width:100%;margin:4px 0 8px;border-radius:2px;background-image:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background-image:-webkit-linear-gradient(left,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);background-image:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.dhx_colorpicker-hue-range__grip{width:6px;height:100%}.dhx_colorpicker-hue-range__grip,.dhx_palette_grip{position:absolute;top:0;left:0;border:1px solid #fff;background:transparent;box-shadow:0 2px 5px 0 rgba(0,0,0,.3)}.dhx_palette_grip{width:10px;height:10px;border-radius:50%;z-index:10}.dhx_colorpicker-value{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;height:32px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_colorpicker-value__color{width:100px;border:1px solid transparent;border-radius:2px;margin-right:8px}.dhx_colorpicker-value__input-wrapper{position:relative;border:1px solid #d4dde7}.dhx_colorpicker-value__input-wrapper:before{content:"#";position:absolute;height:100%;line-height:30px;left:8px;color:#909cad;font-size:15px}.dhx_colorpicker-value__input{width:100px;height:100%;padding:0 0 0 24px;line-height:20px;font-size:14px;color:rgba(0,0,0,.7);border:none;border-radius:2px;outline:none}.dhx_list{margin:0;padding:0;height:100%;list-style:none;overflow:auto;max-height:100%}.dhx_list--virtual{overflow:visible;max-height:unset;border:none}.dhx_list-item{overflow:hidden;position:relative;padding:8px 12px;border-bottom:1px solid #e4e4e4}.dhx_list-item,.dhx_list-item--text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_list-item--text{font-size:14px;font-weight:400;line-height:20px;-webkit-transition:background-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_list-item--selected{background-color:#f7f7f7;box-shadow:inset 2px 0 0 0 #0288d1}.dhx_list-item--focus,.dhx_list-item--selected:hover,.dhx_list-item:hover{background-color:#ededed;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_list-item--drophere:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;background-color:#f7f7f7}.dhx_list-item--dragtarget{opacity:.6}.dhx_list-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_list-input{width:100%;padding-left:5px}.dhx_virtual-list-wrapper{overflow:auto;max-height:100%;border:1px solid #e4e4e4}.dhx_drag-ghost .dhx_list-item{border:1px solid #e4e4e4!important;background-color:#fff;list-style-type:none}.dhx_drag-ghost .dhx_list-item--selected{background-color:#fff;box-shadow:inset 0 0 0 0 #0288d1}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:#fff;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_combobox{margin-bottom:16px}.dhx_combobox__options{margin-top:2px;width:100%}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_combobox--label-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;position:relative}.dhx_combobox--label-inline .dhx_combobox__label{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;text-align:right;margin-right:16px;width:100%}.dhx_combobox--label-inline .dhx_combobox-input-box{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;width:300%}.dhx_combobox-input-box{position:relative;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;background-color:#f7f7f7;background-clip:padding-box;border-radius:2px;box-shadow:inset 0 0 0 1px #dfdfdf;-webkit-transition:border-color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:border-color .2s ease-out,box-shadow .2s ease-out}.dhx_combobox-input-box--readonly,.dhx_combobox-input-box--readonly *{cursor:pointer}.dhx_combobox-input-box--disabled{cursor:not-allowed;opacity:.8}.dhx_combobox-input-box--disabled *{cursor:not-allowed;pointer-events:none}.dhx_combobox-input-box--active,.dhx_combobox-input-box:focus-within{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_combobox-input-box--state_success{box-shadow:inset 0 0 0 1px #6cd0a5}.dhx_combobox-input-box--state_error{box-shadow:inset 0 0 0 1px #ff9797}.dhx_combobox-input{min-height:30px;display:block;width:100%;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.dhx_combobox-input:active,.dhx_combobox-input:focus{outline:none}.dhx_combobox-input__wrapper{position:static;padding-bottom:0}.dhx_combobox-input__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;cursor:pointer;-webkit-box-flex:0;-webkit-flex:0;-ms-flex:0;flex:0;position:absolute;top:50%;right:4px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:16px;z-index:1;color:rgba(0,0,0,.5)}.dhx_combobox-input-list-wrapper{height:100%;width:100%;overflow:hidden}.dhx_combobox-input-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;list-style:none;margin:0;border-top:1px solid transparent;border-bottom:1px solid transparent;min-height:30px;max-height:96px;width:calc(100% - 32px);overflow-y:scroll;padding:0 41px 0 8px;box-sizing:content-box!important}.dhx_combobox-input-list__item{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_combobox-input-list__item--input{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.dhx_combobox-tag{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:0 8px;margin-top:2px;margin-bottom:2px;border:1px solid #e4e4e4;border-radius:16px;background-color:#fff;margin-right:8px}.dhx_combobox-tag__value{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap}.dhx_combobox-tag__icon,.dhx_combobox-tag__image{margin-right:4px}.dhx_combobox-tag__image{width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-tag__action{height:20px;margin-left:4px;margin-right:-6px;color:rgba(0,0,0,.5);padding:0;background-color:transparent;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.dhx_combobox-tag__action:hover{color:rgba(0,0,0,.7);-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.dhx_combobox-options{background-color:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3)}.dhx_combobox-options__icon{padding-right:4px}.dhx_combobox-options__image{padding-right:4px;width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-options__item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;padding:6px 8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_combobox-options__item--select-all{color:#0288d1;line-height:20px;border-bottom:1px solid #e4e4e4}.dhx_dataview{position:relative;overflow-y:auto;height:100%;max-height:100%}.dhx_dataview--has-scroll .dhx_dataview-row:last-child .dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-bottom:0}.dhx_dataview-row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.dhx_dataview-row .dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-top:0}.dhx_dataview-item{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;border:1px solid #e4e4e4;padding:8px;-webkit-transition:-webkit-box-shadow .2s ease-in;transition:box-shadow .2s ease-in}.dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-left:0}.dhx_dataview-item--last-item-in-row:not(.dhx_dataview-item--with-gap){border-right:0}.dhx_dataview-item:focus{outline:none}.dhx_dataview-item:after{content:"";display:block;position:absolute;left:0;right:0;bottom:0;top:0;z-index:1;border:1px solid transparent;-webkit-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;pointer-events:none}.dhx_dataview-item--focus{box-shadow:inset 0 0 0 1px #a6a6a6}.dhx_dataview-item--focus,.dhx_dataview-item--selected{-webkit-transition:-webkit-box-shadow .2s ease-out;transition:box-shadow .2s ease-out}.dhx_dataview-item--selected{box-shadow:inset 0 0 0 1px #0288d1}.dhx_dataview-item--drophere:after{background-color:#f7f7f7}.dhx_dataview-item--dragtarget{opacity:.6}.dhx_dataview-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_dataview-input{padding-left:5px}.dhx_drag-ghost{z-index:999;opacity:.6}.dhx_drag-ghost .dhx_dataview-item{border:1px solid #e4e4e4!important;background-color:#fff}.dhx_footer-wrapper,.dhx_header-wrapper{position:relative;font-size:14px;font-weight:500;color:rgba(0,0,0,.7);z-index:10;overflow:hidden}.dhx_footer-wrapper.dhx_compatible-header,.dhx_header-wrapper.dhx_compatible-header{border-right:none}.dhx_footer-wrapper:last-child,.dhx_header-wrapper:last-child{border-bottom:none}.dhx_grid-header{position:relative;height:100%;white-space:nowrap;z-index:10}.dhx_grid-footer-cell,.dhx_grid-header-cell{display:inline-block;height:100%;padding:0 8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;vertical-align:top;white-space:nowrap;overflow:hidden;position:relative;font-weight:500;background-color:#f7f7f7;border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;border-left:none;text-overflow:ellipsis;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_grid-footer-cell:not(.dhx_cell_first),.dhx_grid-header-cell:not(.dhx_cell_first){border-left:1px solid #e4e4e4}.dhx_grid-footer-cell:first-child,.dhx_grid-header-cell:first-child{border-left:none}.dhx_grid-header-cell--sortable:hover .dhx_grid-sort-icon{opacity:1}.dhx_grid-header-cell--sortable:hover:after,.dhx_grid-header-cell--sorted:after{content:"";display:block;width:24px;position:absolute;top:0;bottom:0;background-color:#f7f7f7;opacity:.8}.dhx_grid-header-cell--align_right{text-align:right;padding-left:24px}.dhx_grid-header-cell--align_right .dhx_grid-sort-icon{left:4px}.dhx_grid-header-cell--align_right:after{left:0}.dhx_grid-header-cell--align_left{text-align:left}.dhx_grid-header-cell--align_left .dhx_grid-sort-icon{right:4px}.dhx_grid-header-cell--align_left:after{right:0}.dhx_grid-sort-icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);opacity:0;color:rgba(0,0,0,.5);z-index:1;-webkit-transition:all .2s ease-in;transition:all .2s ease-in;cursor:pointer}.dhx_grid-sort-icon:before{font-size:16px;display:inline-block;-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.dhx_grid-sort-icon--asc,.dhx_grid-sort-icon--desc{opacity:1;color:#0288d1;-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.dhx_grid-sort-icon--asc:before{-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}.dhx_cell_empty{border-top:none}.dhx_header-row{white-space:nowrap;background:#f7f7f7}.dhx_header-row:last-child .dhx_cell-first{border-bottom:1px solid #f7f7f7}.dhx_header-row:first-child .dhx_grid-footer-cell,.dhx_header-row:first-child .dhx_grid-header-cell{border-top:none}.dhx_header-row:not(:last-child) .dhx_grid-footer-cell,.dhx_header-row:not(:last-child) .dhx_grid-header-cell{border-bottom:none}.dhx_header-row .dhx_grid-custom-content-cell{padding:5px}.dhx_header-spans{position:absolute;top:0}.dhx_header-spans .dhx_span-cell{background:#f7f7f7;font-weight:500}.dhx_grid-filter__label{display:block;width:100%;height:100%;position:relative}.dhx_grid-filter__label:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:10}.dhx_grid-filter{height:100%;padding:0 25px 0 4px;color:rgba(0,0,0,.7);background:#fff;border-radius:2px;outline:none;position:relative}.dhx_grid-filter::-ms-expand{display:none}.dhx_header-fixed-cols{background:#f7f7f7;z-index:999}.dhx_header-fixed-cols .dhx_last-column-cell{border-right:1px solid #e4e4e4}.dhx_footer-wrapper{box-shadow:0 1px 0 0 #f7f7f7}.dhx_grid-footer{position:relative;background-color:#f7f7f7}.dhx_grid-footer-cell{border-top:1px solid #e4e4e4}.dhx_grid-footer-cell:after{display:none}.dhx_grid-footer-cell.dhx_number-cell{text-align:right}.dhx_grid-footer-cell.dhx_string-cell{text-align:left}.dhx_footer-row{white-space:nowrap;background:#f7f7f7}.dhx_footer-row:last-child .dhx_cell-first{border-bottom:1px solid #f7f7f7}.dhx_footer-row .dhx_grid-footer-cell{border-bottom:none}.dhx_footer-spans .dhx_span-cell{background-color:#f7f7f7}.dhx_footer-spans .dhx_span-row .dhx_span-cell{border-top:1px solid #e4e4e4}.dhx_footer-fixed-cols{background:#f7f7f7;z-index:999}.dhx_footer-fixed-cols .dhx_last-column-cell{border-right:1px solid #e4e4e4}.dhx_grid-row{width:100%;white-space:nowrap;overflow:hidden}.dhx_grid-row:first-child .dhx_grid-cell{border-top:none}.dhx_grid-cell{font-size:14px;color:rgba(0,0,0,.7);text-align:right;position:relative;display:inline-block;height:100%;padding:0 8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;vertical-align:top;white-space:nowrap;border-top:1px solid #e4e4e4;border-left:1px solid #e4e4e4;overflow:hidden}.dhx_grid-cell .dhx_cell-content{width:100%;height:100%;overflow:hidden}.dhx_grid-cell:first-child{border-left:none}.dhx_grid-cell--first{border-top:none}.dhx_grid-cell--title{font-size:14px;font-weight:400;color:rgba(0,0,0,.7);text-align:left;border-bottom:none}.dhx_grid-cell--after-title,.dhx_grid-cell--title{border-top:1px solid #e4e4e4}.dhx_grid-cell__editable{padding-right:0;padding-left:0}.dhx_number-cell{text-align:right}.dhx_string-cell,.dhx_tree-cell{text-align:left}.dhx_tree-cell{font-weight:14px;color:rgba(0,0,0,.5)}.dhx_tree-cell .dhx_grid-expand-cell-icon{position:absolute;top:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:20px;height:100%;padding:0 0 0 4px;font-size:14px;cursor:pointer}.dhx_tree-cell .dhx_tree-cell{display:inline-block;padding:0 8px}.dhx_grid-expand-cell{cursor:pointer}.dhx_grid-expand-cell .dhx_tree-cell{padding:0 10px 0 30px}.dhx_grid-fixed-cols-wrap{position:absolute;top:0;left:0;background:#fff;overflow:hidden}.dhx_frozen-cols-border{width:1px;position:absolute;right:0;top:0;height:100%;background:#e4e4e4;z-index:999999}.dhx_grid-fixed-cols,.dhx_grid-selection{position:absolute;top:0}.dhx_grid-selection{left:0}.dhx_grid-selected-row{border-left:2px solid #0288d1;background:rgba(77,77,77,.08);pointer-events:none}.dhx_grid-selected-cell{border:2px solid #0288d1;background-color:transparent;pointer-events:none}.dhx_cell-editor{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;width:100%;height:100%;text-align:inherit;color:rgba(0,0,0,.7);border:none;background:transparent;box-shadow:inset 0 0 0 1px #0288d1;outline:none}.dhx_cell-editor__input{padding:0 8px;border-radius:0}.dhx_span-cell{position:relative;display:inline-block;height:100%;padding:0 8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;vertical-align:top;white-space:nowrap;border-left:1px solid #e4e4e4;overflow:hidden;position:absolute;display:block;height:auto;font-weight:500;border-top:1px solid #e4e4e4;border-bottom:none;z-index:10}.dhx_span-cell--title{color:rgba(0,0,0,.5)}.dhx_span-row .dhx_first-column-cell{border-left:none}.dhx_span-row .dhx_last-column-cell{border-right:1px solid #e4e4e4}.dhx_span-row:first-child .dhx_span-cell{border-top:none}.dhx_span-spans{position:absolute;top:0;left:0}.dhx_span-spans .dhx_span-cell{font-weight:400;color:rgba(0,0,0,.7);line-height:normal;text-align:left;white-space:normal;border-right:none;background:#fff}.dhx_span-spans .dhx_span-cell.dhx_span-first-row{border-top:none}.dhx_span-spans .dhx_span-cell.dhx_span-first-col{border-left:none}.dhx_span-spans .dhx_span-string-cell{text-align:left}.dhx_span-spans .dhx_span-number-cell{text-align:right}.dhx_grid{width:100%;height:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;overflow:hidden}.dhx_grid,.dhx_grid-content{position:relative;background:#fff}.dhx_grid-content{border:1px solid #dfdfdf}.dhx_grid-less-width .dhx_grid-cell:last-child,.dhx_grid-less-width .dhx_grid-footer-cell:last-child,.dhx_grid-less-width .dhx_grid-header-cell:last-child,.dhx_grid-less-width .dhx_grid_footer_cell:last-child,.dhx_grid-less-width .dhx_last-column-cell,.dhx_grid-less-width .dhx_span-last-col{border-right:1px solid #e4e4e4}.dhx_grid-less-height .dhx_footer-row:last-child .dhx_grid-footer-cell,.dhx_grid-less-height .dhx_grid-row:last-child{border-bottom:1px solid #e4e4e4}.dhx_grid-less-height .dhx_footer-row:first-child .dhx_grid-footer-cell{border-top:none}.dhx_grid-less-height .dhx_span-row:last-child .dhx_span-cell{border-bottom:1px solid #e4e4e4}.dhx_grid-less-height .dhx_span-row:first-child .dhx_span-cell{border-top:none}.dhx_grid-body{overflow:auto}.dhx_data-wrap,.dhx_grid-body{position:relative;width:100%;height:100%}.dhx_data-wrap{overflow:hidden}.dhx_menu-nav{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;margin:0;padding:0;width:100%;list-style:none;overflow-x:auto;background-color:#ededed}.dhx_menu-nav__item--separator{pointer-events:none;width:1px;background-color:#dfdfdf;margin-top:8px;margin-bottom:8px}.dhx_menu-nav__item--spacer{pointer-events:none;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.dhx_nav-menu-button{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:8px 12px;font-weight:500;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:transparent;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in}.dhx_nav-menu-button--active:not(:disabled),.dhx_nav-menu-button:active:not(:disabled),.dhx_nav-menu-button:hover:not(:disabled){background-color:rgba(0,0,0,.07);-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_nav-menu-button--disabled,.dhx_nav-menu-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_nav-menu-button--disabled *,.dhx_nav-menu-button:disabled *{color:rgba(0,0,0,.3)}.dhx_menu{padding:0;margin:0;background:#fff;list-style:none;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3);overflow:hidden;z-index:999}.dhx_menu-item{min-width:180px}.dhx_menu-item--separator{pointer-events:none;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;height:1px;margin:2px 8px;background-color:#e4e4e4}.dhx_menu-item--spacer{pointer-events:none;height:16px}.dhx_menu-item--left-gap .dhx_menu-button{padding-left:38px}.dhx_menu-button{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:8px;text-align:left;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:rgba(0,0,0,.7);background-color:transparent;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in}.dhx_menu-button--active:not(:disabled),.dhx_menu-button:active:not(:disabled),.dhx_menu-button:focus:not(:disabled),.dhx_menu-button:hover:not(:disabled){background-color:#ededed;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_menu-button--disabled,.dhx_menu-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_menu-button--disabled *,.dhx_menu-button:disabled *{color:rgba(0,0,0,.3)}.dhx_menu-button__icon{color:rgba(0,0,0,.5)}.dhx_widget .dhx_menu-button__icon{line-height:0}.dhx_widget .dhx_menu-button__icon:before{font-size:20px;line-height:20px}.dhx_menu-button__icon+.dhx_menu-button__text{margin-left:8px}.dhx_menu-button__block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_menu-button__block--left{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.dhx_menu-button__block--right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_menu-button__count{margin-left:8px;margin-top:-2px;margin-bottom:-2px}.dhx_menu-button__hotkey{margin-left:8px;color:rgba(0,0,0,.3)}.dhx_menu-button__caret{margin-left:8px;color:rgba(0,0,0,.5)}.dhx_widget--fullscreen .dhx_menu{z-index:2147483647}.dhx_ribbon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:10px;list-style:none}.dhx_ribbon:focus{outline:none}.dhx_ribbon__item{margin:2px}.dhx_ribbon__item--auto,.dhx_ribbon__item--medium{min-width:68px;min-height:68px}.dhx_ribbon__item--auto,.dhx_ribbon__item--icon,.dhx_ribbon__item--medium,.dhx_ribbon__item--spacer{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.dhx_ribbon__item--separator{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;width:1px;margin:8px 4px;background-color:#dfdfdf}.dhx_ribbon-button__icon+.dhx_ribbon-button__text{margin-left:4px}.dhx_widget .dhx_ribbon-button__icon{line-height:0}.dhx_widget .dhx_ribbon-button__icon:before{font-size:20px;line-height:20px}.dhx_ribbon-button,.dhx_ribbon-button-image{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;width:100%;padding:6px 12px;box-shadow:inset 0 0 0 1px #dfdfdf;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;font-weight:400;color:rgba(0,0,0,.7);background-color:transparent;border-radius:2px;-webkit-transition:background-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_ribbon-button-image__icon,.dhx_ribbon-button__icon{color:rgba(0,0,0,.5);line-height:0}.dhx_ribbon-button-image__count,.dhx_ribbon-button__count{margin-left:8px;margin-top:-10px;margin-bottom:-10px}.dhx_ribbon-button--auto,.dhx_ribbon-button--medium,.dhx_ribbon-button-image--auto,.dhx_ribbon-button-image--medium{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;min-width:68px;min-height:68px;height:100%}.dhx_ribbon-button--auto .dhx_ribbon-button-image__count,.dhx_ribbon-button--auto .dhx_ribbon-button__count,.dhx_ribbon-button--medium .dhx_ribbon-button-image__count,.dhx_ribbon-button--medium .dhx_ribbon-button__count,.dhx_ribbon-button-image--auto .dhx_ribbon-button-image__count,.dhx_ribbon-button-image--auto .dhx_ribbon-button__count,.dhx_ribbon-button-image--medium .dhx_ribbon-button-image__count,.dhx_ribbon-button-image--medium .dhx_ribbon-button__count{margin-left:0;position:absolute;top:4px;right:4px}.dhx_ribbon-button--auto .dhx_ribbon-button__icon+.dhx_ribbon-button__text,.dhx_ribbon-button--medium .dhx_ribbon-button__icon+.dhx_ribbon-button__text,.dhx_ribbon-button-image--auto .dhx_ribbon-button__icon+.dhx_ribbon-button__text,.dhx_ribbon-button-image--medium .dhx_ribbon-button__icon+.dhx_ribbon-button__text{margin-left:0;margin-top:2px}.dhx_ribbon-button--icon,.dhx_ribbon-button-image--icon{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_ribbon-button--select,.dhx_ribbon-button-image--select{padding-right:8px}.dhx_ribbon-button--select .dhx_ribbon-button__text,.dhx_ribbon-button-image--select .dhx_ribbon-button__text{margin-right:8px}.dhx_ribbon-button-image:hover,.dhx_ribbon-button:hover{background-color:rgba(0,0,0,.07);-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_ribbon-button--active,.dhx_ribbon-button-image--active,.dhx_ribbon-button-image:active,.dhx_ribbon-button:active{background-color:#f2f9fd;-webkit-transition:background-color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:background-color .2s ease-out,box-shadow .2s ease-out;box-shadow:inset 0 0 0 1px #b3dbf1}.dhx_ribbon-button--disabled,.dhx_ribbon-button-image--disabled,.dhx_ribbon-button-image:disabled,.dhx_ribbon-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_ribbon-button--disabled:hover,.dhx_ribbon-button-image--disabled:hover,.dhx_ribbon-button-image:disabled:hover,.dhx_ribbon-button:disabled:hover{background-color:transparent}.dhx_ribbon-button--disabled *,.dhx_ribbon-button-image--disabled *,.dhx_ribbon-button-image:disabled *,.dhx_ribbon-button:disabled *{color:rgba(0,0,0,.3)}.dhx_ribbon-button-image__text+.dhx_ribbon-button-image__image{margin-right:4px}.dhx_ribbon-button-image{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-flow:row-reverse;-ms-flex-flow:row-reverse;flex-flow:row-reverse;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_ribbon-button-image__count{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.dhx_ribbon-button-image__image{width:20px;height:20px;background-size:cover;background-position:50%;background-repeat:no-repeat}.dhx_ribbon-button-image--icon{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_ribbon-button-image__count{margin-left:8px}.dhx_ribbon-button-image--auto .dhx_ribbon-button__count,.dhx_ribbon-button-image--medium .dhx_ribbon-button__count{margin-left:0;position:absolute;top:4px;right:4px}.dhx_ribbon-button-image--auto,.dhx_ribbon-button-image--medium{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-flow:column-reverse;-ms-flex-flow:column-reverse;flex-flow:column-reverse;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;min-width:68px;min-height:68px;height:100%}.dhx_ribbon-button-image--auto .dhx_ribbon-button-image__image,.dhx_ribbon-button-image--medium .dhx_ribbon-button-image__image{margin-right:0;width:32px;height:32px}.dhx_ribbon-button-image__caret,.dhx_ribbon-button__caret{margin-left:auto;color:rgba(0,0,0,.5);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.dhx_ribbon-block{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;text-align:center}.dhx_ribbon-block--root{width:100%}.dhx_ribbon-block--title{position:relative;padding-bottom:20px}.dhx_ribbon-block--indented{margin-right:4px;margin-left:4px}.dhx_ribbon-block--indented:first-child{margin-left:0}.dhx_ribbon-block--indented:last-child{margin-right:0}.dhx_ribbon-block--col>.dhx_ribbon-content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.dhx_ribbon-block--row>.dhx_ribbon-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.dhx_ribbon-block--row .dhx_ribbon-button--auto,.dhx_ribbon-block--row .dhx_ribbon-button-image--auto{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_ribbon-content{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;padding:0;list-style:none;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.dhx_ribbon-content-label-wrapper{display:block;position:absolute;bottom:-6px;left:0;right:0;overflow:hidden}.dhx_ribbon-content-label{position:relative;display:inline;font-family:Roboto;font-style:normal;font-weight:400;font-size:14px;line-height:16px;text-align:center;color:rgba(0,0,0,.38)}.dhx_ribbon-content-label:after,.dhx_ribbon-content-label:before{content:"";position:absolute;top:50%;display:block;height:1px;background:rgba(0,0,0,.07);width:1000%}.dhx_ribbon-content-label:before{left:calc(100% + 4px)}.dhx_ribbon-content-label:after{right:calc(100% + 4px)}.dhx_sidebar{height:100%;position:relative;background-color:#fff;z-index:1}.dhx_sidebar:focus{outline:none}.dhx_sidebar__item--spacer{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.dhx_sidebar__item--separator{height:1px;width:100%;background-color:#dfdfdf;margin:2px 0}.dhx_sidebar--minimized .dhx_navbar-title{opacity:0;pointer-events:none}.dhx_sidebar--minimized .dhx_sidebar-button__icon{margin-left:auto;margin-right:auto}.dhx_sidebar--minimized .dhx_sidebar-button--select{padding-right:12px}.dhx_sidebar--minimized .dhx_sidebar-button__count{position:absolute;max-width:24px;overflow:hidden;top:-4px;right:4px}.dhx_sidebar--minimized .dhx_sidebar-button--select .dhx_sidebar-button__count{margin-right:0}.dhx_sidebar--minimized .dhx_sidebar-button__caret,.dhx_sidebar--minimized .dhx_sidebar-button__text{display:none}.dhx_sidebar-button__icon+.dhx_sidebar-button__text{margin-left:12px}.dhx_sidebar-button{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;font-weight:400;color:rgba(0,0,0,.7);background-color:transparent;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in}.dhx_sidebar-button--select{padding-right:8px}.dhx_sidebar-button--select .dhx_sidebar-button__count{margin-right:8px}.dhx_sidebar-button--icon{padding-right:12px}.dhx_sidebar-button:hover{background-color:rgba(0,0,0,.07)}.dhx_sidebar-button--active,.dhx_sidebar-button:active,.dhx_sidebar-button:hover{-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_sidebar-button--active,.dhx_sidebar-button:active{background-color:rgba(0,0,0,.15)}.dhx_sidebar-button--active{box-shadow:inset 2px 0 0 0 #0288d1}.dhx_sidebar-button--disabled,.dhx_sidebar-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_sidebar-button--disabled:hover,.dhx_sidebar-button:disabled:hover{background-color:transparent}.dhx_sidebar-button--disabled *,.dhx_sidebar-button:disabled *{color:rgba(0,0,0,.3)}.dhx_sidebar-button__icon{color:rgba(0,0,0,.5)}.dhx_widget .dhx_sidebar-button__icon{line-height:0}.dhx_widget .dhx_sidebar-button__icon:before{font-size:20px;line-height:20px}.dhx_sidebar-button__text{width:100%;text-align:left}.dhx_sidebar-button__count+.dhx_sidebar-button__caret{margin-left:0}.dhx_sidebar-button__count{min-width:24px;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:auto;margin:-4px 0 -4px auto}.dhx_sidebar-button__caret{margin-right:0;margin-left:auto}.dhx_toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:12px 0}.dhx_toolbar__item--spacer{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.dhx_toolbar__item--separator{width:1px;height:100%;background-color:#dfdfdf;margin:0 2px;height:28px}.dhx_toolbar__item:first-child .dhx_form-group,.dhx_toolbar__item:first-child .dhx_navbar-title,.dhx_toolbar__item:first-child button:not(.dhx_toolbar-button){margin-left:12px}.dhx_toolbar__item:first-child button.dhx_button--view_link,.dhx_toolbar__item:not(:first-child) .dhx_form-group,.dhx_toolbar__item:not(:first-child) .dhx_navbar-title,.dhx_toolbar__item:not(:first-child) button:not(.dhx_toolbar-button){margin-left:4px}.dhx_toolbar__item:last-child .dhx_form-group,.dhx_toolbar__item:last-child .dhx_navbar-title,.dhx_toolbar__item:last-child button:not(.dhx_toolbar-button){margin-right:12px}.dhx_toolbar__item:last-child button.dhx_button--view_link,.dhx_toolbar__item:not(:last-child) .dhx_form-group,.dhx_toolbar__item:not(:last-child) .dhx_navbar-title,.dhx_toolbar__item:not(:last-child) button:not(.dhx_toolbar-button){margin-right:4px}.dhx_toolbar .dhx_button__icon--menu{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.dhx_toolbar__input{height:32px}@supports (display:block){.dhx_toolbar__input{height:unset}}.dhx_toolbar__input .dhx_input{height:32px}@supports (display:block){.dhx_toolbar__input .dhx_input{height:unset}}.dhx_toolbar-button{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:6px 12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;font-weight:500;color:rgba(0,0,0,.7);background-color:transparent;border-radius:2px;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in}.dhx_toolbar-button--select{padding-right:8px}.dhx_toolbar-button--icon{padding-right:12px}.dhx_toolbar-button--circle{border-radius:32px}.dhx_toolbar-button--circle.dhx_toolbar-button--icon{padding-left:6px;padding-right:6px}.dhx_toolbar-button:hover{background-color:rgba(0,0,0,.07)}.dhx_toolbar-button--active,.dhx_toolbar-button:active,.dhx_toolbar-button:hover{-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_toolbar-button--active,.dhx_toolbar-button:active{background-color:rgba(0,0,0,.15)}.dhx_toolbar-button--disabled,.dhx_toolbar-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_toolbar-button--disabled:hover,.dhx_toolbar-button:disabled:hover{background-color:transparent}.dhx_toolbar-button--disabled *,.dhx_toolbar-button:disabled *{color:rgba(0,0,0,.3)}.dhx_toolbar-button__icon{color:rgba(0,0,0,.5)}.dhx_widget .dhx_toolbar-button__icon{line-height:0}.dhx_widget .dhx_toolbar-button__icon:before{font-size:20px;line-height:20px}.dhx_toolbar-button__icon+.dhx_toolbar-button__text{margin-left:8px}.dhx_toolbar-button__count{position:absolute;top:-10px;right:-10px}.dhx_toolbar-button__caret{margin-left:8px;color:rgba(0,0,0,.5);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.dhx_toolbar-button-image{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;width:44px;height:44px;padding:0;margin-top:-8px;margin-bottom:-8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);border-radius:50%;-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.dhx_toolbar-button-image:hover{opacity:.8;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.dhx_toolbar-button-image__image{position:absolute;border-radius:50%;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:50%;background-repeat:no-repeat;z-index:1}.dhx_toolbar-button-image__text{text-align:center;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dhx_toolbar-button-image__count{position:absolute;top:-4px;right:-4px}.dhx_tabbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;max-height:100%;height:100%;max-width:100%}.dhx_tabbar--top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.dhx_tabbar--top .dhx_tabbar-header__wrapper:after{left:0;height:1px;width:100%;bottom:0}.dhx_tabbar--top .dhx_layout-cell{height:100%;overflow:auto;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_tabbar--top .dhx_tabbar-header{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.dhx_tabbar--top .dhx_tabbar-header-active{bottom:0}.dhx_tabbar--top .dhx_tabbar-tab{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.dhx_tabbar--top .dhx_tabbar-tab-button{text-align:center}.dhx_tabbar--bottom{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.dhx_tabbar--bottom .dhx_tabbar-header__wrapper:after{left:0;height:1px;width:100%;top:0}.dhx_tabbar--bottom .dhx_layout-cell{height:100%;overflow:auto;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_tabbar--bottom .dhx_tabbar-header{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.dhx_tabbar--bottom .dhx_tabbar-header-active{top:0}.dhx_tabbar--bottom .dhx_tabbar-tab{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.dhx_tabbar--bottom .dhx_tabbar-tab-button{text-align:center}.dhx_tabbar--left{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.dhx_tabbar--left .dhx_tabbar-header__wrapper:after{right:0;height:100%;width:1px;bottom:0}.dhx_tabbar--left .dhx_layout-cell{height:100%;overflow:auto;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_tabbar--left .dhx_tabbar-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.dhx_tabbar--left .dhx_tabbar-header-active{right:0}.dhx_tabbar--left .dhx_tabbar-tab{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_tabbar--left .dhx_tabbar-tab-button{text-align:right}.dhx_tabbar--right{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.dhx_tabbar--right .dhx_tabbar-header__wrapper:after{left:0;height:100%;width:1px;bottom:0}.dhx_tabbar--right .dhx_layout-cell{height:100%;overflow:auto;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_tabbar--right .dhx_tabbar-header{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.dhx_tabbar--right .dhx_tabbar-header-active{left:0}.dhx_tabbar--right .dhx_tabbar-tab{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_tabbar--right .dhx_tabbar-tab-button{text-align:left}.dhx_tabbar .dhx_layout-cell--content{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;overflow:auto}.dhx_tabbar-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0;padding:0;list-style:none}.dhx_tabbar-header__wrapper{position:relative;overflow:auto;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.dhx_tabbar-header__wrapper:after{content:"";display:block;position:absolute;background:#e4e4e4}.dhx_tabbar-header-active{position:absolute;-webkit-transition:-webkit-transform .1s ease-in-out;transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out;background-color:#0288d1;z-index:1}.dhx_tabbar-tab{position:relative}.dhx_tabbar-tab__close{position:absolute;top:50%;right:8px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);z-index:1;opacity:.7;color:#0288d1;cursor:pointer}.dhx_tabbar-tab__close:hover{opacity:1}.dhx_tabbar-tab__close:focus{outline:none}.dhx_tabbar-tab-button{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;position:relative;padding:12px 24px;border-radius:0;color:#0288d1;text-transform:uppercase;background-color:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in}.dhx_tabbar-tab-button .dhx_button__text{opacity:.7}.dhx_tabbar-tab-button:active,.dhx_tabbar-tab-button:hover,.dhx_tabbar-tab-button:hover:active{background-color:#ededed;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_tabbar-tab-button--active .dhx_button__text{opacity:1}.dhx_drag-ghost{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_tree{list-style:none;margin:0;padding:0;position:relative;z-index:1}.dhx_tree--no-selection{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_tree--no-selection .dhx_tree-folder:hover:before,.dhx_tree--no-selection .dhx_tree-list-item:hover:before{-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;background-color:transparent}.dhx_tree-list{list-style:none;margin:0;padding:0 0 0 20px}.dhx_tree-folder{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding-top:2px;padding-bottom:2px}.dhx_tree-folder .dhx_tree-list-item__content{padding-left:20px}.dhx_tree-folder .dhx_tree-toggle-button+.dhx_tree-list-item__content{padding-left:0}.dhx_tree-list-item{cursor:pointer;padding-top:2px;padding-bottom:2px;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_tree-list-item,.dhx_tree-list-item__content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_tree-list-item__content{padding-left:20px;position:relative}.dhx_tree-list-item__content:before{content:"";display:block;position:absolute;top:-1.5px;bottom:-1.5px;right:inherit;left:inherit;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in;z-index:-1}.dhx_tree-list-item__text{padding-left:4px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:normal;color:rgba(0,0,0,.7)}.dhx_tree-list-item__icon{color:rgba(0,0,0,.3);line-height:1;font-size:0}.dhx_tree-list-item__icon:before{font-size:20px;line-height:1}.dhx_tree-list-item--parent{display:block;padding-top:0;padding-bottom:0}.dhx_tree-list-item .dhx_widget .dhx_tree-list-item__icon{line-height:0}.dhx_tree-list-item .dhx_widget .dhx_tree-list-item__icon:before{font-size:20px;line-height:20px}.dhx_tree-folder,.dhx_tree-list-item{position:relative}.dhx_tree-folder:before,.dhx_tree-list-item:before{content:"";display:block;position:absolute;top:0;bottom:0;right:inherit;left:inherit;-webkit-transition:background-color .2s ease-in;transition:background-color .2s ease-in;z-index:-1}.dhx_tree-folder--focused:before,.dhx_tree-folder:hover:before,.dhx_tree-list-item--focused:before,.dhx_tree-list-item:hover:before{-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;background-color:#ededed}.dhx_tree-folder--selected:before,.dhx_tree-list-item--selected:before{-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;box-shadow:inset 2px 0 0 0 #0288d1;background-color:#f7f7f7}.dhx_tree-toggle-button{cursor:pointer;color:rgba(0,0,0,.5)}.dhx_tree-toggle-button+.dhx_tree-list-item__content{margin-left:0}.dhx_tree-checkbox{padding-right:4px;color:#0288d1}.dhx_tree-checkbox.dxi-checkbox-blank-outline{color:rgba(0,0,0,.5)}.dhx_tree-input{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);padding-left:4px;padding-top:0;padding-bottom:0;margin:0;background-color:#f7f7f7;border:none}.dhx_tree-input:focus{outline:none}.dhx_tree-folder.dhx_tree-drop--top .dhx_tree-list-item__content:before{left:-20px;right:0;box-shadow:0 -1px 0 0 #81c4e8}.dhx_tree-folder.dhx_tree-drop--top:hover:before{background-color:transparent}.dhx_tree-folder.dhx_tree-drop--bottom .dhx_tree-list-item__content:before{left:-20px;right:0;box-shadow:0 1px 0 0 #81c4e8}.dhx_tree-folder.dhx_tree-drop--bottom:hover:before{background-color:transparent}.dhx_tree-folder.dhx_tree-drop--in-folder .dhx_tree-list-item__content:before{left:-20px;right:0;box-shadow:0 1px 0 0 #81c4e8,0 -1px 0 0 #81c4e8}.dhx_tree-folder.dhx_tree-drop--in-folder:hover:before{background-color:transparent}.dhx_tree-list-item.dhx_tree-drop--top .dhx_tree-list-item__content:before{left:20px;right:0;box-shadow:0 -1px 0 0 #81c4e8}.dhx_tree-list-item.dhx_tree-drop--top:hover:before{background-color:transparent}.dhx_tree-list-item.dhx_tree-drop--bottom .dhx_tree-list-item__content:before{left:20px;right:0;box-shadow:0 1px 0 0 #81c4e8}.dhx_tree-list-item.dhx_tree-drop--bottom:hover:before{background-color:transparent}.dhx_tree-list-item.dhx_tree-drop--in-folder .dhx_tree-list-item__content:before{left:20px;right:0;box-shadow:0 1px 0 0 #81c4e8,0 -1px 0 0 #81c4e8}.dhx_tree-list-item.dhx_tree-drop--in-folder:hover:before{background-color:transparent}.dhx_drag-ghost .dhx_tree-list-item__icon{position:relative;display:inline;vertical-align:middle;color:rgba(0,0,0,.3);font-size:20px;top:2px}.dhx_drag-ghost .dhx_tree-list-item__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;vertical-align:middle;line-height:20px;color:rgba(0,0,0,.7)}.dhx_window{border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3);will-change:transform;overflow:visible}.dhx_window--stop_selection{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_window__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2147483645}.dhx_window-header{margin-bottom:20px}.dhx_window-header--movable{cursor:all-scroll}.dhx_window-header:before{content:"";display:block;position:absolute;top:0;left:0;right:0;width:100%;height:16px;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.dhx_window-header .dhx_navbar-title{margin-left:0!important;font-size:18px}.dhx_window-content{padding-left:28px;padding-right:28px;padding-bottom:28px}.dhx_window-content,.dhx_window-content-without-header{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;color:rgba(0,0,0,.5);line-height:1.3;overflow-y:auto;overflow-wrap:break-word;word-wrap:break-word}.dhx_window-content-without-header{padding:28px}.dhx_window-footer{margin-top:20px}.dhx_window__inner-html-content :first-child{margin-top:0}.dhx_window--no-scroll{width:100vw;height:100vh;overflow:hidden}.dhx_window .dhx_cell_content,.dhx_window .dhx_toolbar{width:100%}.dhx_window .dhx_toolbar__list{min-height:auto}.dhx_window .dhx_window-header .dhx_toolbar{padding:28px 28px 0}.dhx_window .dhx_window-footer .dhx_toolbar{padding:0 28px 28px}.dhx_window .dhx_cell_content{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.dhx_window-resizer{position:absolute;background:transparent}.dhx_window-resizer--left{left:-6px;top:0;height:100%;width:12px}.dhx_window-resizer--left:hover{cursor:ew-resize}.dhx_window-resizer--right{right:-6px;top:0;height:100%;width:12px}.dhx_window-resizer--right:hover{cursor:ew-resize}.dhx_window-resizer--top{left:0;top:-6px;height:12px;width:100%}.dhx_window-resizer--top:hover{cursor:ns-resize}.dhx_window-resizer--bottom{left:0;bottom:-6px;height:12px;width:100%}.dhx_window-resizer--bottom:hover{cursor:ns-resize}.dhx_window-resizer--top_right{right:-6px;top:-6px;width:12px;height:12px}.dhx_window-resizer--top_right:hover{cursor:nesw-resize}.dhx_window-resizer--top_left{left:-6px;top:-6px;width:12px;height:12px}.dhx_window-resizer--top_left:hover{cursor:nwse-resize}.dhx_window-resizer--bottom_right{right:-6px;bottom:-6px;width:12px;height:12px}.dhx_window-resizer--bottom_right:hover{cursor:nwse-resize}.dhx_window-resizer--bottom_left{left:-6px;bottom:-6px;width:12px;height:12px}.dhx_window-resizer--bottom_left:hover{cursor:nesw-resize}.dhx_window-body-pointer--left,.dhx_window-body-pointer--right{cursor:ew-resize}.dhx_window-body-pointer--bottom,.dhx_window-body-pointer--top{cursor:ns-resize}.dhx_window-body-pointer--top_right{cursor:nesw-resize}.dhx_window-body-pointer--bottom_right,.dhx_window-body-pointer--top_left{cursor:nwse-resize}.dhx_window-body-pointer--bottom_left{cursor:nesw-resize} \ No newline at end of file +.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:-webkit-grab!important;cursor:grab!important}.dhx_no-select--pointer{cursor:pointer}.dhx_no-select--pointer,.dhx_no-select--resize{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{box-sizing:border-box}.dhx_widget * :not(output):-moz-ui-invalid,.dhx_widget :not(output):-moz-ui-invalid{box-shadow:none}body{margin:0}.dhx_widget{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_widget--bordered{border:1px solid #e4e4e4}.dhx_widget--border_top{border-top:1px solid #e4e4e4}.dhx_widget--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_widget--border_left{border-left:1px solid #e4e4e4}.dhx_widget--border_right{border-right:1px solid #e4e4e4}.dhx_widget--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget.dhx_widget--bg_white{background-color:#fff}.dhx_widget.dhx_widget--bg_gray{background-color:#f7f7f7}.dhx_drag-ghost{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;z-index:999;opacity:.6}.dhx_drag-ghost *{box-sizing:border-box}.dhx_drag-ghost .dhx_list-item{list-style-type:none}.dhx_drag-ghost .dhx_list-item--selected{background-color:#fff;box-shadow:inset 0 0 0 0 #0288d1}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:#fff;transition:background-color .2s ease-out}.dhx_drag-ghost .dhx_tree-list-item__icon{position:relative;display:inline;vertical-align:middle;color:rgba(0,0,0,.3);font-size:20px;top:2px}.dhx_drag-ghost .dhx_tree-list-item__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;vertical-align:middle;line-height:20px;color:rgba(0,0,0,.7)}.dhx_drag-ghost .dhx_dataview-item,.dhx_drag-ghost .dhx_grid-cell,.dhx_drag-ghost .dhx_list-item{background-color:#fff;border:1px solid #e4e4e4!important}@font-face{font-family:Roboto;src:url(fonts/roboto-regular-webfont.woff2) format("woff2"),url(fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-medium-webfont.woff2) format("woff2"),url(fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-bold-webfont.woff2) format("woff2"),url(fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}@font-face{font-family:dhxicons;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff")}.dxi:before{font-family:dhxicons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dxi.dxi-alert-circle:before{content:"\F101"}.dxi.dxi-arrow-collapse:before{content:"\F102"}.dxi.dxi-arrow-expand:before{content:"\F103"}.dxi.dxi-blur-off:before{content:"\F104"}.dxi.dxi-blur:before{content:"\F105"}.dxi.dxi-calendar-today:before{content:"\F106"}.dxi.dxi-check:before{content:"\F107"}.dxi.dxi-checkbox-blank-outline:before{content:"\F108"}.dxi.dxi-checkbox-marked-circle:before{content:"\F109"}.dxi.dxi-checkbox-marked:before{content:"\F10A"}.dxi.dxi-chevron-down:before{content:"\F10B"}.dxi.dxi-chevron-left:before{content:"\F10C"}.dxi.dxi-chevron-right:before{content:"\F10D"}.dxi.dxi-chevron-up:before{content:"\F10E"}.dxi.dxi-clock-outline:before{content:"\F10F"}.dxi.dxi-clock:before{content:"\F110"}.dxi.dxi-close-circle:before{content:"\F111"}.dxi.dxi-close:before{content:"\F112"}.dxi.dxi-delete-forever:before{content:"\F113"}.dxi.dxi-delete:before{content:"\F114"}.dxi.dxi-dots-horizontal:before{content:"\F115"}.dxi.dxi-dots-vertical:before{content:"\F116"}.dxi.dxi-download:before{content:"\F117"}.dxi.dxi-empty:before{content:"\F118"}.dxi.dxi-eraser:before{content:"\F119"}.dxi.dxi-eye-off:before{content:"\F11A"}.dxi.dxi-eye:before{content:"\F11B"}.dxi.dxi-eyedropper-variant:before{content:"\F11C"}.dxi.dxi-file-excel:before{content:"\F11D"}.dxi.dxi-file-export:before{content:"\F11E"}.dxi.dxi-file-import:before{content:"\F11F"}.dxi.dxi-file-outline:before{content:"\F120"}.dxi.dxi-filter-variant:before{content:"\F121"}.dxi.dxi-folder-open:before{content:"\F122"}.dxi.dxi-folder:before{content:"\F123"}.dxi.dxi-format-align-center:before{content:"\F124"}.dxi.dxi-format-align-left:before{content:"\F125"}.dxi.dxi-format-align-right:before{content:"\F126"}.dxi.dxi-format-bold:before{content:"\F127"}.dxi.dxi-format-color-fill:before{content:"\F128"}.dxi.dxi-format-color-text:before{content:"\F129"}.dxi.dxi-format-italic:before{content:"\F12A"}.dxi.dxi-format-line-spacing:before{content:"\F12B"}.dxi.dxi-format-quote-close:before{content:"\F12C"}.dxi.dxi-format-quote-open:before{content:"\F12D"}.dxi.dxi-format-strikethrough:before{content:"\F12E"}.dxi.dxi-format-underline:before{content:"\F12F"}.dxi.dxi-format-vertical-align-bottom:before{content:"\F130"}.dxi.dxi-format-vertical-align-center:before{content:"\F131"}.dxi.dxi-format-vertical-align-top:before{content:"\F132"}.dxi.dxi-function-variant:before{content:"\F133"}.dxi.dxi-help-circle-outline:before{content:"\F134"}.dxi.dxi-information-outline:before{content:"\F135"}.dxi.dxi-key:before{content:"\F136"}.dxi.dxi-link-variant-off:before{content:"\F137"}.dxi.dxi-link-variant:before{content:"\F138"}.dxi.dxi-loading:before{content:"\F139"}.dxi.dxi-magnify:before{content:"\F13A"}.dxi.dxi-menu-down:before{content:"\F13B"}.dxi.dxi-menu-left:before{content:"\F13C"}.dxi.dxi-menu-right:before{content:"\F13D"}.dxi.dxi-menu-up:before{content:"\F13E"}.dxi.dxi-minus-box:before{content:"\F13F"}.dxi.dxi-minus:before{content:"\F140"}.dxi.dxi-numeric:before{content:"\F141"}.dxi.dxi-pencil:before{content:"\F142"}.dxi.dxi-plus-circle:before{content:"\F143"}.dxi.dxi-plus:before{content:"\F144"}.dxi.dxi-printer:before{content:"\F145"}.dxi.dxi-redo:before{content:"\F146"}.dxi.dxi-rotate-right:before{content:"\F147"}.dxi.dxi-select-all:before{content:"\F148"}.dxi.dxi-sort-variant:before{content:"\F149"}.dxi.dxi-table-column-plus-before:before{content:"\F14A"}.dxi.dxi-table-column-remove:before{content:"\F14B"}.dxi.dxi-table-column:before{content:"\F14C"}.dxi.dxi-table-row-plus-before:before{content:"\F14D"}.dxi.dxi-table-row-remove:before{content:"\F14E"}.dxi.dxi-table-row:before{content:"\F14F"}.dxi.dxi-undo:before{content:"\F150"}.dxi.dxi-unfold-more-horizontal:before{content:"\F151"}.dxi.dxi-vault:before{content:"\F152"}.dxi.dxi-view-grid:before{content:"\F153"}.dxi.dxi-view-sequential:before{content:"\F154"}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:20px}.dxi--small:before{font-size:16px}.dxi--medium:before{font-size:20px}.dxi--large:before{font-size:24px}@-webkit-keyframes a{0%{transform:rotate(0deg);transform-origin:center center}to{transform:rotate(1439deg);transform-origin:center center}}@keyframes a{0%{transform:rotate(0deg);transform-origin:center center}to{transform:rotate(1439deg);transform-origin:center center}}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;touch-action:manipulation;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:4px}.dhx_button__loading{display:none;position:absolute;left:0;top:0;right:0;bottom:0;justify-content:center;align-items:center}.dhx_button__loading-icon{-webkit-animation:a .9s linear infinite;animation:a .9s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:28px}.dhx_button--circle.dhx_button--size_medium{border-radius:32px}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:6px;padding-right:6px}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:4px;padding-right:4px}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__loading{display:flex}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:4px 12px;font-size:14px;line-height:20px}.dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:16px;margin-top:-8px;margin-left:-8px}.dhx_button--size_medium{padding:6px 16px;text-transform:uppercase;line-height:20px}.dhx_button--size_medium .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:20px;margin-top:-10px;margin-left:-10px}.dhx_button--view_flat{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;color:#fff;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_flat.dhx_button--color_primary{background-color:#0288d1;outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:#35a0da}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:#0288d1;box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_primary:disabled{background-color:#81c4e8}.dhx_button--view_flat.dhx_button--color_secondary{background-color:#4d4d4d;outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:#717171}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:#4d4d4d;box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_secondary:disabled{background-color:#a6a6a6}.dhx_button--view_flat.dhx_button--color_danger{background-color:#ff5252;outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:#ff7575}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:#ff5252;box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_danger:disabled{background-color:#ffa9a9}.dhx_button--view_flat.dhx_button--color_success{background-color:#0ab169;outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:#3bc187}.dhx_button--view_flat.dhx_button--color_success:active{background-color:#0ab169;box-shadow:none}.dhx_button--view_flat.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_success:disabled{background-color:#85d8b4}.dhx_button--view_link{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;border-radius:2px;background:transparent;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_link:focus,.dhx_button--view_link:hover{transition:background-color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_link.dhx_button--color_primary{color:#0288d1;outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:#d9edf8}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:#b8def2}.dhx_button--view_link.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_primary:disabled{color:#81c4e8}.dhx_button--view_link.dhx_button--color_secondary{color:#4d4d4d;outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:#e4e4e4}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:#cdcdcd}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_secondary:disabled{color:#a6a6a6}.dhx_button--view_link.dhx_button--color_danger{color:#ff5252;outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:#ffe5e5}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:#ffcfcf}.dhx_button--view_link.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_danger:disabled{color:#ffa9a9}.dhx_button--view_link.dhx_button--color_success{color:#0ab169;outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:#daf3e9}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:#bae9d5}.dhx_button--view_link.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_success:disabled{color:#85d8b4}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:8px;margin-right:auto}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_form-group{position:relative;display:block;text-align:left;padding-bottom:16px}.dhx_form-group--simplevault{line-height:0;height:100%}.dhx_form-group--simplevault .dhx_label{margin-bottom:4px}.dhx_form-group--textarea{display:flex;flex-direction:column;height:100%}.dhx_form-group--textarea .dhx_input--textarea,.dhx_form-group--textarea .dhx_input__wrapper{height:100%}.dhx_form-group--textarea .dhx_label{min-height:20px;line-height:20px;margin-bottom:4px}.dhx_form-group--inline{display:flex;flex-direction:row;width:100%;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;flex:0 1 auto;max-height:40px;margin-right:16px;margin-bottom:0;text-align:right;width:100%;margin-top:6px;align-self:flex-start}.dhx_form-group--inline .dhx_input__wrapper{flex:0 1 auto;width:300%;height:100%}.dhx_form-group--inline .dhx_label--with-help{justify-content:flex-end}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative;margin-bottom:0}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--no-message-holder{padding-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input__caption,.dhx_form-group--state_error .dhx_label{color:#ff5252}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{box-shadow:inset 0 0 0 1px #ffbaba}.dhx_form-group--state_error .dhx_simplevault-files,.dhx_form-group--state_error .dhx_simplevault-files:focus,.dhx_form-group--state_error .dhx_simplevault__drop-area,.dhx_form-group--state_error .dhx_simplevault__drop-area:focus{border-color:#ffbaba}.dhx_form-group--state_success .dhx_input__caption,.dhx_form-group--state_success .dhx_label{color:#0ab169}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{box-shadow:inset 0 0 0 1px #9de0c3}.dhx_form-group--state_success .dhx_simplevault__drop-area,.dhx_form-group--state_success .dhx_simplevault__drop-area:focus{border-top-color:#9de0c3;border-left-color:#9de0c3;border-right-color:#9de0c3}.dhx_form-group--state_success .dhx_simplevault-files,.dhx_form-group--state_success .dhx_simplevault-files:focus{border-right-color:#9de0c3;border-left-color:#9de0c3;border-bottom-color:#9de0c3}.dhx_form-group--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_form-group .dhx_combobox{margin:0}.dhx_form-group .dhx_slider{padding-bottom:0}.dhx_input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:#f6f6f6;background-clip:padding-box;box-shadow:inset 0 0 0 1px #dfdfdf;border:0;border-radius:2px;outline:0;transition:border-color .2s ease-in,box-shadow .2s ease-in}.dhx_input::-webkit-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::-moz-placeholder{color:rgba(0,0,0,.5)}.dhx_input:-ms-input-placeholder,.dhx_input::-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::placeholder{color:rgba(0,0,0,.5)}.dhx_input:focus{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_input--icon-padding{padding-right:24px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{box-shadow:none;background:none;padding-left:0}.dhx_input--textinput:focus{box-shadow:none}.dhx_input__wrapper{width:100%;display:flex;flex-direction:column;position:relative}.dhx_input__wrapper:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;transform:translateY(-50%)}.dhx_input__container{width:100%;display:inline-block;position:relative}.dhx_input__caption{left:0;bottom:0;max-width:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;font-weight:400;line-height:16px;color:rgba(0,0,0,.5);white-space:wrap;overflow-x:hidden;text-overflow:ellipsis;cursor:default}.dhx_input__icon{position:absolute;top:50%;transform:translateY(-50%);right:4px;z-index:1;color:rgba(0,0,0,.5);pointer-events:none}.dhx_input__icon--color-selected{border-radius:2px}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:20px;line-height:20px}.dhx_label{display:inline-block;width:auto;flex:0 1 auto;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;cursor:pointer;transition:color .2s ease-in,opacity .2s ease-in}.dhx_label:hover{opacity:.8;transition:color .2s ease-out,opacity .2s ease-out}.dhx_label__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_label--with-help{display:flex;align-items:center}.dhx_label-help{margin-left:4px;color:#0288d1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_label-help:focus{outline:none}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__visual-input{display:block;border:2px solid rgba(0,0,0,.5);min-width:20px;min-height:20px;max-width:20px;max-height:20px;background-color:#fff;border-radius:2px;cursor:pointer}.dhx_checkbox .dhx_label{margin-top:4px;margin-bottom:0;width:auto}.dhx_checkbox .dhx_label:after{display:none}.dhx_checkbox .dhx_input__caption{position:static;display:block;transform:none}.dhx_checkbox.dhx_form-group--inline{display:flex;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_checkbox.dhx_form-group--hidden{display:none}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.dhx_checkbox__input:focus+.dhx_checkbox__visual-input{border-color:#0288d1}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input{background-color:#0288d1;background-position:50%;background-size:cover;border-color:#0288d1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);transition:background-color .2s ease-out}.dhx_radiobutton{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_radiobutton__visual-input{display:block;border:2px solid rgba(0,0,0,.5);bottom:4px;left:0;min-width:20px;min-height:20px;max-width:20px;max-height:20px;background-color:#fff;border-radius:50%}.dhx_radiobutton .dhx_label{margin-top:4px;margin-bottom:0;width:auto;cursor:pointer}.dhx_radiobutton .dhx_input__caption{position:static;display:block}.dhx_radiobutton.dhx_form-group--inline{white-space:nowrap;display:flex;align-items:center}.dhx_radiobutton.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0;padding-top:2px;padding-bottom:2px}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.dhx_radiobutton__input:focus+.dhx_radiobutton__visual-input{border-color:#0288d1}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:#0288d1;border-color:#0288d1;box-shadow:inset 0 0 0 4px #fff;transition:background-color .2s ease-out}.dhx_select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:8px;top:50%;transform:translateY(-50%);pointer-events:none;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{border:none;border-radius:2px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;font-weight:400;text-align:center;overflow:hidden;position:relative}.dhx_simplevault__drop-area{background-color:#f6f6f6;border:1px solid #dfdfdf;transition:all .2s ease-in;display:flex;height:115px;width:100%;flex-direction:column;justify-content:center;align-items:center;padding:0 20px}.dhx_simplevault__drop-area--on-drag{border-style:dashed;transition:border .2s ease-out}.dhx_simplevault__icon:before{font-size:40px;color:rgba(0,0,0,.3);transition:color .2s ease-in}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:#0288d1;cursor:pointer}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;transform:translateY(0);transition:opacity .2s ease-in,transform .2s ease-in}.dhx_simplevault-files{background-color:#f6f6f6;border:1px solid #dfdfdf;border-top:none;transition:all .2s ease-in;width:100%;margin:0;padding:0;list-style:none;max-height:calc(100% - 115px);height:calc(100% - 115px);overflow-y:auto}.dhx_simplevault-files__fixed{max-height:276px}.dhx_simplevault-files__item{position:relative;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;text-align:left;color:rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:1px solid #e4e4e4}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;transform:translateY(-50%)}.dhx_simplevault-loader{display:flex;justify-content:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:#ededed;transform:translateY(100%);opacity:0;will-change:transform;transition:0ms;z-index:1}.dhx_simplevault-loader .dhx_simplevault__icon:before{color:#0288d1}.dhx_slider{position:relative;display:flex;flex-direction:column;padding-bottom:16px}.dhx_slider--label-inline{flex-direction:row;align-items:center}.dhx_slider--label-inline .dhx_slider__label{text-align:right;flex:0 1 auto;margin-right:16px;margin-bottom:0;width:100%}.dhx_slider--label-inline .dhx_label--with-help{justify-content:flex-end}.dhx_slider--label-inline .dhx_slider__track-holder{width:300%;flex:0 1 auto}.dhx_slider--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_slider--mode_vertical{height:100%;display:inline-flex}.dhx_slider--mode_vertical .dhx_slider__label{align-self:flex-start}.dhx_slider--mode_vertical .dhx_slider__track-holder{height:100%;display:flex;padding:8px 0}.dhx_slider--mode_vertical .dhx_slider__track{align-self:stretch;padding:0 8px}.dhx_slider--mode_vertical .dhx_slider__track:before{width:2px;height:100%}.dhx_slider--mode_vertical .dhx_slider__range{width:2px;left:50%;transform:translate(-50%)}.dhx_slider--mode_vertical .dhx_slider__thumb{left:50%}.dhx_slider--mode_vertical .dhx_slider__tick{height:1px;width:4px}.dhx_slider--mode_vertical .dhx_slider__tick:not(:first-child){transform:translateY(-.5px)}.dhx_slider--mode_vertical .dhx_slider__tick--major{width:8px}.dhx_slider--mode_vertical .dhx_slider__tick-label{top:50%;left:100%;transform:translateY(-50%);padding-left:2px}.dhx_slider--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_slider--ticks .dhx_slider__ticks-holder{height:4px}.dhx_slider--ticks.dhx_slider--mode_vertical .dhx_slider__ticks-holder{height:100%;width:4px}.dhx_slider__track-holder{position:relative;flex:1}.dhx_slider__track{position:relative;padding-top:8px;padding-bottom:8px;cursor:pointer;z-index:1}.dhx_slider__track:before{content:"";display:block;height:2px;background-color:#b3b3b3}.dhx_slider__thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background-color:#0288d1;transition:transform .1s ease-out,border-color .2s ease-out,background-color .2s ease-out;will-change:transform;cursor:pointer}.dhx_slider__thumb:after,.dhx_slider__thumb:before{content:"";display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);border-radius:50%;will-change:transform}.dhx_slider__thumb:before{width:28px;height:28px;background-color:rgba(2,136,209,.15)}.dhx_slider__thumb:after,.dhx_slider__thumb:before{transition:transform .2s ease-out,background-color .2s ease-out}.dhx_slider__thumb:after{width:16px;height:16px;background-color:#0288d1}.dhx_slider__thumb:focus,.dhx_slider__thumb:hover{outline:none}.dhx_slider__thumb:focus:before,.dhx_slider__thumb:hover:before{transform:translate(-50%,-50%) scale(1);transition:transform .2s ease-in,background-color .2s ease-in}.dhx_slider__thumb--active,.dhx_slider__thumb:active{z-index:1}.dhx_slider__thumb--active:after,.dhx_slider__thumb:active:after{transform:translate(-50%,-50%) scale(1);transition:transform .2s ease-in,background-color .2s ease-in}.dhx_slider__thumb--nullable{background-color:#b3b3b3}.dhx_slider__thumb--nullable:after{width:8px;height:8px;transform:translate(-50%,-50%) scale(1);background:#fff}.dhx_slider__thumb--nullable:before{background-color:rgba(77,77,77,.15)}.dhx_slider__thumb--disabled{background-color:#b3b3b3;border:2px solid #fff}.dhx_slider__thumb--disabled:after,.dhx_slider__thumb--disabled:before{display:none}.dhx_slider__thumb-label{position:absolute;padding:6px 12px;transform:translate(-50%,-50%);border-radius:2px;background-color:#333;box-shadow:0 2px 5px rgba(0,0,0,.3);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#fff;transition:opacity transform .01s ease-in;pointer-events:none;z-index:1}.dhx_slider__thumb-label--vertical{left:50px}.dhx_slider__thumb-label--horizontal{top:-30px}.dhx_slider__thumb-label--active{z-index:10}.dhx_slider__range{position:absolute;top:50%;transform:translateY(-50%);height:2px;background-color:#0288d1;pointer-events:none}.dhx_slider__ticks-holder{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_slider__tick{position:absolute;top:0;width:1px;height:4px;background-color:#b3b3b3}.dhx_slider__tick:not(:first-child){transform:translateX(-.5px)}.dhx_slider__tick--major{height:8px}.dhx_slider__tick-label{position:absolute;top:10px;transform:translateX(-50%);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:10px;color:rgba(0,0,0,.7);line-height:1}.dhx_message-container{display:flex;flex-direction:column;align-items:flex-end;position:absolute;padding:20px;max-height:100%;-ms-scroll-chaining:none;overscroll-behavior:contain;width:auto;overflow:hidden;border:2px solid transparent;z-index:2147483647}.dhx_message-container *{box-sizing:border-box}.dhx_message-container--top-left{top:0;left:0}.dhx_message-container--top-right{top:0;right:0}.dhx_message-container--bottom-left{align-items:flex-start;bottom:0;left:0}.dhx_message-container--bottom-right{align-items:flex-start;bottom:0;right:0}.dhx_message-container--in-body{position:fixed}.dhx_message{display:flex;justify-content:space-between;width:240px;flex-shrink:0;padding:12px;margin-bottom:4px;margin-top:4px;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.1),0 10px 20px rgba(0,0,0,.1);background-color:#fff;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_message,.dhx_message__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;line-height:20px;font-size:14px;color:rgba(0,0,0,.7)}.dhx_message__text{overflow-wrap:break-word;word-wrap:break-word;word-break:break-all}.dhx_message__icon{align-self:center;padding-left:8px;color:rgba(0,0,0,.5)}.dhx_message--error .dhx_message__icon,.dhx_message--error .dhx_message__text,.dhx_message--success .dhx_message__icon,.dhx_message--success .dhx_message__text{color:#fff}.dhx_message--error{background-color:#ff5252}.dhx_message--success{background-color:#0ab169}.dhx_alert{display:flex;flex-direction:column;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;padding:24px;background:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3);will-change:transform;z-index:2147483647}.dhx_alert__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2147483646}.dhx_alert__header{position:relative;margin-bottom:20px;font-weight:500;line-height:20px;color:rgba(0,0,0,.7)}.dhx_alert__content,.dhx_alert__header{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px}.dhx_alert__content{height:100%;font-weight:400;color:rgba(0,0,0,.5);line-height:1.3;overflow-y:auto;overflow-wrap:break-word;word-wrap:break-word}.dhx_alert__footer{margin-top:20px;display:flex;justify-content:flex-start}.dhx_alert__footer--center{justify-content:center}.dhx_alert__footer--right{justify-content:flex-end}.dhx_alert__footer .dhx_button:not(:last-child){margin-right:16px}.dhx_tooltip{pointer-events:none;border-radius:2px;background-color:#333;box-shadow:0 2px 5px rgba(0,0,0,.3);padding:6px 12px;transition:opacity .01s ease,transform .01s ease;opacity:0;z-index:999;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_tooltip--animate{opacity:1;transition:opacity .15s ease-out}.dhx_tooltip--forced{opacity:1}.dhx_tooltip--bottom{margin:8px 0 0}.dhx_tooltip--top{margin:-8px 0 0}.dhx_tooltip--left{margin:0 0 -8px}.dhx_tooltip--right{margin:0 0 0 8px}.dhx_tooltip--light{background-color:#fff}.dhx_tooltip--light .dhx_tooltip__text{color:rgba(0,0,0,.7)}.dhx_widget--fullscreen .dhx_tooltip{z-index:2147483647}.dhx_tooltip__text{color:#fff;font-size:14px;font-weight:500;line-height:20px}.dhx_layout{max-width:100%;max-height:100%;width:100%;height:100%}.dhx_layout-columns{display:flex;flex-direction:row;overflow:hidden}.dhx_layout-columns>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){flex:0 1 auto}.dhx_layout-columns>.dhx_layout-cell--resizeble{overflow-x:hidden}.dhx_layout-rows{display:flex;flex-direction:column;overflow:hidden}.dhx_layout-rows>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){flex:0 1 auto}.dhx_layout-rows>.dhx_layout-cell--resizeble{overflow-y:hidden}.dhx_layout-cell--start,.dhx_layout-columns--start,.dhx_layout-rows--start{justify-content:flex-start}.dhx_layout-cell--center,.dhx_layout-columns--center,.dhx_layout-rows--center{justify-content:center}.dhx_layout-cell--end,.dhx_layout-columns--end,.dhx_layout-rows--end{justify-content:flex-end}.dhx_layout-cell--between,.dhx_layout-columns--between,.dhx_layout-rows--between{justify-content:space-between}.dhx_layout-cell--around,.dhx_layout-columns--around,.dhx_layout-rows--around{justify-content:space-around}.dhx_layout-cell--evenly,.dhx_layout-columns--evenly,.dhx_layout-rows--evenly{justify-content:space-evenly}.dhx_layout-cell{flex-basis:auto;flex-grow:0;flex-shrink:0}.dhx_layout-cell--bordered{border:1px solid #e4e4e4}.dhx_layout-cell--border_top{border-top:1px solid #e4e4e4}.dhx_layout-cell--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_layout-cell--border_left{border-left:1px solid #e4e4e4}.dhx_layout-cell--border_right{border-right:1px solid #e4e4e4}.dhx_layout-cell--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_layout-cell--no-border{border:0}.dhx_layout-cell--no-border_top{border-top:0}.dhx_layout-cell--no-border_bottom{border-bottom:0}.dhx_layout-cell--no-border_left{border-left:0}.dhx_layout-cell--no-border_right{border-right:0}.dhx_layout-cell--gravity{flex:1 1 auto}.dhx_layout-cell--flex{display:flex}.dhx_layout-cell--accordion>.dhx_layout-cell--collapsed{border-bottom:0}.dhx_layout-cell--collapsed{overflow:hidden;flex:0 1 auto}.dhx_layout-cell-content{height:100%}.dhx_layout-cell-header{display:flex;justify-content:flex-start;align-items:center;border-bottom:1px solid #e4e4e4;padding:8px 12px}.dhx_layout-cell-header__title{margin:0;font-size:14px;line-height:20px;font-weight:500;color:rgba(0,0,0,.7);white-space:nowrap;overflow:hidden;text-overflow:clip;transition:color .2s ease-in}.dhx_layout-cell-header__icon{margin-right:16px}.dhx_layout-cell-header__image-wrapper{position:relative;width:20px;height:20px;margin-right:8px}.dhx_layout-cell-header__image{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%}.dhx_layout-cell-header__collapse-icon{margin-left:auto;color:#4d4d4d;transition:transform .2s ease-in,color .2s ease-in}.dhx_layout-cell-header--collapseble{cursor:pointer}.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__title,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__title{color:#0288d1;transition:color .2s ease-out}.dhx_layout-cell-header--collapseble:focus,.dhx_layout-cell-header:focus{outline-width:0}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col{border-bottom:0;position:relative}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col .dhx_layout-cell-header__title{position:absolute;transform-origin:left;transform:rotate(90deg);bottom:-12px;left:50%}.dhx_layout-cell-header+.dhx_layout-cell-content{overflow:auto;height:calc(100% - 37px)}.dhx_layout-resizer{position:relative;overflow:visible;text-align:center}.dhx_layout-resizer .dhx_layout-resizer__icon{position:relative;z-index:1}.dhx_layout-resizer--x{width:0}.dhx_layout-resizer--x .dhx_layout-resizer__icon{width:0;height:100%;display:flex;justify-content:center;flex-direction:column;align-items:center;color:rgba(0,0,0,.5);cursor:ew-resize}.dhx_layout-resizer--x .dhx_layout-resizer__icon:before{font-size:16px}.dhx_layout-resizer--y{height:0}.dhx_layout-resizer--y .dhx_layout-resizer__icon{width:100%;height:0;display:flex;justify-content:center;flex-direction:row;align-items:center;color:rgba(0,0,0,.5);cursor:ns-resize}.dhx_layout-resizer--y .dhx_layout-resizer__icon:before{font-size:16px}.dhx_navbar-count{width:24px;height:24px;border-radius:50%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:24px;color:#fff;text-align:center;z-index:1}.dhx_navbar-count--absolute{margin-left:0;position:absolute;top:-4px;top:-10px;right:-10px}.dhx_navbar-count--button-inline{margin-top:-4px;margin-bottom:-4px;margin-left:12px}.dhx_navbar-count--overlimit{width:auto;border-radius:22px;padding:0 8px}.dhx_navbar-count--color_success{background-color:#0ab169}.dhx_navbar-count--color_danger{background-color:#ff5252}.dhx_navbar-count--color_primary{background-color:#0288d1}.dhx_navbar-count--color_secondary{background-color:#4d4d4d}.dhx_navbar{display:flex;flex-wrap:nowrap;margin:0;padding:0;width:100%;list-style:none}.dhx_navbar:focus{outline:none}.dhx_navbar--horizontal{flex-direction:row;align-items:center}.dhx_navbar--vertical{height:100%;display:flex;flex-direction:column;overflow:auto}.dhx_navbar .dhx_button--color_secondary.dhx_button--view_link .dhx_button__icon{color:rgba(0,0,0,.5)}.dhx_navbar-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);font-weight:500}.dhx_navbar-title--sidebar{display:block;padding:12px}.dhx_timepicker{width:100%;padding:50px 20px;min-width:248px;background-color:#fff}.dhx_timepicker--with-controls{padding:4px 20px 0}.dhx_timepicker__inputs{text-align:center;margin-bottom:28px;margin-top:16px}.dhx_timepicker__close{min-height:32px;display:flex;justify-content:flex-end;margin-bottom:6px}.dhx_timepicker__button-close{text-transform:uppercase;transform:translateX(16px)}.dhx_timepicker__save{padding-top:12px;min-height:76px;display:flex;justify-content:center;align-items:center}.dhx_timepicker-inputs{position:relative;display:inline-block}.dhx_timepicker-input{width:48px;height:38px;font-size:30px;padding-bottom:4px;color:rgba(0,0,0,.7);line-height:30px;text-align:center;outline:none;border:none;border-bottom:1px solid #ededed;transition:border-color .2s ease-in;background-color:transparent}.dhx_timepicker-input:focus{border-bottom:1px solid #81c4e8;transition-timing-function:ease-out}.dhx_timepicker-ampm{position:absolute;right:-32px;bottom:4px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.3);font-size:16px;line-height:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_timepicker-delimer{position:relative;top:-2px;height:30px;width:8px;color:rgba(0,0,0,.7);line-height:30px;font-size:30px}.dhx_calendar{display:flex;justify-content:flex-end;min-height:258px;padding:12px;background-color:#fff}.dhx_calendar--with_timepicker{min-height:310px}.dhx_calendar__wrapper{position:relative;z-index:1;width:100%;min-height:100%;display:flex;flex-direction:column;justify-content:space-between}.dhx_calendar__dates-wrapper{position:relative;padding-left:40px}.dhx_calendar__navigation{display:flex;align-self:stretch;justify-content:space-between;text-align:center;align-items:center;margin:-4px 2px 4px}.dhx_calendar__navigation .dhx_button--color_secondary:focus,.dhx_calendar__navigation .dhx_button--view_link:focus{background:inherit}.dhx_calendar__navigation .dhx_button--color_secondary:hover,.dhx_calendar__navigation .dhx_button--view_link:hover{background:#e4e4e4}.dhx_calendar__timepicker-button{margin-top:8px}.dhx_calendar__actions{display:flex;justify-content:center}.dhx_calendar__week-numbers{position:absolute;left:0;top:-4px;width:32px;padding:4px 0;background-color:#f7f7f7}.dhx_calendar__week-numbers:before{content:"#";display:block;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:16px;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar__weekdays{display:flex;flex-direction:row;justify-content:space-between;margin:0 0 8px}.dhx_calendar__days,.dhx_calendar__months{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.dhx_calendar__months,.dhx_calendar__years{margin-top:auto;margin-bottom:auto}.dhx_calendar__years{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.dhx_calendar-weekday{flex:1 0 14%;font-size:12px;line-height:16px}.dhx_calendar-week-number,.dhx_calendar-weekday{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar-week-number{margin-bottom:12px;font-size:14px;line-height:20px}.dhx_calendar-week-number:last-child{margin-bottom:0}.dhx_calendar-week-number--hidden{opacity:0;pointer-events:none}.dhx_calendar-day{position:relative;flex:1 0 14%;margin-bottom:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.5);text-align:center;cursor:pointer}.dhx_calendar-day:nth-last-child(-n+7){margin-bottom:0}.dhx_calendar-day:after,.dhx_calendar-day:before{content:"";position:absolute;top:50%;left:50%;display:block;width:28px;height:28px;transform:translate(-50%,-50%);background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;z-index:-1}.dhx_calendar-day:active,.dhx_calendar-day:focus{outline:none}.dhx_calendar-day:active:before,.dhx_calendar-day:focus:before,.dhx_calendar-day:hover:before{opacity:1;transition:opacity .2s ease-out}.dhx_calendar-day--weekend{color:#0288d1}.dhx_calendar-day--hidden{opacity:0;pointer-events:none}.dhx_calendar-day--muffled{opacity:.6}.dhx_calendar-day--disabled{color:rgba(0,0,0,.3);pointer-events:none}.dhx_calendar-day--weekend-disabled{pointer-events:none;color:#6ecbfe}.dhx_calendar-day--in-range:after{opacity:1;background-color:#d3efff;border-radius:0;width:100%;z-index:-3}.dhx_calendar-day--selected{color:#fff;position:relative;z-index:1}.dhx_calendar-day--selected:before{opacity:1;background-color:#0288d1}.dhx_calendar-day--selected-first:after{border-radius:50% 0 0 50%}.dhx_calendar-day--selected-last:after{border-radius:0 50% 50% 0}.dhx_calendar-day--first-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% - 2px);left:auto;border-radius:0;border-top-left-radius:32px;border-bottom-left-radius:32px}.dhx_calendar-day--last-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% + 2px);left:auto;border-radius:0;border-top-right-radius:32px;border-bottom-right-radius:32px}.dhx_calendar-day:nth-child(7n).dhx_calendar-day--first-date:after{width:30px;right:calc(-50% + 1px)}.dhx_calendar-day:nth-child(7n+1).dhx_calendar-day--last-date:after{width:30px;right:calc(-50% + 3px)}.dhx_calendar-month,.dhx_calendar-year{position:relative;flex:1 0 25%;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:50px;color:rgba(0,0,0,.7);text-align:center;cursor:pointer}.dhx_calendar-month:nth-last-child(-n+4),.dhx_calendar-year:nth-last-child(-n+4){margin-bottom:0}.dhx_calendar-month:before,.dhx_calendar-year:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;width:50px;height:50px;background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;transition:opacity .2s ease-in,background-color .2s ease-in;z-index:-1}.dhx_calendar-month:active,.dhx_calendar-month:focus,.dhx_calendar-year:active,.dhx_calendar-year:focus{outline:none}.dhx_calendar-month:active:before,.dhx_calendar-month:focus:before,.dhx_calendar-year:active:before,.dhx_calendar-year:focus:before{opacity:1;transition:opacity .2s ease-out}.dhx_calendar-month:hover:before,.dhx_calendar-year:hover:before{opacity:1;transition:opacity .2s ease-out;z-index:-2}.dhx_calendar-month--selected,.dhx_calendar-year--selected{color:#fff}.dhx_calendar-month--selected:before,.dhx_calendar-year--selected:before{opacity:1;transition:opacity .2s ease-in,background-color .2s ease-in;background-color:#0288d1}.dhx_chart{stroke-linecap:square;position:relative;height:100%}.dhx_chart svg{vertical-align:top;overflow:visible}.dhx_chart .chart{transition:all .4s ease}.dhx_chart .chart.donut,.dhx_chart .chart.pie,.dhx_chart .chart.pie3d{transition-property:none}.dhx_chart .chart.dhx_pie-transform-delay{transition-property:all}.dhx_chart.not-animate .chart,.dhx_chart.not-animate .tooltip-form,.dhx_chart.not-animate .tooltip-text{transition:none}.dhx_chart .figure{transition:fill,stroke .3s ease}.dhx_chart .active-figure{visibility:visible;transition:all .2s ease}.dhx_chart .active-figure.point-circle,.dhx_chart .active-figure.point-rect,.dhx_chart .active-figure.point-rhombus,.dhx_chart .active-figure.point-triangle{-webkit-filter:url(#dropshadow);filter:url(#dropshadow);transition:all .3s ease}.dhx_chart .area{stroke-linecap:round}.dhx_chart .dash-line{stroke-dasharray:4,6;stroke-linecap:round}.dhx_chart .legend-text,.dhx_chart .scale-text,.dhx_chart .scale-title{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;fill:#898f97}.dhx_chart text{text-anchor:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.dhx_chart .start-text{text-anchor:start}.dhx_chart .end-text{text-anchor:end}.dhx_chart .legend-text{line-height:18px}.dhx_chart .scale-title{fill:#aeb7c2;line-height:16px}.dhx_chart .grid-line{stroke:#e3e9f1}.dhx_chart .main-scale{stroke:#c8d4e4;stroke-width:2px}.dhx_chart .radar-grid{stroke-dasharray:4,6;stroke:#d8e1ec;stroke-linecap:round}.dhx_chart .zebra{fill-rule:evenodd;fill:#f3f6fa}.dhx_chart .radar-scale{stroke:#c4d5e6}.dhx_chart .spec-grid-line{stroke:#898f97;stroke-linecap:round;stroke-dasharray:4,6}.dhx_chart .bar-text{fill:#fff;line-height:14px;font-weight:500;font-size:12px}.dhx_chart .bar-text,.dhx_chart .radar-axis-text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_chart .radar-axis-text{font-size:14px;fill:#666}.dhx_chart .legend-item{cursor:pointer}.dhx_chart .legend-item.not-active .figure{fill:#c8d4e4;fill-opacity:1;stroke:#c8d4e4}.dhx_chart .legend-item.not-active .figure.legend-circle,.dhx_chart .legend-item.not-active .figure.legend-rect{stroke:none}.dhx_chart .legend-item.not-active .figure.legend-circle.with-stroke,.dhx_chart .legend-item.not-active .figure.legend-rect.with-stroke{stroke:#c8d4e4}.dhx_chart .legend-item.not-active .legend-text{fill:#c8d4e4}.dhx_chart.tooltip-container{z-index:2147483647}.dhx_chart.tooltip-container svg{width:4px;height:4px}.dhx_chart .tooltip-form{fill:#555;fill-opacity:.9}.dhx_chart .tooltip-text{font-size:12px;line-height:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;fill:#fff;font-weight:500}.dhx_chart .active-tooltip{visibility:visible}.dhx_chart .pie-value{font-weight:400;font-size:14px;fill:#898f97}.dhx_chart .pie-inner-value,.dhx_chart .pie-value{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_chart .pie-inner-value{fill:#fff;pointer-events:none;font-weight:500;line-height:14px;font-size:12px}.dhx_chart .pie-value-connector{stroke:#c6c6c6;fill:none}.dhx_chart .donut-value-title{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;fill:#898f97;font-size:14px;line-height:18px}.dhx_chart .donut-value{fill:#555;font-size:12px;line-height:14px}.dhx_chart .donut-value,.dhx_popup{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_popup{position:fixed;box-sizing:border-box;-webkit-animation:b .2s ease-in-out forwards;animation:b .2s ease-in-out forwards;background:#fff;will-change:transform;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_popup,.dhx_popup--window,.dhx_popup--window_modal{z-index:2147483645}.dhx_popup--window_active{z-index:2147483646}.dhx_popup.hide{-webkit-animation:c .2s ease-in-out forwards;animation:c .2s ease-in-out forwards}.dhx_popup:focus{outline:none}.dhx_widget--fullscreen .dhx_popup{z-index:2147483647}@-webkit-keyframes b{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes b{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@-webkit-keyframes c{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}@keyframes c{0%{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}.dhx_colorpicker{font-family:Roboto,sans-serif;font-weight:500;overflow:hidden;padding:8px;border:1px solid #e4e4e4;background-color:#fff;border-radius:2px}.dhx_colorpicker,.dhx_colorpicker *{box-sizing:border-box}.dhx_popup .dhx_colorpicker{box-shadow:0 2px 5px rgba(0,0,0,.3);border:none}.dhx_palette{overflow:hidden;width:100%;height:100%;margin:0;white-space:nowrap}.dhx_palette--custom{display:flex;flex-wrap:wrap;max-width:236px}.dhx_palette--custom.dhx_palette__row .dhx_palette__cell{margin-bottom:0}.dhx_palette__col{display:inline-block}.dhx_palette__col:last-child .dhx_palette_cell{margin-right:0}.dhx_palette__row .dhx_palette__cell{display:inline-block;margin-bottom:6px}.dhx_palette__row .dhx_palette__cell:last-child{margin-right:0}.dhx_palette__row--last{margin-bottom:0}.dhx_palette__cell{position:relative;width:20px;height:20px;margin:0 2px 2px 0;vertical-align:top;border:2px solid transparent;transition:border .2s ease-in}.dhx_palette__cell:after{content:"";display:block;position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:1px solid transparent;transition:border .2s ease-in}.dhx_palette__cell:last-child{margin-bottom:0}.dhx_palette__cell--selected,.dhx_palette__cell:hover{border:2px solid hsla(0,0%,100%,.6);transition:border .2s ease-out}.dhx_palette__cell--selected:after,.dhx_palette__cell:hover:after{border:1px solid rgba(0,0,0,.6);transition:border .2s ease-out}.dhx_colorpicker-custom-colors{font-size:14px;color:#909cad}.dhx_colorpicker-custom-colors__header{font-size:14px;padding:9px 0 4px;letter-spacing:-.2px;position:relative}.dhx_colorpicker-custom-colors__picker{display:inline-block;width:20px;height:20px;cursor:pointer;color:#909cad;box-shadow:inset 0 0 0 1px #909cad}.dhx_colorpicker-picker__palette{position:relative;width:100%;border-radius:2px;overflow:hidden}.dhx_colorpicker-picker__palette:before{content:"";height:100%;width:100%;position:absolute;top:0;left:0;background-image:linear-gradient(0deg,#000,hsla(0,0%,100%,0));z-index:2}.dhx_colorpicker-picker__palette:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0;background-image:linear-gradient(90deg,#fff,hsla(20,42%,65%,0));z-index:1}.dhx_colorpicker-picker__buttons{display:flex;padding:12px 0 0;justify-content:flex-end}.dhx_colorpicker-picker__buttons .dhx_button:first-child{margin-right:4px}.dhx_colorpicker-hue-range{position:relative;width:100%;margin:4px 0 8px;border-radius:2px;background-image:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.dhx_colorpicker-hue-range__grip{width:6px;height:100%}.dhx_colorpicker-hue-range__grip,.dhx_palette_grip{position:absolute;top:0;left:0;border:1px solid #fff;background:transparent;box-shadow:0 2px 5px 0 rgba(0,0,0,.3)}.dhx_palette_grip{width:10px;height:10px;border-radius:50%;z-index:10}.dhx_colorpicker-value{display:flex;flex-direction:row;height:32px;justify-content:space-between}.dhx_colorpicker-value__color{width:100px;border:1px solid transparent;border-radius:2px;margin-right:8px}.dhx_colorpicker-value__input__wrapper{position:relative;border:1px solid #d4dde7}.dhx_colorpicker-value__input__wrapper:before{content:"#";position:absolute;height:100%;line-height:30px;left:8px;color:#909cad;font-size:15px}.dhx_colorpicker-value__input{width:100px;height:100%;padding:0 0 0 24px;line-height:20px;font-size:14px;color:rgba(0,0,0,.7);border:none;border-radius:2px;outline:none}.dhx_list{margin:0;padding:0;height:100%;list-style:none;overflow:auto;max-height:100%;background-color:#fff}.dhx_list--virtual{overflow:visible;max-height:unset;border:none}.dhx_list-item{overflow:hidden;position:relative;padding:8px 12px;border-bottom:1px solid #e4e4e4}.dhx_list-item,.dhx_list-item--text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_list-item--text{font-size:14px;font-weight:400;line-height:20px;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_list-item--selected{background-color:#f7f7f7;box-shadow:inset 2px 0 0 0 #0288d1}.dhx_list-item--focus,.dhx_list-item--selected:hover,.dhx_list-item:hover{background-color:#ededed;transition:background-color .2s ease-out}.dhx_list-item--drophere:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;background-color:#f7f7f7;opacity:.6}.dhx_list-item--dragtarget{opacity:.6}.dhx_list-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_list-input{width:100%;padding-left:5px}.dhx_virtual-list-wrapper{overflow:auto;max-height:100%;border:1px solid #e4e4e4}.dhx_combobox{margin-bottom:16px}.dhx_combobox__options{margin-top:2px;width:100%}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_combobox--label-inline{display:flex;align-items:center;width:100%;position:relative}.dhx_combobox--label-inline .dhx_combobox__label{flex:0 1 auto;justify-content:flex-end;text-align:right;margin-right:16px;width:100%}.dhx_combobox--label-inline .dhx_combobox-input-box{flex:0 1 auto;width:300%}.dhx_combobox--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_combobox-input-box{position:relative;flex:1;background-color:#f7f7f7;background-clip:padding-box;border-radius:2px;box-shadow:inset 0 0 0 1px #dfdfdf;transition:border-color .2s ease-out,box-shadow .2s ease-out}.dhx_combobox-input-box--readonly,.dhx_combobox-input-box--readonly *{cursor:pointer}.dhx_combobox-input-box--disabled{cursor:not-allowed}.dhx_combobox-input-box--disabled *{cursor:not-allowed;pointer-events:none}.dhx_combobox-input-box--active,.dhx_combobox-input-box:focus-within{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_combobox-input-box--state_success{box-shadow:inset 0 0 0 1px #6cd0a5}.dhx_combobox-input-box--state_error{box-shadow:inset 0 0 0 1px #ff9797}.dhx_combobox-input{min-height:30px;display:block;width:100%;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.dhx_combobox-input:active,.dhx_combobox-input:focus{outline:none}.dhx_combobox-input__wrapper{position:static;padding-bottom:0}.dhx_combobox-input__icon{display:flex;align-items:center;cursor:pointer;flex:0;position:absolute;top:50%;right:4px;transform:translateY(-50%);font-size:16px;z-index:1;color:rgba(0,0,0,.5)}.dhx_combobox-input-list-wrapper{height:100%;width:100%;overflow:hidden}.dhx_combobox-input-list{display:flex;flex-wrap:wrap;flex-flow:row wrap;list-style:none;margin:0;border-top:1px solid transparent;border-bottom:1px solid transparent;min-height:30px;max-height:96px;width:calc(100% - 32px);overflow-y:scroll;padding:0 41px 0 8px;box-sizing:content-box!important}.dhx_combobox-input-list__item{flex:0 1 auto}.dhx_combobox-input-list__item--input{position:relative;flex:1 0 auto}.dhx_combobox-tag{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;padding:0 8px;margin-top:2px;margin-bottom:2px;border:1px solid #e4e4e4;border-radius:16px;background-color:#fff;margin-right:8px}.dhx_combobox-tag__value{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap}.dhx_combobox-tag__icon,.dhx_combobox-tag__image{margin-right:4px}.dhx_combobox-tag__image{width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-tag__action{height:20px;margin-left:4px;margin-right:-6px;color:rgba(0,0,0,.5);padding:0;background-color:transparent;transition:color .2s ease-in}.dhx_combobox-tag__action:hover{color:rgba(0,0,0,.7);transition:color .2s ease-out}.dhx_combobox-options{background-color:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3)}.dhx_combobox-options__icon{padding-right:4px}.dhx_combobox-options__image{padding-right:4px;width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-options__item{display:flex;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;padding:6px 8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_combobox-options__item--select-all{color:#0288d1;line-height:20px;border-bottom:1px solid #e4e4e4}.dhx_dataview{position:relative;overflow-y:auto;height:100%;max-height:100%;background-color:#fff}.dhx_dataview--has-scroll .dhx_dataview-row:last-child .dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-bottom:0}.dhx_dataview-row{display:flex;flex-wrap:nowrap;justify-content:flex-start}.dhx_dataview-row .dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-top:0}.dhx_dataview-item{position:relative;flex:0 1 auto;border:1px solid #e4e4e4;padding:8px;transition:box-shadow .2s ease-in}.dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-left:0}.dhx_dataview-item--last-item-in-row:not(.dhx_dataview-item--with-gap){border-right:0}.dhx_dataview-item:focus{outline:none}.dhx_dataview-item:after{content:"";display:block;position:absolute;left:0;right:0;bottom:0;top:0;z-index:1;border:1px solid transparent;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;pointer-events:none}.dhx_dataview-item--focus{box-shadow:inset 0 0 0 1px #a6a6a6;transition:box-shadow .2s ease-out}.dhx_dataview-item--selected{box-shadow:inset 0 0 0 1px #0288d1;transition:box-shadow .2s ease-out}.dhx_dataview-item--drophere:after{background-color:#f7f7f7;opacity:.6}.dhx_dataview-item--dragtarget{opacity:.6}.dhx_dataview-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_dataview-input{padding-left:5px}.dhx_footer-wrapper,.dhx_header-wrapper{position:relative;font-size:14px;font-weight:500;color:rgba(0,0,0,.7);z-index:11}.dhx_footer-wrapper.dhx_compatible-header,.dhx_header-wrapper.dhx_compatible-header{border-right:none}.dhx_footer-wrapper:last-child,.dhx_header-wrapper:last-child{border-bottom:none}.dhx_footer-wrapper{overflow:hidden}.dhx_grid-header{position:relative;height:100%;white-space:nowrap;z-index:10}.dhx_grid-footer-cell,.dhx_grid-header-cell{display:inline-block;height:100%;padding:0 8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;vertical-align:top;white-space:nowrap;position:relative;font-weight:500;background-color:#f7f7f7;border-top:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;border-left:none;text-overflow:ellipsis;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_grid-footer-cell:not(.dhx_cell_first),.dhx_grid-header-cell:not(.dhx_cell_first){border-left:1px solid #e4e4e4}.dhx_grid-footer-cell:first-child,.dhx_grid-header-cell:first-child{border-left:none}.dhx_grid-header-cell--sortable:hover .dhx_grid-sort-icon{opacity:1}.dhx_grid-header-cell--sortable:hover:after,.dhx_grid-header-cell--sorted:after{content:"";display:block;width:24px;position:absolute;top:0;bottom:0;background-color:#f7f7f7;opacity:.8}.dhx_grid-header-cell--align_right{text-align:right}.dhx_grid-header-cell--align_right .dhx_grid-header-cell-text{padding-left:24px}.dhx_grid-header-cell--align_right .dhx_grid-sort-icon{left:4px}.dhx_grid-header-cell--align_right:after{left:0}.dhx_grid-header-cell--align_left{text-align:left}.dhx_grid-header-cell--align_left .dhx_grid-sort-icon{right:4px}.dhx_grid-header-cell--align_left:after{right:0}.dhx_grid-footer-cell:last-child,.dhx_grid-header-cell:last-child{overflow:hidden}.dhx_grid-sort-icon{position:absolute;top:50%;transform:translateY(-50%);opacity:0;color:rgba(0,0,0,.5);z-index:1;transition:all .2s ease-in;cursor:pointer}.dhx_grid-sort-icon:before{font-size:16px;display:inline-block;transition:all .2s ease-out}.dhx_grid-sort-icon--asc,.dhx_grid-sort-icon--desc{opacity:1;color:#0288d1;transition:color .2s ease-out}.dhx_grid-sort-icon--asc:before{transform:scaleY(-1)}.dhx_cell_empty{border-top:none}.dhx_header-row{white-space:nowrap;background:#f7f7f7}.dhx_header-row:last-child .dhx_cell-first{border-bottom:1px solid #f7f7f7}.dhx_header-row:first-child .dhx_grid-footer-cell,.dhx_header-row:first-child .dhx_grid-header-cell{border-top:none}.dhx_header-row:not(:last-child) .dhx_grid-footer-cell,.dhx_header-row:not(:last-child) .dhx_grid-header-cell{border-bottom:none}.dhx_grid-custom-content-cell{padding:5px}.dhx_header-spans{position:absolute;top:0}.dhx_header-spans .dhx_span-cell{background:#f7f7f7;font-weight:500}.dhx_header-fixed-cols{background:#f7f7f7;z-index:999}.dhx_header-fixed-cols .dhx_last-column-cell{border-right:1px solid #e4e4e4}.dhx_resizer_grip{position:absolute;z-index:100;top:0;right:-5px;display:flex;width:9px;height:100%;cursor:col-resize;justify-content:center}.dhx_resizer_grip:hover .dhx_resizer_grip_line{opacity:1}.dhx_resizer_grip:active{right:-100.5px;width:200px}.dhx_resizer_grip .dhx_resizer_grip_line{z-index:100;background-color:#a6a6a6;width:1px;height:100%;transition:all .2s;pointer-events:none;opacity:0}.dhx_resizer_grip .dhx_header_fixed_cols .dhx_header_row{border:none}.dhx_footer-wrapper{box-shadow:0 1px 0 0 #f7f7f7}.dhx_grid-footer{position:relative;background-color:#f7f7f7}.dhx_grid-footer-cell{border-top:1px solid #e4e4e4;overflow:hidden}.dhx_grid-footer-cell:after{display:none}.dhx_grid-footer-cell.dhx_number-cell{text-align:right}.dhx_grid-footer-cell.dhx_string-cell{text-align:left}.dhx_footer-row{white-space:nowrap;background:#f7f7f7}.dhx_footer-row:last-child .dhx_cell-first{border-bottom:1px solid #f7f7f7}.dhx_footer-row .dhx_grid-footer-cell{border-bottom:none}.dhx_footer-spans .dhx_span-cell{background-color:#f7f7f7}.dhx_footer-spans .dhx_span-row .dhx_span-cell{border-top:1px solid #e4e4e4}.dhx_footer-fixed-cols{background:#f7f7f7;z-index:999}.dhx_footer-fixed-cols .dhx_last-column-cell{border-right:1px solid #e4e4e4}.dhx_grid_data{position:relative;top:-1px}.dhx_grid-row{width:100%}.dhx_grid-cell,.dhx_grid-row{white-space:nowrap;overflow:hidden}.dhx_grid-cell{font-size:14px;color:rgba(0,0,0,.7);text-align:right;position:relative;display:inline-block;height:100%;padding:0 8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;vertical-align:top;border-top:1px solid #e4e4e4;border-left:1px solid #e4e4e4}.dhx_grid-cell--drophere:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;background-color:#f7f7f7;opacity:.6}.dhx_grid-cell--dragtarget{opacity:.6}.dhx_grid-cell--drag{cursor:-webkit-grab;cursor:grab}.dhx_grid-cell .dhx_cell-content{width:100%;height:100%;overflow:hidden}.dhx_grid-cell:first-child{border-left:none}.dhx_grid-cell--first{border-top:none}.dhx_grid-cell--title{font-size:14px;font-weight:400;color:rgba(0,0,0,.7);text-align:left;border-bottom:none}.dhx_grid-cell--after-title,.dhx_grid-cell--title{border-top:1px solid #e4e4e4}.dhx_grid-cell__editable{padding-right:0;padding-left:0}.dhx_number-cell{text-align:right}.dhx_string-cell,.dhx_tree-cell{text-align:left}.dhx_tree-cell:not(.dhx_grid-expand-cell) .dhx_cell-editor{margin:0 -8px}.dhx_tree-cell.dhx_grid-expand-cell{display:inline-flex;padding-left:0}.dhx_tree-cell .dhx_grid-expand-cell-icon{display:inline-flex;width:auto;height:100%;font-size:14px;cursor:pointer}.dhx_tree-cell .dhx_grid-expand-cell-icon:before{display:flex;justify-content:center;flex-direction:column}.dhx_tree-cell .dhx_tree-cell{display:inline-block;padding:0 8px}.dhx_grid-fixed-cols-wrap{position:absolute;top:0;left:0;background:#fff;overflow:hidden}.dhx_frozen-cols-border{width:1px;position:absolute;right:0;top:0;height:100%;background:#e4e4e4;z-index:999999}.dhx_grid-fixed-cols{position:absolute;top:0}.dhx_grid-fixed-cols .dhx_grid-cell__editable:last-child{padding-right:1px}.dhx_grid-selection{position:absolute;top:0;left:0;z-index:10}.dhx_grid-selected-row{border-left:2px solid #0288d1;background:rgba(77,77,77,.08);pointer-events:none}.dhx_grid-selected-cell{border:2px solid #0288d1;background-color:transparent;pointer-events:none}.dhx_grid-resize-line{position:absolute;width:1px;background:#a6a6a6;z-index:10}.dhx_cell-editor{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;width:100%;height:100%;text-align:inherit;color:rgba(0,0,0,.7);border:none;border-radius:0;background:transparent;box-shadow:inset 0 0 0 1px #0288d1;outline:none}.dhx_cell-editor__combobox .dhx_combobox-input-box{padding:0 25px 0 8px;box-shadow:inset 0 0 0 1px #0288d1}.dhx_cell-editor__input{padding:0 8px}.dhx_cell-editor__select{padding:0 4px}.dhx_cell-editor__checkbox{position:relative;width:100%;height:100%;display:flex;justify-content:center;flex-direction:column;align-items:center;cursor:pointer}.dhx_span-cell{position:relative;display:inline-block;height:100%;padding:0 8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;vertical-align:top;white-space:nowrap;border-left:1px solid #e4e4e4;overflow:hidden;position:absolute;display:block;height:auto;font-weight:500;border-top:1px solid #e4e4e4;border-bottom:none;z-index:10}.dhx_span-cell--title{color:rgba(0,0,0,.5)}.dhx_span-row .dhx_first-column-cell{border-left:none}.dhx_span-row .dhx_last-column-cell{border-right:1px solid #e4e4e4}.dhx_span-row:first-child .dhx_span-cell{border-top:none}.dhx_span-spans{position:absolute;top:0;left:0}.dhx_span-spans .dhx_span-cell{font-weight:400;color:rgba(0,0,0,.7);line-height:normal;text-align:left;white-space:normal;border-right:none;background:#fff}.dhx_span-spans .dhx_span-cell.dhx_span-first-row{border-top:none}.dhx_span-spans .dhx_span-cell.dhx_span-first-col{border-left:none}.dhx_span-spans .dhx_span-string-cell{text-align:left}.dhx_span-spans .dhx_span-number-cell{text-align:right}.dhx_grid{position:relative;width:100%;height:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;background:#fff;overflow:hidden}.dhx_grid_border{border-bottom:1px solid #e4e4e4!important}.dhx_grid-content{position:relative;border:1px solid #dfdfdf;background:#fff}.dhx_grid-less-width .dhx_grid-cell:last-child,.dhx_grid-less-width .dhx_grid-footer-cell:last-child,.dhx_grid-less-width .dhx_grid-header-cell:last-child,.dhx_grid-less-width .dhx_grid_footer_cell:last-child,.dhx_grid-less-width .dhx_last-column-cell,.dhx_grid-less-width .dhx_span-last-col,.dhx_grid_border .dhx_grid-cell:last-child,.dhx_grid_border .dhx_grid-footer-cell:last-child,.dhx_grid_border .dhx_grid-header-cell:last-child,.dhx_grid_border .dhx_grid_footer_cell:last-child,.dhx_grid_border .dhx_last-column-cell,.dhx_grid_border .dhx_span-last-col{border-right:1px solid #e4e4e4}.dhx_grid-less-height .dhx_footer-row:last-child .dhx_grid-footer-cell,.dhx_grid-less-height .dhx_grid-row:last-child{border-bottom:1px solid #e4e4e4}.dhx_grid-less-height .dhx_footer-row:first-child .dhx_grid-footer-cell{border-top:none}.dhx_grid-less-height .dhx_span-row:last-child .dhx_span-cell{border-bottom:1px solid #e4e4e4}.dhx_grid-less-height .dhx_span-row:first-child .dhx_span-cell{border-top:none}.dhx_grid-body{overflow:auto}.dhx_data-wrap,.dhx_grid-body{position:relative;width:100%;height:100%}.dhx_data-wrap{overflow:hidden}.dhx_grid-filter__label{display:block;width:100%;height:100%;position:relative}.dhx_grid-filter__label:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;transform:translateY(-50%);z-index:10}.dhx_grid-filter{height:100%;padding:0 25px 0 4px;color:rgba(0,0,0,.7);background:#fff;border-radius:2px;outline:none;position:relative}.dhx_grid-filter::-ms-expand{display:none}.dhx_grid-cell .dhx_combobox-input-box,.dhx_grid-footer-cell .dhx_combobox-input-box,.dhx_grid-header-cell .dhx_combobox-input-box{height:100%;padding:0 8px;color:rgba(0,0,0,.7);background:#fff;border-radius:2px;outline:none;position:relative}.dhx_grid-cell .dhx_combobox-input-box::-ms-expand,.dhx_grid-footer-cell .dhx_combobox-input-box::-ms-expand,.dhx_grid-header-cell .dhx_combobox-input-box::-ms-expand{display:none}.dhx_grid-cell .dhx_combobox,.dhx_grid-footer-cell .dhx_combobox,.dhx_grid-header-cell .dhx_combobox{margin:0;height:100%}.dhx_grid-cell .dhx_combobox .dhx_combobox-input-list,.dhx_grid-footer-cell .dhx_combobox .dhx_combobox-input-list,.dhx_grid-header-cell .dhx_combobox .dhx_combobox-input-list{height:100%;min-height:100%;max-height:100%;padding-left:0;padding-right:24px;border:none;width:100%}.dhx_grid-cell .dhx_combobox .dhx_combobox-input-list .dhx_combobox-input,.dhx_grid-footer-cell .dhx_combobox .dhx_combobox-input-list .dhx_combobox-input,.dhx_grid-header-cell .dhx_combobox .dhx_combobox-input-list .dhx_combobox-input{height:100%;min-height:100%}.dhx_grid-cell .dhx_list-item,.dhx_grid-footer-cell .dhx_list-item,.dhx_grid-header-cell .dhx_list-item{padding:7px 12px}.dhx_menu-nav{display:flex;flex-wrap:nowrap;margin:0;padding:0;width:100%;list-style:none;overflow-x:auto;background-color:#ededed}.dhx_menu-nav__item--separator{pointer-events:none;width:1px;min-width:1px;background-color:#dfdfdf;margin-top:8px;margin-bottom:8px}.dhx_menu-nav__item--spacer{pointer-events:none;flex:1 0 auto}.dhx_nav-menu-button{display:flex;justify-content:center;align-items:center;padding:8px 12px;font-weight:500;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:transparent;transition:background-color .2s ease-in}.dhx_nav-menu-button--active:not(:disabled),.dhx_nav-menu-button:active:not(:disabled),.dhx_nav-menu-button:hover:not(:disabled){background-color:rgba(0,0,0,.07);transition:background-color .2s ease-out}.dhx_nav-menu-button--disabled,.dhx_nav-menu-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_nav-menu-button--disabled *,.dhx_nav-menu-button:disabled *{color:rgba(0,0,0,.3)}.dhx_menu{padding:0;margin:0;background:#fff;list-style:none;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3);overflow:hidden;z-index:999}.dhx_menu-item{min-width:180px}.dhx_menu-item--separator{pointer-events:none;align-self:stretch;height:1px;min-height:1px;margin:2px 8px;background-color:#e4e4e4}.dhx_menu-item--spacer{pointer-events:none;height:16px}.dhx_menu-item--left-gap .dhx_menu-button{padding-left:38px}.dhx_menu-button{display:flex;width:100%;justify-content:space-between;padding:8px;text-align:left;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:rgba(0,0,0,.7);background-color:transparent;transition:background-color .2s ease-in}.dhx_menu-button--active:not(:disabled),.dhx_menu-button:active:not(:disabled),.dhx_menu-button:focus:not(:disabled),.dhx_menu-button:hover:not(:disabled){background-color:#ededed;transition:background-color .2s ease-out}.dhx_menu-button--disabled,.dhx_menu-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_menu-button--disabled *,.dhx_menu-button:disabled *{color:rgba(0,0,0,.3)}.dhx_menu-button__icon{color:rgba(0,0,0,.5)}.dhx_widget .dhx_menu-button__icon{line-height:0}.dhx_widget .dhx_menu-button__icon:before{font-size:20px;line-height:20px}.dhx_menu-button__icon+.dhx_menu-button__text{margin-left:8px}.dhx_menu-button__block{display:flex;align-items:center}.dhx_menu-button__block--left{justify-content:flex-start}.dhx_menu-button__block--right{justify-content:flex-end}.dhx_menu-button__count{margin-left:8px;margin-top:-2px;margin-bottom:-2px}.dhx_menu-button__hotkey{margin-left:8px;color:rgba(0,0,0,.3)}.dhx_menu-button__caret{margin-left:8px;color:rgba(0,0,0,.5)}.dhx_widget--fullscreen .dhx_menu{z-index:2147483647}.dhx_ribbon{display:flex;flex-direction:row;flex-wrap:wrap;margin:0;padding:10px;list-style:none}.dhx_ribbon:focus{outline:none}.dhx_ribbon__item{margin:2px}.dhx_ribbon__item--auto,.dhx_ribbon__item--medium{flex:1 0 auto;min-width:68px;min-height:68px}.dhx_ribbon__item--icon,.dhx_ribbon__item--spacer{flex:1 0 auto}.dhx_ribbon__item--separator{align-self:stretch;width:1px;min-width:1px;margin:8px 4px;background-color:#dfdfdf}.dhx_ribbon-button__icon+.dhx_ribbon-button__text{margin-left:4px}.dhx_widget .dhx_ribbon-button__icon{line-height:0}.dhx_widget .dhx_ribbon-button__icon:before{font-size:20px;line-height:20px}.dhx_ribbon-button,.dhx_ribbon-button-image{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:6px 12px;box-shadow:inset 0 0 0 1px #dfdfdf;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;font-weight:400;color:rgba(0,0,0,.7);background-color:transparent;border-radius:2px;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_ribbon-button-image__icon,.dhx_ribbon-button__icon{color:rgba(0,0,0,.5);line-height:0}.dhx_ribbon-button-image__count,.dhx_ribbon-button__count{margin-left:8px;margin-top:-10px;margin-bottom:-10px}.dhx_ribbon-button--auto,.dhx_ribbon-button--medium,.dhx_ribbon-button-image--auto,.dhx_ribbon-button-image--medium{flex-direction:column;justify-content:center;align-items:center;min-width:68px;min-height:68px;height:100%}.dhx_ribbon-button--auto .dhx_ribbon-button-image__count,.dhx_ribbon-button--auto .dhx_ribbon-button__count,.dhx_ribbon-button--medium .dhx_ribbon-button-image__count,.dhx_ribbon-button--medium .dhx_ribbon-button__count,.dhx_ribbon-button-image--auto .dhx_ribbon-button-image__count,.dhx_ribbon-button-image--auto .dhx_ribbon-button__count,.dhx_ribbon-button-image--medium .dhx_ribbon-button-image__count,.dhx_ribbon-button-image--medium .dhx_ribbon-button__count{margin-left:0;position:absolute;top:4px;right:4px}.dhx_ribbon-button--auto .dhx_ribbon-button__icon+.dhx_ribbon-button__text,.dhx_ribbon-button--medium .dhx_ribbon-button__icon+.dhx_ribbon-button__text,.dhx_ribbon-button-image--auto .dhx_ribbon-button__icon+.dhx_ribbon-button__text,.dhx_ribbon-button-image--medium .dhx_ribbon-button__icon+.dhx_ribbon-button__text{margin-left:0;margin-top:2px}.dhx_ribbon-button--icon,.dhx_ribbon-button-image--icon{flex:1 0 auto;justify-content:center}.dhx_ribbon-button--select,.dhx_ribbon-button-image--select{padding-right:8px}.dhx_ribbon-button--select .dhx_ribbon-button__text,.dhx_ribbon-button-image--select .dhx_ribbon-button__text{margin-right:8px}.dhx_ribbon-button-image:hover,.dhx_ribbon-button:hover{background-color:rgba(0,0,0,.07);transition:background-color .2s ease-out}.dhx_ribbon-button--active,.dhx_ribbon-button-image--active,.dhx_ribbon-button-image:active,.dhx_ribbon-button:active{background-color:#f2f9fd;transition:background-color .2s ease-out,box-shadow .2s ease-out;box-shadow:inset 0 0 0 1px #b3dbf1}.dhx_ribbon-button--disabled,.dhx_ribbon-button-image--disabled,.dhx_ribbon-button-image:disabled,.dhx_ribbon-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_ribbon-button--disabled:hover,.dhx_ribbon-button-image--disabled:hover,.dhx_ribbon-button-image:disabled:hover,.dhx_ribbon-button:disabled:hover{background-color:transparent}.dhx_ribbon-button--disabled *,.dhx_ribbon-button-image--disabled *,.dhx_ribbon-button-image:disabled *,.dhx_ribbon-button:disabled *{color:rgba(0,0,0,.3)}.dhx_ribbon-button-image__text+.dhx_ribbon-button-image__image{margin-right:4px}.dhx_ribbon-button-image{flex-flow:row-reverse;justify-content:flex-end}.dhx_ribbon-button-image__count{order:-1}.dhx_ribbon-button-image__image{width:20px;height:20px;background-size:cover;background-position:50%;background-repeat:no-repeat}.dhx_ribbon-button-image--icon{justify-content:center}.dhx_ribbon-button-image__count{margin-left:8px}.dhx_ribbon-button-image--auto .dhx_ribbon-button__count,.dhx_ribbon-button-image--medium .dhx_ribbon-button__count{margin-left:0;position:absolute;top:4px;right:4px}.dhx_ribbon-button-image--auto,.dhx_ribbon-button-image--medium{flex-flow:column-reverse;justify-content:center;min-width:68px;min-height:68px;height:100%}.dhx_ribbon-button-image--auto .dhx_ribbon-button-image__image,.dhx_ribbon-button-image--medium .dhx_ribbon-button-image__image{margin-right:0;width:32px;height:32px}.dhx_ribbon-button-image__caret,.dhx_ribbon-button__caret{margin-left:auto;color:rgba(0,0,0,.5);transform:rotate(90deg)}.dhx_ribbon-block{display:flex;text-align:center}.dhx_ribbon-block--root{width:100%}.dhx_ribbon-block--title{position:relative;padding-bottom:20px}.dhx_ribbon-block--indented{margin-right:4px;margin-left:4px}.dhx_ribbon-block--indented:first-child{margin-left:0}.dhx_ribbon-block--indented:last-child{margin-right:0}.dhx_ribbon-block--col>.dhx_ribbon-content{flex-direction:column}.dhx_ribbon-block--row>.dhx_ribbon-content{flex-direction:row}.dhx_ribbon-block--row .dhx_ribbon-button--auto,.dhx_ribbon-block--row .dhx_ribbon-button-image--auto{flex-direction:column;justify-content:center}.dhx_ribbon-content{flex:1 0 auto;margin:0;padding:0;list-style:none;display:flex}.dhx_ribbon-content-label-wrapper{display:block;position:absolute;bottom:-6px;left:0;right:0;overflow:hidden}.dhx_ribbon-content-label{position:relative;display:inline;font-family:Roboto;font-style:normal;font-weight:400;font-size:14px;line-height:16px;text-align:center;color:rgba(0,0,0,.38)}.dhx_ribbon-content-label:after,.dhx_ribbon-content-label:before{content:"";position:absolute;top:50%;display:block;height:1px;background:rgba(0,0,0,.07);width:1000%}.dhx_ribbon-content-label:before{left:calc(100% + 4px)}.dhx_ribbon-content-label:after{right:calc(100% + 4px)}.dhx_sidebar{height:100%;position:relative;background-color:#fff;z-index:1}.dhx_sidebar:focus{outline:none}.dhx_sidebar__item .dhx_custom-button{overflow:hidden}.dhx_sidebar__item--spacer{flex:1 0 auto}.dhx_sidebar__item--separator{height:1px;min-height:1px;width:100%;background-color:#dfdfdf;margin:2px 0}.dhx_sidebar--minimized .dhx_navbar-title{opacity:0;pointer-events:none}.dhx_sidebar--minimized .dhx_sidebar-button__icon{margin-left:auto;margin-right:auto}.dhx_sidebar--minimized .dhx_sidebar-button--select{padding-right:12px}.dhx_sidebar--minimized .dhx_sidebar-button__count{position:absolute;max-width:24px;overflow:hidden;top:-4px;right:4px}.dhx_sidebar--minimized .dhx_sidebar-button--select .dhx_sidebar-button__count{margin-right:0}.dhx_sidebar--minimized .dhx_sidebar-button__caret,.dhx_sidebar--minimized .dhx_sidebar-button__text{display:none}.dhx_sidebar-button__icon+.dhx_sidebar-button__text{margin-left:12px}.dhx_sidebar-button{position:relative;display:flex;width:100%;justify-content:flex-start;align-items:center;padding:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;font-weight:400;color:rgba(0,0,0,.7);background-color:transparent;transition:background-color .2s ease-in}.dhx_sidebar-button--select{padding-right:8px}.dhx_sidebar-button--select .dhx_sidebar-button__count{margin-right:8px}.dhx_sidebar-button--icon{padding-right:12px}.dhx_sidebar-button:hover{background-color:rgba(0,0,0,.07);transition:background-color .2s ease-out}.dhx_sidebar-button--active,.dhx_sidebar-button:active{background-color:rgba(0,0,0,.15);transition:background-color .2s ease-out}.dhx_sidebar-button--active{box-shadow:inset 2px 0 0 0 #0288d1}.dhx_sidebar-button--disabled,.dhx_sidebar-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_sidebar-button--disabled:hover,.dhx_sidebar-button:disabled:hover{background-color:transparent}.dhx_sidebar-button--disabled *,.dhx_sidebar-button:disabled *{color:rgba(0,0,0,.3)}.dhx_sidebar-button__icon{color:rgba(0,0,0,.5)}.dhx_widget .dhx_sidebar-button__icon{line-height:0}.dhx_widget .dhx_sidebar-button__icon:before{font-size:20px;line-height:20px}.dhx_sidebar-button__html,.dhx_sidebar-button__text{width:100%;text-align:left}.dhx_sidebar-button__count+.dhx_sidebar-button__caret{margin-left:0}.dhx_sidebar-button__count{min-width:24px;flex:1 0 auto;width:auto;margin:-4px 0 -4px auto}.dhx_sidebar-button__caret{margin-right:0;margin-left:auto}.dhx_toolbar{display:flex;margin:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:12px 0;background-color:#fff}.dhx_toolbar__item--spacer{flex:1 0 auto}.dhx_toolbar__item--separator{width:1px;min-width:1px;height:100%;background-color:#dfdfdf;margin:0 2px;height:28px}.dhx_toolbar__item:first-child .dhx_form-group,.dhx_toolbar__item:first-child .dhx_navbar-title,.dhx_toolbar__item:first-child button:not(.dhx_toolbar-button){margin-left:12px}.dhx_toolbar__item:first-child button.dhx_button--view_link,.dhx_toolbar__item:not(:first-child) .dhx_form-group,.dhx_toolbar__item:not(:first-child) .dhx_navbar-title,.dhx_toolbar__item:not(:first-child) button:not(.dhx_toolbar-button){margin-left:4px}.dhx_toolbar__item:last-child .dhx_form-group,.dhx_toolbar__item:last-child .dhx_navbar-title,.dhx_toolbar__item:last-child button:not(.dhx_toolbar-button){margin-right:12px}.dhx_toolbar__item:last-child button.dhx_button--view_link,.dhx_toolbar__item:not(:last-child) .dhx_form-group,.dhx_toolbar__item:not(:last-child) .dhx_navbar-title,.dhx_toolbar__item:not(:last-child) button:not(.dhx_toolbar-button){margin-right:4px}.dhx_toolbar .dhx_button__icon--menu{transform:rotate(90deg)}.dhx_toolbar__input{height:32px}@supports (display:block){.dhx_toolbar__input{height:unset}}.dhx_toolbar__input .dhx_input{height:32px}@supports (display:block){.dhx_toolbar__input .dhx_input{height:unset}}.dhx_toolbar-button{position:relative;display:flex;justify-content:center;align-items:center;padding:6px 12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;font-weight:500;color:rgba(0,0,0,.7);background-color:transparent;border-radius:2px;transition:background-color .2s ease-in}.dhx_toolbar-button--select{padding-right:8px}.dhx_toolbar-button--icon{padding-right:12px}.dhx_toolbar-button--circle{border-radius:32px}.dhx_toolbar-button--circle.dhx_toolbar-button--icon{padding-left:6px;padding-right:6px}.dhx_toolbar-button:hover{background-color:rgba(0,0,0,.07);transition:background-color .2s ease-out}.dhx_toolbar-button--active,.dhx_toolbar-button:active{background-color:rgba(0,0,0,.15);transition:background-color .2s ease-out}.dhx_toolbar-button--disabled,.dhx_toolbar-button:disabled{opacity:.8;pointer-events:auto;cursor:default}.dhx_toolbar-button--disabled:hover,.dhx_toolbar-button:disabled:hover{background-color:transparent}.dhx_toolbar-button--disabled *,.dhx_toolbar-button:disabled *{color:rgba(0,0,0,.3)}.dhx_toolbar-button__icon{color:rgba(0,0,0,.7)}.dhx_widget .dhx_toolbar-button__icon{line-height:0}.dhx_widget .dhx_toolbar-button__icon:before{font-size:20px;line-height:20px}.dhx_toolbar-button__icon+.dhx_toolbar-button__text{margin-left:8px}.dhx_toolbar-button__count{position:absolute;top:-10px;right:-10px}.dhx_toolbar-button__caret{margin-left:8px;color:rgba(0,0,0,.5);transform:rotate(90deg)}.dhx_toolbar-button-image{display:flex;justify-content:center;align-items:center;position:relative;width:44px;height:44px;padding:0;margin-top:-8px;margin-bottom:-8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);border-radius:50%;transition:opacity .2s ease-in}.dhx_toolbar-button-image:hover{opacity:.8;transition:opacity .2s ease-out}.dhx_toolbar-button-image__image{position:absolute;border-radius:50%;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:50%;background-repeat:no-repeat;z-index:1}.dhx_toolbar-button-image__text{text-align:center;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dhx_toolbar-button-image__count{position:absolute;top:-4px;right:-4px}.dhx_tabbar{display:flex;max-height:100%;height:100%;max-width:100%;background-color:#fff}.dhx_tabbar--top{flex-direction:column}.dhx_tabbar--top .dhx_tabbar-header__wrapper:after{left:0;height:1px;width:100%;bottom:0}.dhx_tabbar--top .dhx_layout-cell{height:100%;overflow:auto;flex:1 1 auto}.dhx_tabbar--top .dhx_tabbar-header{flex-direction:row}.dhx_tabbar--top .dhx_tabbar-header-active{bottom:0}.dhx_tabbar--top .dhx_tabbar-tab{flex:0 0 auto}.dhx_tabbar--top .dhx_tabbar-tab-button{text-align:center}.dhx_tabbar--bottom{flex-direction:column-reverse}.dhx_tabbar--bottom .dhx_tabbar-header__wrapper:after{left:0;height:1px;width:100%;top:0}.dhx_tabbar--bottom .dhx_layout-cell{height:100%;overflow:auto;flex:1 1 auto}.dhx_tabbar--bottom .dhx_tabbar-header{flex-direction:row}.dhx_tabbar--bottom .dhx_tabbar-header-active{top:0}.dhx_tabbar--bottom .dhx_tabbar-tab{flex:0 0 auto}.dhx_tabbar--bottom .dhx_tabbar-tab-button{text-align:center}.dhx_tabbar--left{flex-direction:row}.dhx_tabbar--left .dhx_tabbar-header__wrapper:after{right:0;height:100%;width:1px;bottom:0}.dhx_tabbar--left .dhx_layout-cell{height:100%;overflow:auto;flex:1 1 auto}.dhx_tabbar--left .dhx_tabbar-header{flex-direction:column}.dhx_tabbar--left .dhx_tabbar-header-active{right:0}.dhx_tabbar--left .dhx_tabbar-tab{flex:1 1 auto}.dhx_tabbar--left .dhx_tabbar-tab-button{text-align:right}.dhx_tabbar--right{flex-direction:row-reverse}.dhx_tabbar--right .dhx_tabbar-header__wrapper:after{left:0;height:100%;width:1px;bottom:0}.dhx_tabbar--right .dhx_layout-cell{height:100%;overflow:auto;flex:1 1 auto}.dhx_tabbar--right .dhx_tabbar-header{flex-direction:column}.dhx_tabbar--right .dhx_tabbar-header-active{left:0}.dhx_tabbar--right .dhx_tabbar-tab{flex:1 1 auto}.dhx_tabbar--right .dhx_tabbar-tab-button{text-align:left}.dhx_tabbar .dhx_layout-cell--content{flex:1 0 auto;overflow:auto}.dhx_tabbar-content--disabled{cursor:not-allowed;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.7}.dhx_tabbar-header{display:flex;margin:0;padding:0;list-style:none}.dhx_tabbar-header__wrapper{position:relative;overflow:auto;flex:0 0 auto}.dhx_tabbar-header__wrapper:after{content:"";display:block;position:absolute;background:#e4e4e4}.dhx_tabbar-header-active{position:absolute;transition:transform .1s ease-in-out;background-color:#0288d1;z-index:1}.dhx_tabbar-tab{position:relative}.dhx_tabbar-tab__close{position:absolute;top:50%;right:8px;transform:translateY(-50%);z-index:1;opacity:.7;color:#0288d1;cursor:pointer}.dhx_tabbar-tab__close:hover{opacity:1}.dhx_tabbar-tab__close:focus{outline:none}.dhx_tabbar-tab-button{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;position:relative;padding:12px 24px;border-radius:0;color:#0288d1;text-transform:uppercase;background-color:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color .2s ease-in}.dhx_tabbar-tab-button .dhx_button__text{opacity:.7}.dhx_tabbar-tab-button:active,.dhx_tabbar-tab-button:hover,.dhx_tabbar-tab-button:hover:active{background-color:#ededed;transition:background-color .2s ease-out}.dhx_tabbar-tab-button--active .dhx_button__text{opacity:1}.dhx_tabbar-tab-button--disabled{cursor:not-allowed}.dhx_tabbar-tab-button--disabled *{cursor:not-allowed;pointer-events:none}.dhx_tabbar-tab-button--disabled .dhx_button__text{color:rgba(0,0,0,.3)}.dhx_tree{list-style:none;margin:0;padding:0;position:relative;z-index:1}.dhx_tree--no-selection{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_tree--no-selection .dhx_tree-folder:hover:before,.dhx_tree--no-selection .dhx_tree-list-item:hover:before{transition:background-color .2s ease-out;background-color:transparent}.dhx_tree-list{list-style:none;margin:0;padding:0 0 0 20px}.dhx_tree-folder{display:flex;align-items:center;padding-top:2px;padding-bottom:2px}.dhx_tree-folder .dhx_tree-list-item__content{padding-left:20px}.dhx_tree-folder .dhx_tree-toggle-button+.dhx_tree-list-item__content{padding-left:0}.dhx_tree-list-item{display:flex;align-items:center;cursor:pointer;padding-top:2px;padding-bottom:2px;transition:background-color .2s ease-out}.dhx_tree-list-item__content{display:flex;align-items:center;padding-left:20px;position:relative}.dhx_tree-list-item__content:before{content:"";display:block;position:absolute;top:-1.5px;bottom:-1.5px;right:inherit;left:inherit;transition:background-color .2s ease-in;z-index:-1}.dhx_tree-list-item__text{padding-left:4px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:normal;color:rgba(0,0,0,.7)}.dhx_tree-list-item__icon{color:rgba(0,0,0,.3);line-height:1;font-size:0}.dhx_tree-list-item__icon:before{font-size:20px;line-height:1}.dhx_tree-list-item--parent{display:block;padding-top:0;padding-bottom:0}.dhx_tree-list-item .dhx_widget .dhx_tree-list-item__icon{line-height:0}.dhx_tree-list-item .dhx_widget .dhx_tree-list-item__icon:before{font-size:20px;line-height:20px}.dhx_tree-folder,.dhx_tree-list-item{position:relative}.dhx_tree-folder:before,.dhx_tree-list-item:before{content:"";display:block;position:absolute;top:0;bottom:0;right:inherit;left:inherit;transition:background-color .2s ease-in;z-index:-1}.dhx_tree-folder--focused:before,.dhx_tree-folder:hover:before,.dhx_tree-list-item--focused:before,.dhx_tree-list-item:hover:before{transition:background-color .2s ease-out;background-color:#ededed}.dhx_tree-folder--selected:before,.dhx_tree-list-item--selected:before{transition:background-color .2s ease-out;box-shadow:inset 2px 0 0 0 #0288d1;background-color:#f7f7f7}.dhx_tree-toggle-button{cursor:pointer;color:rgba(0,0,0,.5)}.dhx_tree-toggle-button+.dhx_tree-list-item__content{margin-left:0}.dhx_tree-checkbox{padding-right:4px;color:#0288d1}.dhx_tree-checkbox.dxi-checkbox-blank-outline{color:rgba(0,0,0,.5)}.dhx_tree-input{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);padding-left:4px;padding-top:0;padding-bottom:0;margin:0;background-color:#f7f7f7;border:none}.dhx_tree-input:focus{outline:none}.dhx_tree-folder.dhx_tree-drop--top .dhx_tree-list-item__content:before{left:-20px;right:0;box-shadow:0 -1px 0 0 #81c4e8}.dhx_tree-folder.dhx_tree-drop--top:hover:before{background-color:transparent}.dhx_tree-folder.dhx_tree-drop--bottom .dhx_tree-list-item__content:before{left:-20px;right:0;box-shadow:0 1px 0 0 #81c4e8}.dhx_tree-folder.dhx_tree-drop--bottom:hover:before{background-color:transparent}.dhx_tree-folder.dhx_tree-drop--in-folder .dhx_tree-list-item__content:before{left:-20px;right:0;box-shadow:0 1px 0 0 #81c4e8,0 -1px 0 0 #81c4e8}.dhx_tree-folder.dhx_tree-drop--in-folder:hover:before{background-color:transparent}.dhx_tree-list-item.dhx_tree-drop--top .dhx_tree-list-item__content:before{left:20px;right:0;box-shadow:0 -1px 0 0 #81c4e8}.dhx_tree-list-item.dhx_tree-drop--top:hover:before{background-color:transparent}.dhx_tree-list-item.dhx_tree-drop--bottom .dhx_tree-list-item__content:before{left:20px;right:0;box-shadow:0 1px 0 0 #81c4e8}.dhx_tree-list-item.dhx_tree-drop--bottom:hover:before{background-color:transparent}.dhx_tree-list-item.dhx_tree-drop--in-folder .dhx_tree-list-item__content:before{left:20px;right:0;box-shadow:0 1px 0 0 #81c4e8,0 -1px 0 0 #81c4e8}.dhx_tree-list-item.dhx_tree-drop--in-folder:hover:before{background-color:transparent}.dhx_window{border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3);will-change:transform;overflow:visible}.dhx_window--stop_selection{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_window__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2147483645}.dhx_window-header{margin-bottom:20px}.dhx_window-header--movable{cursor:all-scroll}.dhx_window-header:before{content:"";display:block;position:absolute;top:0;left:0;right:0;width:100%;height:16px;transform:translateY(-100%)}.dhx_window-header .dhx_navbar-title{margin-left:0!important;font-size:18px}.dhx_window-content{padding-left:28px;padding-right:28px;padding-bottom:28px}.dhx_window-content,.dhx_window-content-without-header{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;color:rgba(0,0,0,.5);line-height:1.3;overflow-y:auto;overflow-wrap:break-word;word-wrap:break-word}.dhx_window-content-without-header{padding:28px}.dhx_window-footer{margin-top:20px}.dhx_window__inner-html-content :first-child{margin-top:0}body.dhx_window--no-scroll{width:100vw;height:100vh}.dhx_window--no-scroll{overflow:hidden}.dhx_window .dhx_cell_content,.dhx_window .dhx_toolbar{width:100%}.dhx_window .dhx_toolbar__list{min-height:auto}.dhx_window .dhx_window-header .dhx_toolbar{padding:28px 28px 0}.dhx_window .dhx_window-footer .dhx_toolbar{padding:0 28px 28px}.dhx_window .dhx_cell_content{height:100%;display:flex;flex-direction:column}.dhx_window-resizer{position:absolute;background:transparent}.dhx_window-resizer--left{left:-6px;top:0;height:100%;width:12px}.dhx_window-resizer--left:hover{cursor:ew-resize}.dhx_window-resizer--right{right:-6px;top:0;height:100%;width:12px}.dhx_window-resizer--right:hover{cursor:ew-resize}.dhx_window-resizer--top{left:0;top:-6px;height:12px;width:100%}.dhx_window-resizer--top:hover{cursor:ns-resize}.dhx_window-resizer--bottom{left:0;bottom:-6px;height:12px;width:100%}.dhx_window-resizer--bottom:hover{cursor:ns-resize}.dhx_window-resizer--top_right{right:-6px;top:-6px;width:12px;height:12px}.dhx_window-resizer--top_right:hover{cursor:nesw-resize}.dhx_window-resizer--top_left{left:-6px;top:-6px;width:12px;height:12px}.dhx_window-resizer--top_left:hover{cursor:nwse-resize}.dhx_window-resizer--bottom_right{right:-6px;bottom:-6px;width:12px;height:12px}.dhx_window-resizer--bottom_right:hover{cursor:nwse-resize}.dhx_window-resizer--bottom_left{left:-6px;bottom:-6px;width:12px;height:12px}.dhx_window-resizer--bottom_left:hover{cursor:nesw-resize}.dhx_window-body-pointer--left,.dhx_window-body-pointer--right{cursor:ew-resize}.dhx_window-body-pointer--bottom,.dhx_window-body-pointer--top{cursor:ns-resize}.dhx_window-body-pointer--top_right{cursor:nesw-resize}.dhx_window-body-pointer--bottom_right,.dhx_window-body-pointer--top_left{cursor:nwse-resize}.dhx_window-body-pointer--bottom_left{cursor:nesw-resize} \ No newline at end of file diff --git a/codebase/suite.min.js b/codebase/suite.min.js index a4dbde8..10bf9e4 100644 --- a/codebase/suite.min.js +++ b/codebase/suite.min.js @@ -1,15 +1,15 @@ /* @license -dhtmlxSuite v.6.1.4 GPL +dhtmlxSuite v.6.4.2 GPL This software is covered by GPL license. To use it in non-GPL project, you need obtain Commercial or Enterprise license Please contact sales@dhtmlx.com. Usage without proper license is prohibited. -(c) Dinamenta, UAB. +(c) XB Software. */ -if(window.dhx&&(window.dhx_legacy=dhx,delete window.dhx),function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.dhx=e():t.dhx=e()}(window,function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)i.d(n,o,function(e){return t[e]}.bind(null,o));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="/codebase/",i(i.s=81)}([function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(97);e.el=n.defineElement,e.sv=n.defineSvgElement,e.view=n.defineView,e.create=n.createView,e.inject=n.injectView,e.disableHelp=function(){n.DEVMODE.mutations=!1,n.DEVMODE.warnings=!1,n.DEVMODE.verbose=!1,n.DEVMODE.UNKEYED_INPUT=!1},e.resizer=function(t){var i=window.ResizeObserver,n=function(e){var i=e.el.offsetHeight,n=e.el.offsetWidth;t(n,i)};return i?e.el("div.dhx-resize-observer",{_hooks:{didInsert:function(t){new i(function(){return n(t)}).observe(t.el)}}}):e.el("iframe.dhx-resize-observer",{_hooks:{didInsert:function(t){t.el.contentWindow.onresize=function(){return n(t)},n(t)}}})}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),o=(new Date).valueOf();e.uid=function(){return"u"+o++},e.extend=function t(e,i,n){if(void 0===n&&(n=!0),i)for(var o in i){var r=i[o],s=e[o];!n||"object"!=typeof s||s instanceof Date||s instanceof Array?e[o]=r:t(s,r)}return e},e.copy=function(t,e){var i={};for(var n in t)e&&"$"===n[0]||(i[n]=t[n]);return i},e.naturalSort=function(t){return t.sort(function(t,e){return"string"==typeof t?t.localeCompare(e):t-e})},e.findIndex=function(t,e){for(var i=t.length,n=0;ne.length)return!1;for(var i=0;ie)return[];for(var i=[];t<=e;)i.push(t++);return i},e.isNumeric=function(t){return!isNaN(t-parseFloat(t))}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.events={},this.context=t||this}return t.prototype.on=function(t,e,i){var n=t.toLowerCase();this.events[n]=this.events[n]||[],this.events[n].push({callback:e,context:i||this.context})},t.prototype.detach=function(t,e){var i=t.toLowerCase(),n=this.events[i];if(e&&n&&n.length)for(var o=n.length-1;o>=0;o--)n[o].context===e&&n.splice(o,1);else this.events[i]=[]},t.prototype.fire=function(t,e){void 0===e&&(e=[]);var i=t.toLowerCase();return!this.events[i]||this.events[i].map(function(t){return t.callback.apply(t.context,e)}).indexOf(!1)<0},t.prototype.clear=function(){this.events={}},t}();e.EventSystem=n,e.EventsMixin=function(t){var e=new n(t=t||{});t.detachEvent=e.detach.bind(e),t.attachEvent=e.on.bind(e),t.callEvent=e.fire.bind(e)}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i-1)return e[i[c]](n,o);r=r.parentNode}return!0}},e.locate=function(t,e){void 0===e&&(e="dhx_id");var i=o(t,e);return i?i.getAttribute(e):""},e.locateNode=o,e.getBox=function(t){var e=t.getBoundingClientRect(),i=document.body,n=window.pageYOffset||i.scrollTop,o=window.pageXOffset||i.scrollLeft;return{top:e.top+n,left:e.left+o,right:i.offsetWidth-e.right,bottom:i.offsetHeight-e.bottom,width:e.right-e.left,height:e.bottom-e.top}};var r,s=-1;function a(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,right:e.right+window.pageXOffset,top:e.top+window.pageYOffset,bottom:e.bottom+window.pageYOffset}}function c(t,e){var i=e.mode===r.bottom||e.mode===r.top?u(t,e):d(t,e),n=i.left,o=i.top;return{left:Math.round(n)+"px",top:Math.round(o)+"px",minWidth:Math.round(e.width)+"px",position:"absolute"}}function l(){return{rightBorder:window.pageXOffset+window.innerWidth,bottomBorder:window.pageYOffset+window.innerHeight}}function u(t,e){var i,o,s=l(),a=s.rightBorder,c=s.bottomBorder-t.bottom-e.height,u=t.top-e.height;if(e.mode===r.bottom?c>=0?o=t.bottom:u>=0&&(o=u):u>=0?o=u:c>=0&&(o=t.bottom),c<0&&u<0){if(e.auto)return d(t,n({},e,{mode:r.right,auto:!1}));o=c>u?t.bottom:u}if(e.centering)i=function(t,e,i){var n=(e-(t.right-t.left))/2,o=t.left-n,r=t.right+n;return o>=0&&r<=i?o:o<0?0:i-e}(t,e.width,a);else{var h=a-t.left-e.width,p=t.right-e.width;i=h>=0?t.left:p>=0?p:p>h?t.left:p}return{left:i,top:o}}function d(t,e){var i,o,s=l(),a=s.rightBorder,c=s.bottomBorder,d=a-t.right-e.width,h=t.left-e.width;if(e.mode===r.right?d>=0?i=t.right:h>=0&&(i=h):h>=0?i=h:d>=0&&(i=t.right),h<0&&d<0){if(e.auto)return u(t,n({},e,{mode:r.bottom,auto:!1}));i=h>d?h:t.right}if(e.centering)o=function(t,e,i){var n=(e-(t.bottom-t.top))/2,o=t.top-n,r=t.bottom+n;return o>=0&&r<=i?o:o<0?0:i-e}(t,e.height,a);else{var p=t.bottom-e.height,f=c-t.top-e.height;o=f>=0?t.top:p>0?p:p>f?p:t.top}return{left:i,top:o}}e.getScrollbarWidth=function(){if(s>-1)return s;var t=document.createElement("div");return document.body.appendChild(t),t.style.cssText="position: absolute;left: -99999px;overflow:scroll;width: 100px;height: 100px;",s=t.offsetWidth-t.clientWidth,document.body.removeChild(t),s},e.fitPosition=function(t,e){return c(a(t),e)},e.isIE=function(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1},e.getRealPosition=a,function(t){t.left="left",t.right="right",t.bottom="bottom",t.top="top"}(r=e.Position||(e.Position={})),e.calculatePosition=c},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),o=i(3),r=function(){function t(t,e){this._uid=n.uid(),this.config=e||{}}return t.prototype.mount=function(t,e){e&&(this._view=e),t&&this._view&&this._view.mount&&(this._container=o.toNode(t),this._container.tagName?this._view.mount(this._container):this._container.attach&&this._container.attach(this))},t.prototype.unmount=function(){var t=this.getRootView();t&&t.node&&(t.unmount(),this._view=null)},t.prototype.getRootView=function(){return this._view},t.prototype.getRootNode=function(){return this._view&&this._view.node&&this._view.node.el},t.prototype.paint=function(){this._view&&(this._view.node||this._container)&&(this._doNotRepaint=!1,this._view.redraw())},t}();e.View=r,e.toViewLike=function(t){return{getRootView:function(){return t},paint:function(){return t.node&&t.redraw()},mount:function(e){return t.mount(e)}}}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=48&&e.which<=57||e.which>=65&&e.which<=90?String.fromCharCode(e.which):e.key)&&i.toLowerCase()),o=t._keysStorage[n];if(o)for(var r=0;r=0;s--)i[o].splice(r[s],1)}},t.prototype.exist=function(t){var e=n(t);return!!this._keysStorage[e]},t}();e.keyManager=new o,e.addHotkeys=function(t,i){var n=new Date,o=function(t){return function(e){i&&!1===i()||t(e)}};for(var r in t)e.keyManager.addHotKey(r,o(t[r]),n);return function(){return e.keyManager.removeHotKey(void 0,n)}}},function(t,e,i){(function(e,i){!function(){var n=1,o={},r=!1;function s(t){e.setImmediate?i(t):e.importScripts?setTimeout(t):(o[++n]=t,e.postMessage(n,"*"))}function a(t){"use strict";if("function"!=typeof t&&void 0!=t)throw TypeError();if("object"!=typeof this||this&&this.then)throw TypeError();var e,i,n=this,o=0,r=0,c=[];n.promise=n,n.resolve=function(t){return e=n.fn,i=n.er,o||(r=t,o=1,s(d)),n},n.reject=function(t){return e=n.fn,i=n.er,o||(r=t,o=2,s(d)),n},n._d=1,n.then=function(t,e){if(1!=this._d)throw TypeError();var i=new a;return i.fn=t,i.er=e,3==o?i.resolve(r):4==o?i.reject(r):c.push(i),i},n.catch=function(t){return n.then(null,t)};var l=function(t){o=t||4,c.map(function(t){3==o&&t.resolve(r)||t.reject(r)})};try{"function"==typeof t&&t(n.resolve,n.reject)}catch(t){n.reject(t)}return n;function u(t,e,i,n){if(2==o)return n();if("object"!=typeof r&&"function"!=typeof r||"function"!=typeof t)n();else try{var s=0;t.call(r,function(t){s++||(r=t,e())},function(t){s++||(r=t,i())})}catch(t){r=t,i()}}function d(){var t;try{t=r&&r.then}catch(t){return r=t,o=2,d()}u(t,function(){o=1,d()},function(){o=2,d()},function(){try{1==o&&"function"==typeof e?r=e(r):2==o&&"function"==typeof i&&(r=i(r),o=1)}catch(t){return r=t,l()}r==n?(r=TypeError(),l()):u(t,function(){l(3)},l,function(){l(1==o&&3)})})}}(e=this).setImmediate||e.addEventListener("message",function(t){if(t.source==e)if(r)s(o[t.data]);else{r=!0;try{o[t.data]()}catch(t){}delete o[t.data],r=!1}}),a.resolve=function(t){if(1!=this._d)throw TypeError();return t instanceof a?t:new a(function(e){e(t)})},a.reject=function(t){if(1!=this._d)throw TypeError();return new a(function(e,i){i(t)})},a.all=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());var e=new a;return function i(n,o){return o?e.resolve(o):n?e.reject(n):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(e,n){e&&e.then&&e.then(function(e){return t[n]=e,i(),e},i)}))}(),e},a.race=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());if(0==t.length)return new a;var e=new a;return function i(n,o){return o?e.resolve(o):n?e.reject(n):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(t,e){t&&t.then&&t.then(function(t){i(null,t)},i)}))}(),e},a._d=1,t.exports=a}()}).call(this,i(32),i(85).setImmediate)},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(105)),n(i(106)),n(i(22))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i'),a=window.getComputedStyle(s),c={color:"rgb(0, 0, 0)"===a.color?o.color:n(a.color),background:"rgba(0, 0, 0, 0)"===a.backgroundColor?o.background:n(a.backgroundColor),fontSize:parseFloat(a.fontSize)};return r.removeChild(s),c.color===o.color&&c.background===o.background&&c.fontSize===o.fontSize?null:c},e.removeHTMLTags=function(t){return"string"!=typeof t&&"number"!=typeof t?"":(""+(void 0===t||null===t?"":t)).replace(/<[^>]*>/g,"").replace(/[\"]/g,""").trim()},e.isCssSupport=function(t,e){try{return CSS.supports(t,e)}catch(n){var i=document.createElement("div");return i.style[t]=e,i.style[t]===e}},e.isRowEmpty=function(t){if(t)return Object.keys(t).reduce(function(e,i){return"id"===i||"$"===i[0]?e:(!e||void 0===t[i]||""===t[i])&&e},!0)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeUnSelect="beforeunselect",t.afterUnSelect="afterunselect",t.beforeSelect="beforeselect",t.afterSelect="afterselect"}(e.SelectionEvents||(e.SelectionEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(7);e.DataEvents=n.DataEvents,function(t){t.button="button",t.imageButton="imageButton",t.selectButton="selectButton",t.customHTMLButton="customButton",t.input="input",t.separator="separator",t.title="title",t.spacer="spacer",t.menuItem="menuItem",t.block="block",t.navItem="navItem"}(e.ItemType||(e.ItemType={})),function(t){t.inputCreated="inputcreated",t.click="click",t.openMenu="openmenu",t.inputFocus="inputfocus",t.inputBlur="inputblur"}(e.NavigationBarEvents||(e.NavigationBarEvents={})),function(t){t.pointer="pointer",t.click="click"}(e.NavigationType||(e.NavigationType={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(22);e.getCount=function(t,e,i){var o={danger:" dhx_navbar-count--color_danger",secondary:" dhx_navbar-count--color_secondary",primary:" dhx_navbar-count--color_primary",success:" dhx_navbar-count--color_success"}[t.countColor]||" dhx_navbar-count--color_danger";return n.el(".dhx_navbar-count",{class:e+o+(!i&&parseInt(t.count,10)>99?" dhx_navbar-count--overlimit":"")},i&&parseInt(t.count,10)>99?"99+":t.count)},e.getIcon=function(t,e){return void 0===t&&(t=""),"dxi"===t.slice(0,3)&&(t="dxi "+t),n.el("span",{class:"dhx_"+e+"__icon "+t})},e.navbarComponentMixin=function(t,e,i,s){var a=r(t,e,i),c="ribbon"===t&&(e.type===o.ItemType.navItem||e.type===o.ItemType.imageButton);return n.el("li",{_key:e.id,class:a+(e.icon&&!e.value&&c?" dhx_ribbon__item--icon":"")+(e.src&&!e.value&&c?" dhx_ribbon__item--icon":"")+(e.size&&c?" dhx_ribbon__item--"+e.size:"")},[s])},e.getNavbarButtonCSS=function(t,e){var i=t.color,n=t.size,o=t.view,r=t.full,s=t.icon,a=t.circle,c=t.loading,l=t.value,u=t.active;return({danger:" dhx_button--color_danger",secondary:" dhx_button--color_secondary",primary:" dhx_button--color_primary",success:" dhx_button--color_success"}[i]||" dhx_button--color_primary")+({small:" dhx_button--size_small",medium:" dhx_button--size_medium"}[n]||" dhx_button--size_medium")+({flat:" dhx_button--view_flat",link:" dhx_button--view_link"}[o]||" dhx_button--view_flat")+(r?" dhx_button--width_full":"")+(a?" dhx_button--circle":"")+(c?" dhx_button--loading":"")+(u?" dhx_button--active":"")+(s&&!l?" dhx_button--icon":"")};var r=function(t,e,i){var n="",r="";return r=(n=i?"dhx_menu-item":"dhx_"+t+"__item")+(e.css?" "+e.css:""),e.type!==o.ItemType.spacer&&e.type!==o.ItemType.separator||(r+=" "+n+"--"+e.type),"button"!==e.type||"sidebar"!==t||e.icon||(r+=" dhx_navbar-item--colapse_hidden"),r}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(5);function r(t,e,i){return[Math.cos(2*Math.PI*t)*e,Math.sin(2*Math.PI*t)*i]}function s(t,e){return t-1e-6e}function a(t,e){return"M"+-t+",0A"+t+","+t+" 0 "+(e?0:1)+" 1 "+t+",0A"+t+","+t+" 0 "+(e?0:1)+" 1 "+-t+",0"}e.getCoordinates=r,e.shiftCoordinates=function(t,e,i){return[t[0]+e,t[1]+i]},e.pieLikeHandlers={onmouseover:function(t,e,i,n){n.el.setAttribute("transform","translate("+t+", "+e+") scale(1.05)")},onmouseout:function(t,e){e.el.setAttribute("transform","translate(0, 0)")}},e.radarScale=function(t,e,i){var c=i/2,l=1/t.scales.length,u=l>.5?1:0,d=[],h=function(t,e){return n.sv("circle",{cx:0,cy:0,r:t,fill:e,stroke:"none",class:"background-circle"})}(c,"#FAFBFD");d.push(h);for(var p=-.25,f=[],_=t.axis,v="radar-grid "+(t.zebra?"zebra":""),g=1;g<_.length;g+=2){var m=c*_[g-1],y=c*_[g],x=a(m,!0)+" "+a(y,!1),b=n.sv("path",{d:x,fill:"none",stroke:"black",class:v});f.push(b)}if(d.push(f),t.scales.forEach(function(t){var e=r(p,c,c),i=e[0],a=e[1],h=p+l,f=r(h,c,c),_=f[0],v=f[1],g="M "+i+" "+a+" A "+c+" "+c+" 0 "+u+" 1 "+_+" "+v+" L 0 0",m=n.sv("path",{d:g,stroke:"black",fill:"none",class:"radar-scale"});d.push(m);var y=[8,8],x=y[0],b=y[1],w=s(p,0)||s(p,.5)?0:p<0||p>.5?-x:x,k=s(p,-.25)||s(p,.25)?0:p<-.25||p>.25?-b:b;if(s(p,-.25)||s(p,.25)){var C=s(p,-.25)?o.verticalTopText:o.verticalBottomText,E=n.sv("text",{x:i+k,y:a+w,class:"scale-text"},[C(t)]);d.push(E)}else{var O=p>=-.25&&p<=.25?"start-text scale-text":"end-text scale-text";E=n.sv("text",{x:i+k,y:a+w,class:O},[o.verticalCenteredText(t)]),d.push(E)}p=h}),p=-.25,t.realAxis){var w=t.realAxis.map(function(t,e){var i=r(-.25,c*_[e],c*_[e]),s=i[0],a=i[1];return n.sv("text",{x:s,y:a,dx:-10,class:"radar-axis-text"},[o.verticalCenteredText(t.toString())])});d.push(w)}return n.sv("g",{transform:"translate("+e/2+", "+i/2+")"},d)}},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function e(t){this.url=t}return e.prototype.load=function(){return this._ajax(this.url)},e.prototype.save=function(t,e){return this._ajax(this.url,t,{insert:"POST",delete:"DELETE",update:"POST"}[e]||"POST")},e.prototype._ajax=function(e,i,n){return void 0===n&&(n="GET"),new t(function(t,o){var r=new XMLHttpRequest;switch(r.onload=function(){r.status>=200&&r.status<300?t(r.response||r.responseText):o({status:r.status,statusText:r.statusText})},r.onerror=function(){o({status:r.status,statusText:r.statusText})},r.open(n,e),r.setRequestHeader("Content-Type","application/json"),n){case"POST":case"DELETE":case"PUT":r.send(JSON.stringify(i));break;case"GET":default:r.send()}})},e}();e.DataProxy=i}).call(this,i(14))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});i(7);!function(t){t.queue="queue",t.uploaded="uploaded",t.failed="failed",t.inprogress="inprogress"}(e.FileStatus||(e.FileStatus={})),function(t){t.uploadBegin="uploadbegin",t.beforeUploadFile="beforeuploadfile",t.uploadFile="uploadfile",t.uploadFail="uploadfail",t.uploadComplete="uploadcomplete",t.uploadProgress="uploadprogress"}(e.UploaderEvents||(e.UploaderEvents={})),function(t){t.cancel="cancel"}(e.ProgressBarEvents||(e.ProgressBarEvents={})),function(t){t.grid="grid",t.list="list"}(e.VaultMode||(e.VaultMode={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}(i(104));var n=i(15);e.ItemType=n.ItemType,e.NavigationBarEvents=n.NavigationBarEvents},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(123)),n(i(66)),n(i(38))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(124)),n(i(65))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(125)),n(i(63))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(130)),n(i(67)),n(i(40));var o=i(41);e.locale=o.default},function(t,e){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.left="left",t.right="right",t.top="top",t.bottom="bottom",t.center="center"}(e.RealPosition||(e.RealPosition={})),function(t){t.right="right",t.bottom="bottom",t.center="center"}(e.Position||(e.Position={})),function(t){t.topLeft="top-left",t.topRight="top-right",t.bottomLeft="bottom-left",t.bottomRight="bottom-right"}(e.MessageContainerPosition||(e.MessageContainerPosition={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={apply:"apply",reject:"reject"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={dragAndDrop:"Drag & drop",or:"or",browse:"Browse files",filesOrFoldersHere:"files or folders here",cancel:"Cancel",clearAll:"Clear all",clear:"Clear",add:"Add",upload:"Upload",download:"Download",error:"error",byte:"B",kilobyte:"KB",megabyte:"MB",gigabyte:"GB"}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(120)),n(i(61)),n(i(37))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.click="click",t.doubleClick="doubleclick",t.contextmenu="contextmenu",t.focusChange="focuschange",t.beforeEditStart="beforeEditStart",t.afterEditStart="afterEditStart",t.beforeEditEnd="beforeEditEnd",t.afterEditEnd="afterEditEnd"}(e.ListEvents||(e.ListEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,o=i(39),r=i(1),s={"%d":function(t){var e=t.getDate();return e<10?"0"+e:e},"%j":function(t){return t.getDate()},"%l":function(t){return o.default.days[t.getDay()]},"%D":function(t){return o.default.daysShort[t.getDay()]},"%m":function(t){var e=t.getMonth()+1;return e<10?"0"+e:e},"%n":function(t){return t.getMonth()+1},"%M":function(t){return o.default.monthsShort[t.getMonth()]},"%F":function(t){return o.default.months[t.getMonth()]},"%y":function(t){return t.getFullYear().toString().slice(2)},"%Y":function(t){return t.getFullYear()},"%h":function(t){var e=t.getHours()%12;return e<10?"0"+e:e},"%g":function(t){return t.getHours()%12},"%H":function(t){var e=t.getHours();return e<10?"0"+e:e},"%G":function(t){return t.getHours()},"%i":function(t){var e=t.getMinutes();return e<10?"0"+e:e},"%s":function(t){var e=t.getSeconds();return e<10?"0"+e:e},"%a":function(t){return t.getHours()>12?"pm":"am"},"%A":function(t){return t.getHours()>12?"PM":"AM"},"%u":function(t){return t.getMilliseconds()}},a={"%d":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setDate(Number(e)):t.setDate(Number(1))},"%j":function(t,e){/(^([0-9]?[0-9])$)/i.test(e)?t.setDate(Number(e)):t.setDate(Number(1))},"%m":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setMonth(Number(e)-1):t.setMonth(Number(0))},"%n":function(t,e){/(^([0-9]?[0-9])$)/i.test(e)?t.setMonth(Number(e)-1):t.setMonth(Number(0))},"%M":function(t,e){var i=r.findIndex(o.default.monthsShort,function(t){return t===e});-1===i?t.setMonth(0):t.setMonth(i)},"%F":function(t,e){var i=r.findIndex(o.default.months,function(t){return t===e});-1===i?t.setMonth(0):t.setMonth(i)},"%y":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setFullYear(Number("20"+e)):t.setFullYear(Number("2000"))},"%Y":function(t,e){/(^([0-9][0-9][0-9][0-9])$)/i.test(e)?t.setFullYear(Number(e)):t.setFullYear(Number("2000"))},"%h":function(t,e){/(^0[1-9]|1[0-2]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%g":function(t,e){/(^[1-9]$)|(^0[1-9]|1[0-2]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%H":function(t,e){/(^[0-9][0-3]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%G":function(t,e){/(^([0-9]$)|[0-9][0-3]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%i":function(t,e){/(^([0-5][0-9])$)/i.test(e)?t.setMinutes(Number(e)):t.setMinutes(Number(0))},"%s":function(t,e){/(^([0-5][0-9])$)/i.test(e)?t.setSeconds(Number(e)):t.setSeconds(Number(0))},"%a":function(t,e){"pm"===e&&t.setHours(t.getHours()+12)},"%A":function(t,e){"PM"===e&&t.setHours(t.getHours()+12)}};function c(t){for(var e=[],i="",o=0;o0&&(e.push({type:n.separator,value:i}),i=""),e.push({type:n.datePart,value:t[o]+t[o+1]}),o++):i+=t[o];return i.length>0&&e.push({type:n.separator,value:i}),e}e.getFormatedDate=function(t,e){return c(t).reduce(function(t,i){return i.type===n.separator?t+i.value:s[i.value]?t+s[i.value](e):t},"")},function(t){t[t.separator=0]="separator",t[t.datePart=1]="datePart"}(n||(n={})),e.stringToDate=function(t,e,i){for(var o=[],r=0,s=null,l=0,u=c(e);l1&&(e-=1)}return{h:Math.floor(360*e),s:i,v:s}}Object.defineProperty(e,"__esModule",{value:!0}),e.HSVtoRGB=function(t){var e={r:0,g:0,b:0},i=t.h/60,n=t.s,o=t.v,r=Math.floor(i)%6,s=i-Math.floor(i),a=255*o*(1-n),c=255*o*(1-n*s),l=255*o*(1-n*(1-s));switch(o*=255,r){case 0:e.r=o,e.g=l,e.b=a;break;case 1:e.r=c,e.g=o,e.b=a;break;case 2:e.r=a,e.g=o,e.b=l;break;case 3:e.r=a,e.g=c,e.b=o;break;case 4:e.r=l,e.g=a,e.b=o;break;case 5:e.r=o,e.g=a,e.b=c}for(var u in e)e[u]=Math.round(e[u]);return e},e.RGBToHex=function(t){return Object.keys(t).reduce(function(e,i){var n=t[i].toString(16).toUpperCase();return e+(n=1===n.length?"0"+n:n)},"#")},e.HexToRGB=n,e.RGBToHSV=o,e.HexToHSV=function(t){return o(n(t))},e.isHex=function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={cancel:"Cancel",select:"Select",rightClickToDelete:"Right click to delete",customColors:"Custom colors",addNewColor:"Add new color"}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;is&&(i[0]=s,i[1]=r[0],i[2]=r[1],i[3]=r[2])}return i},t.prototype.getTooltipType=function(t){return o.TooltipType.top},t.prototype.getTooltipText=function(t){if(this.config.tooltip){var e=this._defaultLocator(this._data.getItem(t));return this.config.tooltipTemplate?this.config.tooltipTemplate(e):e[0]}},t.prototype.dataReady=function(t){return this._points=[]},t.prototype.paint=function(t,e){return this._calckFinalPoints(t,e)},t.prototype.getPoints=function(){return this._points},t.prototype.addScale=function(t,e){},t.prototype._getClosestDist=function(t,e,i,n){return r.euclideanDistance(t,e,i,n)},t.prototype._calckFinalPoints=function(t,e){},t.prototype._setDefaults=function(t){this.config=t},t.prototype._defaultLocator=function(t){return[null,null]},t.prototype._getPointType=function(t,e,i){return i?s.getShadeHelper(t,e,s.hoverMode):s.getShadeHelper(t,e,s.standarMode)},t}();e.default=a},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=i)return[0,this._tooltipData[o][0],this._tooltipData[o][1],n[o][2]];i-=n[o][0]}return[1/0,null,null,null]},e.prototype.getTooltipText=function(t){if(this.config.tooltip){var e=this._defaultLocator(this._data.getItem(t));return this.config.tooltipTemplate?this.config.tooltipTemplate(e):e[0]}},e.prototype.getTooltipType=function(t){return s.TooltipType.simple},e.prototype._setDefaults=function(t){var e=this,i={subType:s.NoScaleSubType.basic,paddings:20};this.config=o({},i,t),this._drawPointType=this._getPointType(s.PointType.empty,"none",this.config.tooltip),this._valueLocator=r.locator(t.value),this._textLocator=r.locator(t.text),t.color?this._colorLocator=r.locator(t.color):t.monochrome&&(this._colorLocator=function(i){return r.getColorShade(t.monochrome,2*e._getPercent(i))})},e.prototype._defaultLocator=function(t){return[this._valueLocator(t),this._textLocator(t)]},e.prototype._getPercent=function(t){return parseFloat(this._valueLocator(t))/this._sum},e}(i(44).default);e.default=a},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0?a-1:0,l=a+s+1,u=0,d=i.left,h=0;h0;h++)u++;return{xStart:u-1>=0?u-1:0,xEnd:u+r+1,yStart:c,yEnd:l}},e.getUnique=function(t,e){return t.map(function(t){return t[e]}).filter(function(t,e,i){return i.indexOf(t)===e}).sort()}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getWidth=function(t,e,i){return e?t.reduce(function(t,n,o){return t+=o>=i&&o1?"[]":"",a=0,c=t;a=0?e:-1},t.prototype.getId=function(t){if(this._order[t])return this._order[t].id},t.prototype.getLength=function(){return this._order.length},t.prototype.filter=function(t,e){if((e=u.extend({add:!1,multiple:!0},e)).add||(this._order=this._initOrder||this._order,this._initOrder=null),this._filters=this._filters||{},e.multiple&&t||(this._filters={}),t){if("function"==typeof t){this._filters._={match:"_",compare:t}}else t.match?(t.compare=t.compare||function(t,e){return t===e},this._filters[t.by]=t):delete this._filters[t.by];this._applyFilters()}this.events.fire(l.DataEvents.change)},t.prototype.find=function(t){for(var e in this._pull){var i=c.findByConf(this._pull[e],t);if(i)return i}return null},t.prototype.findAll=function(t){var e=[];for(var i in this._pull){var n=c.findByConf(this._pull[i],t);n&&e.push(n)}return e},t.prototype.sort=function(t){if(t)this._sort.sort(this._order,t),this._initOrder&&this._initOrder.length&&this._sort.sort(this._initOrder,t);else{for(var e in this._order=[],this._pull)this._order.push(this._pull[e]);this._applyFilters()}this.events.fire(l.DataEvents.change)},t.prototype.copy=function(e,i,o,r){if(!this.exists(e))return null;var s=u.uid();return o?o instanceof t||!r?o.exists(e)?(o.add(n({},c.copyWithoutInner(this.getItem(e)),{id:s}),i),s):(o.add(c.copyWithoutInner(this.getItem(e)),i),e):void o.add(c.copyWithoutInner(this.getItem(e)),i):(this.add(n({},c.copyWithoutInner(this.getItem(e)),{id:s}),i),s)},t.prototype.move=function(t,e,i,n){if(i&&i!==this&&this.exists(t)){var o=u.copy(this.getItem(t),!0);return i.exists(t)&&(o.id=u.uid()),n&&(o.parent=n),i.add(o,e),this.remove(t),o.id}if(this.getIndex(t)===e)return null;var r=this._order.splice(this.getIndex(t),1)[0];return-1===e&&(e=this._order.length),this._order.splice(e,0,r),this.events.fire(l.DataEvents.change),t},t.prototype.load=function(t,e){return"string"==typeof t&&(t=new a.DataProxy(t)),this._loader.load(t,e)},t.prototype.parse=function(t,e){return this._removeAll(),this._loader.parse(t,e)},t.prototype.$parse=function(t){var e=this.config.approximate;e&&(t=this._approximate(t,e.value,e.maxNum)),this._parse_data(t),this.events.fire(l.DataEvents.change,["load"]),this.events.fire(l.DataEvents.load)},t.prototype.save=function(t){this._loader.save(t)},t.prototype.isSaved=function(){return!this._changes.order.length},t.prototype.map=function(t){for(var e=[],i=0;ithis._order.length-1&&(e=this._order.length-1);for(var n=[],o=t;o<=e;o++)n.push(i.call(this,this._order[o],o));return n},t.prototype.reduce=function(t,e){for(var i=0;i=0&&(this._order=this._order.filter(function(e){return e.id!==t}),delete this._pull[t]),this._initOrder&&this._initOrder.length&&(this._initOrder=this._initOrder.filter(function(e){return e.id!==t}))},t.prototype._parse_data=function(t){var e=this._order.length;this.config.prep&&(t=this.config.prep(t));for(var i=0,n=t;i=0&&t[i]?(this._pull[e.id]=e,t.splice(i,0,e)):(this._pull[e.id]=e,t.push(e))},t.prototype._applyFilters=function(){var t=this;if(this._filters&&Object.keys(this._filters).length){var e=this._order.filter(function(e){return Object.keys(t._filters).every(function(i){return e[i]?t._filters[i].compare(e[i],t._filters[i].match,e):t._filters[i].compare(e)})});this._initOrder||(this._initOrder=this._order),this._order=e}},t}();e.DataCollection=d},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;iwindow.innerWidth+window.pageXOffset&&(s=window.pageXOffset+t.left-i,o=r.RealPosition.left),{left:s,top:a=window.pageYOffset+t.top+(t.height-n)/2,pos:o};case r.Position.bottom:default:return(s=window.pageXOffset+t.left+(t.width-i)/2)+i>window.innerWidth+window.pageXOffset?s=window.innerWidth+window.pageXOffset-i:s<0&&(s=0),o=r.RealPosition.bottom,(a=window.pageYOffset+t.bottom)+n+8>window.innerHeight+window.pageYOffset&&(a=window.pageYOffset+t.top-n,o=r.RealPosition.top),{left:s,top:a,pos:o}}}e.findPosition=c;var l=document.createElement("div"),u=document.createElement("span");u.className="dhx_tooltip__text",l.appendChild(u),l.style.position="absolute";var d,h=null,p=!1,f=null,_=null;function v(t,e,i,n,o){void 0===o&&(o=!1);var s=t.getBoundingClientRect();u.textContent=e,document.body.appendChild(l),l.className="dhx_tooltip"+(o?" dhx_tooltip--forced":"");var a=l.getBoundingClientRect(),d=c(s,i,a.width,a.height),h=d.left,f=d.top,_=d.pos;switch(_){case r.RealPosition.bottom:case r.RealPosition.top:case r.RealPosition.left:case r.RealPosition.right:case r.RealPosition.center:l.style.left=h+"px",l.style.top=f+"px"}l.className+=" dhx_tooltip--"+_+" "+(n||""),p=!0,o||setTimeout(function(){l.className+=" dhx_tooltip--animate"})}function g(t,e,i){var n=i.force,o=i.showDelay,c=i.hideDelay,u=i.position,g=i.css;n||(_=setTimeout(function(){v(t,e,u||r.Position.bottom,g)},o||s));var m=function(){p&&function(t){h&&(f=setTimeout(function(){document.body.removeChild(l),p=!1,f=null},t||a))}(c),clearTimeout(_),t.removeEventListener("mouseleave",m),t.removeEventListener("blur",m),document.removeEventListener("mousedown",m),h=null,d=null};n&&v(t,e,u,g,n),t.addEventListener("mouseleave",m),t.addEventListener("blur",m),document.addEventListener("mousedown",m),d=m}function m(t,e){var i=o.toNode(e.node);i!==h&&(d&&(d(),d=null),h=i,f?(clearTimeout(f),f=null,g(i,t,n({},e,{force:!0}))):g(i,t,e))}function y(t){var e=o.locateNode(t,"dhx_tooltip_text");e&&m(e.getAttribute("dhx_tooltip_text"),{position:e.getAttribute("dhx_tooltip_position")||r.Position.bottom,node:e})}e.tooltip=m,e.enableTooltip=function(){document.addEventListener("mousemove",y)},e.disableTooltip=function(){document.removeEventListener("mousemove",y)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(21),o=i(7),r=function(){function t(t,e){var i=this;this.config=t,this.events=e.events,this._data=e,this._selected=[],this._lastShiftSelectedIndexes=[],this._data.events.on(o.DataEvents.removeAll,function(){i._selected=[]}),this._data.events.on(o.DataEvents.afterRemove,function(t){if(i._selected=i._selected.filter(function(e){return e!==t.id}),!i.config.multiselection||0===i.getId().length){var e=i._data.getId(i._lastSelectedIndex);if(e)i.add(e);else{var n=i._data.getId(i._data.getLength()-1);n&&i.add(n)}}})}return t.prototype.getId=function(){return this.config.multiselection?this._selected:this._selected[0]},t.prototype.getItem=function(){var t=this;if(this._selected.length){var e=this._selected.map(function(e){return t._data.getItem(e)});return this.config.multiselection?e:e[0]}return null},t.prototype.contains=function(t){return t?this._selected.indexOf(t)>-1:this._selected.length>0},t.prototype.remove=function(t){var e=this;if(t)return!t&&!this._selected.length||(t?this._unselectItem(t):(this._selected.forEach(function(t){return e._unselectItem(t)}),!0));this._data.map(function(t){t.$selected=!1,e._selected=[]})},t.prototype.add=function(t,e,i){var o=this;if(this.events.fire(n.SelectionEvents.beforeSelect))return t?void(this.config.multiselection?this._addMulti(t,e,i):this._addSingle(t,e)):(this._selected=[],void this._data.map(function(t){t.$selected=!0,o._selected.push(t.id)}))},t.prototype._addMulti=function(t,e,i){var o=this,r=this._data.getIndex(t);"click"===this.config.multiselectionMode&&(i?(this._addWithShift(r),this.events.fire(n.SelectionEvents.afterSelect,[t])):(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[])),"ctrlClick"===this.config.multiselectionMode&&(i||e||(this._data.map(function(t){t.$selected=!1,o._selected=[]}),this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]),i&&(this._addWithShift(r),this.events.fire(n.SelectionEvents.afterSelect,[t])),e&&(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]))},t.prototype._addWithShift=function(t){var e=this;t>=this._lastSelectedIndex&&(this._data.map(function(t,i){-1!==e._lastShiftSelectedIndexes.indexOf(i)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(i)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==i&&t!==e._lastSelectedIndex}))}),this._data.map(function(i,n){n>=e._lastSelectedIndex&&n<=t&&(i.$selected=!0,-1===e._selected.indexOf(i.id)&&e._selected.push(i.id),n!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(n)&&e._lastShiftSelectedIndexes.push(n))})),t<=this._lastSelectedIndex&&(this._data.map(function(t,i){-1!==e._lastShiftSelectedIndexes.indexOf(i)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(i)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==i&&t!==e._lastSelectedIndex}))}),this._data.map(function(i,n){n<=e._lastSelectedIndex&&n>=t&&(i.$selected=!0,-1===e._selected.indexOf(i.id)&&e._selected.push(i.id),n!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(n)&&e._lastShiftSelectedIndexes.push(n))}))},t.prototype._addSingle=function(t,e){this.remove(),this.config&&"click"===this.config.multiselectionMode?this._selectItem(t):e&&this._selectItem(t)},t.prototype._isSelected=function(t){return-1!==this._selected.indexOf(t)},t.prototype._selectItem=function(t){this._selected.push(t),this._data.update(t,{$selected:!0}),this._lastSelectedIndex=this._data.getIndex(t),this.events.fire(n.SelectionEvents.afterSelect,[t])},t.prototype._unselectItem=function(t){return!!this.events.fire(n.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=this._selected.filter(function(e){return e!==t}),this.events.fire(n.SelectionEvents.afterUnSelect,[t]),!0)},t}();e.Selection=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeHide="beforehide",t.beforeShow="beforeshow",t.afterHide="afterhide",t.afterShow="aftershow",t.click="click"}(e.PopupEvents||(e.PopupEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.vertical="vertical",t.horizontal="horizontal"}(e.Direction||(e.Direction={})),function(t){t.change="change",t.mousedown="mousedown",t.mouseup="mouseup"}(e.SliderEvents||(e.SliderEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={hours:"Hours",minutes:"Minutes",save:"save"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.save="save",t.close="close"}(e.TimepickerEvents||(e.TimepickerEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.days="calendar",t.years="year",t.months="month",t.timepicker="timepicker"}(e.ViewMode||(e.ViewMode={})),function(t){t.change="change",t.beforeChange="beforechange",t.dateHover="dateHover"}(e.CalendarEvents||(e.CalendarEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.colorChange="colorChange",t.selectClick="selectClick",t.cancelClick="cancelClick",t.viewChange="viewChange"}(e.ColorpickerEvents||(e.ColorpickerEvents={})),function(t){t.palette="palette",t.picker="picker"}(e.ViewsTypes||(e.ViewsTypes={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),o=i(0),r=i(5),s=function(t){return t.toString()};e.bottom=function(t,e,i,a){var c=e.title,l=e.textPadding,u=e.scalePadding,d=e.textTemplate,h=e.showText,p=d||s,f=[],_=0;h&&(_=l,f=t.map(function(t){return 0!==t[0]?o.sv("text",{class:"scale-text top-text",x:t[0],y:a+l},[r.verticalCenteredText(p(t[1]))]):o.sv("text",{class:"scale-text start-text top-text",x:t[0],y:a+l},[r.verticalCenteredText(p(t[1]))])}));var v=n.uid(),g=null,m=o.sv("path",{class:"main-scale",d:"M0 "+a+" H"+(i-.5),id:v});return c&&(g=o.sv("text",{dx:i/2,dy:u+_},[o.sv("textPath",{href:"#"+v,class:"scale-title"},c)])),o.sv("g",[m,g].concat(f))},e.bottomGrid=function(t,e,i,n){for(var r=n.dashed,s=n.grid,a=n.targetLine,c=n.targetValue,l=t.length,u=[],d="grid-line "+(r?"dash-line":""),h=0;h=0;_--){var v=n[_];f+=_===h.length-1?"M"+v[0]+" "+v[1]+" ":"L"+v[0]+" "+v[1]+" "}f+=h.map(function(t,e){return e?"L "+t[0]+" "+t[1]:"V "+t[1]}).join(" ")+"Z"}else f+=h.map(function(t,i){return i?"L"+t[0]+" "+t[1]:"M0 "+e+" L0 "+t[1]+" L"+t[0]+" "+t[1]}).join(" ")+"L"+t+" "+p[1]+" V "+e;if(d){var g=h.length-1,m=h.map(function(t,e){return(e?"L":"M")+(t[0]+function(t){return t===g?-.5:t?0:.5}(e))+" "+t[1]}).join(" "),y=r.sv("path",{d:m,"stroke-width":d,stroke:u,fill:"none",class:o});i.push(y)}var x=r.sv("path",{id:"seria"+a,d:f,class:o,fill:c,"fill-opacity":l,stroke:"none"});return i.push(x),i},e.prototype._setDefaults=function(t){var e={alpha:.3,strokeWidth:2,fill:t.color||"#5E83BA",color:"#5E83BA",active:!0,tooltip:!0,pointType:a.PointType.empty};this.config=o({},e,t);var i=this.config.tooltip,n=this.config.pointType,r=this.config.pointColor||this.config.color;n&&(this._drawPointType=this._getPointType(n,r,i))},e}(i(43).default);e.default=c},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i16}(t,e)?s.sv("text",r._text(t,f(e)),[a.verticalCenteredText(r._getText(t))]):null});h.push.apply(h,v)}return h},e.prototype._getText=function(t){return t[3].toString()},e.prototype._setDefaults=function(t){var e={barWidth:30,alpha:1,active:!0,tooltip:!0,pointType:c.PointType.empty};this.config=o({},e,t);var i=this.config.tooltip,n=this.config.pointType,s=this.config.pointColor||this.config.color;if(n&&(this.config.pointType=n,this._drawPointType=this._getPointType(n,s,i)),this.config.gradient){var l="gradient"+r.uid(),u=this.config.gradient(this.config.fill);this._gradient=function(){return a.linearGradient(u,l)},this.config.fill="url(#"+l+")"}},e}(i(43).default);e.default=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){var i,n=t.length;if(n<3)i=t;else{var o=t[0],r=t[0],s=t[1],a=t[2];i=[t[0].slice(0,2)];for(var c=1;c4?"C"+u[0]+" "+u[1]+"\n\t\t\t\t"+u[2]+" "+u[3]+"\n\t\t\t\t"+u[4]+" "+u[5]:"S"+u[0]+" "+u[1]+"\n\t\t\t\t"+u[2]+" "+u[3]:(e?"L":"M")+u[d-2]+" "+u[d-1]}return l}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.open="open",t.close="close"}(e.ComboboxEvents||(e.ComboboxEvents={})),function(t){t[t.default=0]="default",t[t.error=1]="error",t[t.success=2]="success"}(e.ComboState||(e.ComboState={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={simpleVaultText:"Drag & drop files or folders here or",simpleVaultLabel:"browse files"}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0;k--)w+=i[k].width;var C=g.header[0].text?"dhx_span-cell":"dhx_span-cell dhx_span-cell--title";f&&(C+=" "+f),0===v&&(C+=" dhx_span-first-row"),0===_&&(C+=" dhx_span-first-col");var E=_===i.length-1,O=_+p===i.length;(E||O)&&(C+=" dhx_span-last-col"),C+=p?" dhx_span-string-cell":" dhx_span-"+(g.type||"string")+"-cell";var I=p>1?s.getWidth(t.columns,p,_):g.width;e.push(r.el("div",{class:C,style:{width:I,height:(h||1)*c,top:b,left:w,lineHeight:t.rowHeight+"px"},title:a.removeHTMLTags(x)},[y]))},u=0;u=i.length-1?"dhx_last-column-cell":"",f=a;n.rowspan&&(f=f*n.rowspan-1);var _=n.rowspan&&n.text&&t.headerSort&&"footer"!==e.name,v="dxi dxi-sort-variant dhx_grid-sort-icon";t.sortBy&&""+d.id===t.sortBy&&!n.content&&(v+=" dhx_grid-sort-icon--"+(t.sortDir||"asc"));var g=h+" "+p+" "+(n.rowspan?"dhx_span-cell__rowspan":"");return _&&(g+=" dhx_grid-header-cell dhx_grid-header-cell--sortable"),n.content||(g+=" dhx_grid-header-cell--"+("number"===d.type?"align_right":"align_left")+" "),n.colspan||n.rowspan?o.el(".dhx_span-cell",{style:{width:r.getWidth(t.columns,n.colspan,u),height:f,left:c-d.width,top:a*l,lineHeight:f+"px"},class:g.trim(),title:s.removeHTMLTags(n.text),dhx_id:d.id},[o.el("div",{".innerHTML":n.text}),_&&o.el("div",{class:v},n.text)]):null}).filter(function(t){return t}))})}e.getRows=d,e.getSpans=h,e.getFixedRows=function(t,e){var i,r=d(t,e),s=h(t,e),a=null;"footer"!==e.name||e.sticky||(a=t.splitAt>=0&&d(n({},t,{currentColumns:t.columns.slice(0,t.splitAt),$positions:n({},t.$positions,{xStart:0,xEnd:t.splitAt})}),e));var c,l=((i={position:"sticky"})[e.position]=0,i);return e.sticky||(l.left=-t.scroll.left,c=-t.scroll.left,l.position="relative"),o.el(".dhx_"+e.name+"-wrapper",{class:e.sticky?"":"dhx_compatible-"+e.name,style:n({},l,{left:e.sticky?c:0,height:t[e.name+"Height"],width:e.sticky?t.$totalWidth:e.wrapper.width-2})},[o.el(".dhx_grid-"+e.name,{style:{height:t[e.name+"Height"],left:c,paddingLeft:e.shifts.x,width:t.$totalWidth}},[o.el(".dhx_"+e.name+"-rows",r.slice()),o.el(".dhx_"+e.name+"-spans",{style:{marginLeft:-e.shifts.x}},s),a&&o.el(".dhx_"+e.name+"-fixed-cols",{style:{position:"absolute",top:0,left:t.scroll.left+"px",height:"100%"}},a)]),o.el("div",{style:{width:t.$totalWidth}})])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,o=i(0),r=i(11);function s(t,e,i,o,s){var a=function(){o.value[e]=s.target.value,t.fire(r.GridEvents.headerInput,[s.target.value,e,i])};"selectFilter"!==i?(n&&clearTimeout(n),n=setTimeout(a,250)):a()}function a(t,e,i,n){var o=t.id,r=n?n(o,e.data):e.data.reduce(function(t,e){return void 0===e[o]||""===e[o]||isNaN(e[o])||t.push(parseFloat(e[o])),t},[]),s=r;return"tree"===e.type&&(s=e.data.reduce(function(t,i){if(0===i.$level)if(void 0===i[o]||""===i[o]||isNaN(i[o])){var n=0;e.datacollection.eachChild(i.id,function(t){e.datacollection.haveItems(t.id)||(n+=parseFloat(t[o]))}),t.push(n)}else t.push(parseFloat(i[o])||0);return t},[])),i(r,s)}e.content={inputFilter:{toHtml:function(t,e){return o.el("label.dhx_grid-filter__label.dxi.dxi-magnify",[o.el("input",{type:"text",class:"dhx_input dhx_grid-filter",oninput:[s,e.events,t.id,"inputFilter",this],_key:t.id,value:this.value[t.id]||""})])},match:function(t,e){return new RegExp(""+e,"i").test(t)},value:{}},selectFilter:{toHtml:function(t,e){return o.el("label.dhx_grid-filter__label.dxi.dxi-menu-down",[o.el("select.dxi.dxi-menu-down",{type:"text",class:"dhx_input dhx_grid-filter dhx_grid-filter--select",onchange:[s,e.events,t.id,"selectFilter",this],_key:t.id,value:this.value[t.id]||""},[o.el("option",{value:""},"")].concat(t.$uniqueData.map(function(t){return t&&o.el("option",{value:t},t)})))])},match:function(t,e){return t===e},value:{}},sum:{calculate:function(t,e){return e.reduce(function(t,e){return t+(parseFloat(e)||0)},0).toFixed(3)},toHtml:function(t,e){return a(t,e,this.calculate)}},avg:{calculate:function(t,e){return(e.reduce(function(t,e){return t+e},0)/t.length).toFixed(3)},toHtml:function(t,e){return a(t,e,this.calculate)}},min:{calculate:function(t){return Math.min.apply(Math,t).toFixed(3)},toHtml:function(t,e){return a(t,e,this.calculate)}},max:{calculate:function(t){return Math.max.apply(Math,t).toFixed(3)},toHtml:function(t,e){return a(t,e,this.calculate)}},count:{calculate:function(t,e){return e.reduce(function(t,e){return t+e},0)},validate:function(t,e){return e.reduce(function(e,i){return void 0!==i[t]&&""!==i[t]&&(isNaN(i)?e.push(1):e.push(i)),e},[])},toHtml:function(t,e){return a(t,e,this.calculate,this.validate)}}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.toggle="toggle"}(e.SidebarEvents||(e.SidebarEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.top="top",t.bottom="bottom",t.left="left",t.right="right"}(e.RenderMode||(e.RenderMode={})),function(t){t.change="change",t.close="close"}(e.TabbarEvents||(e.TabbarEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,o,r=i(0),s=i(2),a=i(3),c=i(13);!function(t){t.editText="text",t.selectItem="select"}(n=e.EditorMode||(e.EditorMode={})),function(t){t.begin="begin",t.end="end"}(o=e.EditorEvents||(e.EditorEvents={}));var l=function(){function t(){var t=this;this.events=new s.EventSystem,this._documentClick=function(e){a.locate(e,"id")!=="input_"+t._item.id&&(t._removeClickListener(),t._finishEdit())},this._handlers={editText:function(e){t._currentValue=e.target.value},itemSelected:function(e){t._currentValue=e.target.value,t._finishEdit()}}}return t.prototype.edit=function(t,e){return this._active&&this._item!==e.item&&this._finishEdit(),this._active=!0,this.events.fire(o.begin,[t]),this._targetId=t,this.config=e,this._item=e.item,this._currentValue=this._item.value,this._initOuterClick(),this._addHotkeys(),this._draw()},t.prototype._draw=function(){var t=this;if(this.config.mode===n.selectItem){var e=this.config.options;return r.el("select",{id:"input_"+this._item.id,dhx_id:this._item.id,onchange:this._handlers.itemSelected},e.map(function(e){return r.el("option",{class:"editor-select",value:e,selected:t._currentValue===e,style:{border:"1px solid"}},e)}))}return r.el("input",{_hooks:{didInsert:function(t){t.el.focus()}},id:"input_"+this._item.id,class:"dhx_tree-input",oninput:this._handlers.editText,value:this._item.value,autofocus:!0})},t.prototype._addHotkeys=function(){var t=this;c.keyManager.addHotKey("escape",function(){t._finishEdit()},this),c.keyManager.addHotKey("enter",function(){t._finishEdit()},this)},t.prototype._removeHotkeys=function(){c.keyManager.removeHotKey(null,this)},t.prototype._finishEdit=function(){this.events.fire(o.end,[this._targetId,this._item.id,this._currentValue]),this._clear()},t.prototype._clear=function(){this._active=!1,this._removeClickListener(),this._removeHotkeys()},t.prototype._initOuterClick=function(){document.addEventListener("click",this._documentClick)},t.prototype._removeClickListener=function(){document.removeEventListener("click",this._documentClick)},t}();e.default=new l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t[t.unselected=0]="unselected",t[t.selected=1]="selected",t[t.indeterminate=2]="indeterminate"}(e.SelectStatus||(e.SelectStatus={})),function(t){t.file="file",t.folder="folder",t.openFolder="openFolder"}(e.ItemIcon||(e.ItemIcon={})),function(t){t.itemClick="itemclick",t.itemDblClick="itemdblclick",t.itemContextMenu="itemcontextmenu"}(e.TreeEvents||(e.TreeEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),i(82);var n=i(83);e.cssManager=n.cssManager;var o=i(2);e.EventSystem=o.EventSystem;var r=i(53);e.Uploader=r.Uploader;var s=i(12);e.Layout=s.Layout;var a=i(36);e.List=a.List;var c=i(28);e.Calendar=c.Calendar;var l=i(31);e.Colorpicker=l.Colorpicker;var u=i(134);e.Chart=u.Chart;var d=i(47);e.Combobox=d.Combobox;var h=i(7);e.DataCollection=h.DataCollection,e.TreeCollection=h.TreeCollection,e.DataProxy=h.DataProxy,e.dataDrivers=h.dataDrivers;var p=i(160);e.DataView=p.DataView;var f=i(164);e.Form=f.Form;var _=i(179);e.Grid=_.Grid;var v=i(19);e.message=v.message,e.alert=v.alert,e.confirm=v.confirm,e.enableTooltip=v.enableTooltip,e.disableTooltip=v.disableTooltip,e.tooltip=v.tooltip;var g=i(189);e.Menu=g.Menu,e.ContextMenu=g.ContextMenu;var m=i(10);e.Popup=m.Popup;var y=i(192);e.Ribbon=y.Ribbon;var x=i(194);e.Sidebar=x.Sidebar;var b=i(30);e.Slider=b.Slider;var w=i(196);e.Tabbar=w.Tabbar;var k=i(29);e.Timepicker=k.Timepicker;var C=i(27);e.Toolbar=C.Toolbar;var E=i(198);e.Tree=E.Tree;var O=i(201);e.Window=O.Window;var I=i(31),S=i(34),M=i(39),P=i(48),T=i(73),D=i(64),V=window;e.i18n=V.dhx&&V.dhx.i18n?V.dhx.i18:{},e.i18n.setLocale=function(t,i){var n=e.i18n[t];for(var o in i)n[o]=i[o]},e.i18n.colorpicker=e.i18n.colorpicker||I.locale,e.i18n.message=e.i18n.message||S.default,e.i18n.calendar=e.i18n.calendar||M.default,e.i18n.combobox=e.i18n.combobox||P.default,e.i18n.form=e.i18n.form||T.default,e.i18n.timepicker=e.i18n.timepicker||D.default},function(t,e,i){},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),o=function(){function t(){this._classes={};var t=document.createElement("style");t.id="dhx_generated_styles",this._styleCont=document.head.appendChild(t)}return t.prototype.update=function(){document.head.appendChild(this._styleCont),this._styleCont.innerHTML=this._generateCss()},t.prototype.remove=function(t){delete this._classes[t],this.update()},t.prototype.add=function(t,e,i){void 0===i&&(i=!1);var n=this._toCssString(t),o=this._findSameClassId(n);return o&&e&&e!==o?(this._classes[e]=this._classes[o],e):o||this._addNewClass(n,e,i)},t.prototype.get=function(t){if(this._classes[t]){for(var e={},i=0,n=this._classes[t].split(";");i=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},i(86),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,i(32))},function(t,e,i){(function(t,e){!function(t,i){"use strict";if(!t.setImmediate){var n,o=1,r={},s=!1,a=t.document,c=Object.getPrototypeOf&&Object.getPrototypeOf(t);c=c&&c.setTimeout?c:t,"[object process]"==={}.toString.call(t.process)?n=function(t){e.nextTick(function(){u(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,i=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=i,e}}()?function(){var e="setImmediate$"+Math.random()+"$",i=function(i){i.source===t&&"string"==typeof i.data&&0===i.data.indexOf(e)&&u(+i.data.slice(e.length))};t.addEventListener?t.addEventListener("message",i,!1):t.attachEvent("onmessage",i),n=function(i){t.postMessage(e+i,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){u(t.data)},n=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;n=function(e){var i=a.createElement("script");i.onreadystatechange=function(){u(e),i.onreadystatechange=null,t.removeChild(i),i=null},t.appendChild(i)}}():n=function(t){setTimeout(u,0,t)},c.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),i=0;i1)for(var i=1;i\n";for(var s in t)Array.isArray(t[s])?(i+=o(e+n)+"<"+s+">\n",i+=t[s].map(function(t){return r(t,e+2*n)}).join("\n")+"\n",i+=o(e+n)+"\n"):i+=o(e+n)+"<"+s+">"+t[s]+"\n";return i+=o(e)+""}e.jsonToXML=function(t,e){void 0===e&&(e="root");for(var i='\n<'+e+">",n=0;n"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(18),o=function(){function t(){}return t.prototype.sort=function(t,e){var i=this;e.rule&&"function"==typeof e.rule?this._sort(t,e):e.by&&(e.rule=function(t,o){var r=i._checkVal(e.as,t[e.by]),s=i._checkVal(e.as,o[e.by]);return n.naturalCompare(r.toString(),s.toString())},this._sort(t,e))},t.prototype._checkVal=function(t,e){return t?t.call(this,e):e},t.prototype._sort=function(t,e){var i=this,n={asc:1,desc:-1};return t.sort(function(t,o){return e.rule.call(i,t,o)*(n[e.dir]||n.asc)})},t}();e.Sort=o},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(1),r=i(55),s=i(25),a=i(18),c=i(17);function l(t,e,i,n){void 0!==n&&-1!==n&&t[i]&&t[i][n]?t[i].splice(n,0,e):(t[i]||(t[i]=[]),t[i].push(e))}var u=function(t){function e(e,i){var n,r=t.call(this,e,i)||this,s=r._root="_ROOT_"+o.uid();return r._childs=((n={})[s]=[],n),r._initChilds=null,r}return n(e,t),e.prototype.add=function(e,i,n){var o=this;if(void 0===i&&(i=-1),void 0===n&&(n=this._root),"object"!=typeof e&&(e={value:e}),!Array.isArray(e)){e.parent=e.parent?e.parent.toString():n;var r=t.prototype.add.call(this,e,i);if(Array.isArray(e.items))for(var s=0,a=e.items;s0&&-1!==i&&(i+=1),e.parent=e.parent?e.parent.toString():n;var s=t.prototype.add.call(o,e,i);if(Array.isArray(e.items))for(var a=0,c=e.items;a0&&i[t]!==i[r.getRoot()]){var e=i[r.getRoot()].find(function(e){if(e.id===t)return e});e&&n.push(e)}},r=this;for(var s in i)o(s);i[this.getRoot()]=n,this._childs=i,this.events.fire(c.DataEvents.change)}else this.restoreOrder()},e.prototype.restoreOrder=function(){this._initChilds&&(this._childs=this._initChilds,this._initChilds=null),this.events.fire(c.DataEvents.change)},e.prototype.copy=function(t,e,i,n){if(void 0===i&&(i=this),void 0===n&&(n=this._root),!this.exists(t))return null;var r=this._childs[t];if(i===this&&!this.canCopy(t,n))return null;var s=a.copyWithoutInner(this.getItem(t),{items:!0});if(i.exists(t)&&(s.id=o.uid()),a.isTreeCollection(i)){if(this.exists(t)&&(s.parent=n,i.add(s,e),t=s.id),r)for(var c=0,l=r;c1?(this._selectedIds=e,this._itemsForGhost=i):(this._selectedIds=[],this._itemsForGhost=null),r&&s){var a=n.getBox(o),c=a.left,l=a.top;this._transferData.initXOffset=t.pageX-c,this._transferData.initYOffset=t.pageY-l,this._transferData.x=t.pageX,this._transferData.y=t.pageY,this._transferData.targetId=s,this._transferData.id=r,this._transferData.item=o}}},t.prototype._moveGhost=function(t,e){this._transferData.ghost&&(this._transferData.ghost.style.left=t-this._transferData.initXOffset+"px",this._transferData.ghost.style.top=e-this._transferData.initYOffset+"px")},t.prototype._removeGhost=function(){document.body.removeChild(this._transferData.ghost)},t.prototype._onDrop=function(){if(this._canMove){var t=o.collectionStore.getItem(this._lastCollectionId),e=t&&t.config;if(t&&e.dragMode!==r.DragMode.source){if(t.events.fire(r.DragEvents.beforeDrop,[this._lastId,this._transferData.target])){var i={id:this._lastId,target:t},n={id:this._transferData.id,target:this._transferData.target};this._move(n,i),i.target.events.fire(r.DragEvents.dropComplete,[i.id,this._transferData.dropPosition])}this._endDrop()}else this._endDrop()}else this._endDrop()},t.prototype._onDragStart=function(t,e){var i=o.collectionStore.getItem(e),n=i.config;if(n.dragMode===r.DragMode.target)return null;var s=i.data.getItem(t),a=function(t,e){var i=t.getBoundingClientRect(),n=document.createElement("div"),o=t.cloneNode(!0);return o.style.width=i.width+"px",o.style.height=i.height+"px",o.style.maxHeight=i.height+"px",o.style.opacity="0.6",n.appendChild(o),e&&e.length&&e.forEach(function(t,e){var o=t.cloneNode(!0);o.style.width=i.width+"px",o.style.height=i.height+"px",o.style.maxHeight=i.height+"px",o.style.top=12*(e+1)-i.height-i.height*e+"px",o.style.left=12*(e+1)+"px",o.style.opacity="0.6",o.style.zIndex=""+(-e-1),n.appendChild(o)}),n.className="dhx_drag-ghost",n.style.position="absolute",n.style.pointerEvents="none",n}(this._transferData.item,this._itemsForGhost);return i.events.fire(r.DragEvents.beforeDrag,[s,a])&&t?(i.events.fire(r.DragEvents.dragStart,[t,this._selectedIds]),this._toggleTextSelection(!0),this._transferData.target=i,this._transferData.dragConfig=n,a):null},t.prototype._onDrag=function(t){var e=t.clientX,i=t.clientY,a=document.elementFromPoint(e,i),c=n.locate(a,"dhx_widget_id");if(c){var l=o.collectionStore.getItem(c),u=n.locate(a,"dhx_id");if(!u)return this._cancelCanDrop(),this._lastCollectionId=c,this._lastId=null,void this._canDrop();if(l.config.dropBehaviour===r.DropBehaviour.complex){var d=function(t){var e=t.clientY,i=n.locateNode(t);if(!i)return null;var o=i.childNodes[0].getBoundingClientRect();return(e-o.top)/o.height}(t);this._transferData.dropPosition=d<=.25?r.DropPosition.top:d>=.75?r.DropPosition.bot:r.DropPosition.in}else if(this._lastId===u&&this._lastCollectionId===c)return;var h={id:this._transferData.id,target:this._transferData.target};if("source"!==l.config.dragMode)if(h.target.events.fire(r.DragEvents.dragOut,[u,l]),c!==this._transferData.targetId||!s.isTreeCollection(h.target.data)||s.isTreeCollection(h.target.data)&&h.target.data.canCopy(h.id,u))this._cancelCanDrop(),this._lastId=u,this._lastCollectionId=c,h.target.events.fire(r.DragEvents.dragIn,[u,this._transferData.dropPosition,o.collectionStore.getItem(c)])&&this._canDrop();else this._cancelCanDrop()}else this._canMove&&this._cancelCanDrop()},t.prototype._move=function(t,e){var i=t.target.data,n=e.target.data,o=0,a=e.id;switch(s.isTreeCollection(n)?e.target.config.dropBehaviour:void 0){case r.DropBehaviour.child:break;case r.DropBehaviour.sibling:a=n.getParent(a),o=n.getIndex(e.id)+1;break;case r.DropBehaviour.complex:var c=this._transferData.dropPosition;c===r.DropPosition.top?(a=n.getParent(a),o=n.getIndex(e.id)):c===r.DropPosition.bot&&(a=n.getParent(a),o=n.getIndex(e.id)+1);break;default:o=e.id?t.target===e.target&&n.getIndex(t.id)1?this._selectedIds.map(function(t){i.copy(t,o,n,a),o>-1&&o++}):i.copy(t.id,o,n,a):this._selectedIds instanceof Array&&this._selectedIds.length>1?this._selectedIds.map(function(t){i.move(t,o,n,a),o>-1&&o++}):i.move(t.id,o,n,a)},t.prototype._endDrop=function(){this._toggleTextSelection(!1),this._transferData.target&&this._transferData.target.events.fire(r.DragEvents.dragEnd,[this._transferData.id,this._selectedIds]),this._cancelCanDrop(),this._canMove=!0,this._transferData={},this._lastId=null,this._lastCollectionId=null},t.prototype._cancelCanDrop=function(){this._canMove=!1;var t=o.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(r.DragEvents.cancelDrop,[this._lastId]),this._lastCollectionId=null,this._lastId=null},t.prototype._canDrop=function(){this._canMove=!0;var t=o.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(r.DragEvents.canDrop,[this._lastId,this._transferData.dropPosition])},t.prototype._toggleTextSelection=function(t){t?document.body.classList.add("dhx_no-select"):document.body.classList.remove("dhx_no-select")},t}(),c=window.dhxHelpers=window.dhxHelpers||{};c.dragManager=c.dragManager||new a,e.dragManager=c.dragManager},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this._store={}}return t.prototype.setItem=function(t,e){this._store[t]=e},t.prototype.getItem=function(t){return this._store[t]?this._store[t]:null},t}(),o=window.dhxHelpers=window.dhxHelpers||{};o.collectionStore=o.collectionStore||new n,e.collectionStore=o.collectionStore},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(2),o=i(21),r=i(17),s=function(){function t(t,e,i){var o=this;this.events=i||new n.EventSystem(this),this._data=e,this._data.events.on(r.DataEvents.removeAll,function(){o._selected=null}),this._data.events.on(r.DataEvents.change,function(){if(o._selected){var t=o._data.getNearId(o._selected);t!==o._selected&&(o._selected=null,t&&o.add(t))}})}return t.prototype.getId=function(){return this._selected},t.prototype.getItem=function(){return this._selected?this._data.getItem(this._selected):null},t.prototype.remove=function(t){return!(t=t||this._selected)||!!this.events.fire(o.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=null,this.events.fire(o.SelectionEvents.afterUnSelect,[t]),!0)},t.prototype.add=function(t){this._selected!==t&&(this.remove(),this.events.fire(o.SelectionEvents.beforeSelect,[t])&&(this._selected=t,this._data.update(t,{$selected:!0}),this.events.fire(o.SelectionEvents.afterSelect,[t])))},t}();e.Selection=s},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ie.left+e.width-1||i.pageXe.top+e.height-1||i.pageYe.length)return!1;for(var i=0;ie)return[];for(var i=[];t<=e;)i.push(t++);return i},e.isNumeric=function(t){return!isNaN(t-parseFloat(t))},e.downloadFile=function(t,e,i){void 0===i&&(i="text/plain");var n=new Blob([t],{type:i});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(n,e);else{var o=document.createElement("a"),r=URL.createObjectURL(n);o.href=r,o.download=e,document.body.appendChild(o),o.click(),setTimeout(function(){document.body.removeChild(o),window.URL.revokeObjectURL(r)},0)}},e.debounce=function(t,e,i){var n;return function(){var o=this,r=arguments,s=i&&!n;clearTimeout(n),n=setTimeout(function(){n=null,i||t.apply(o,r)},e),s&&t.apply(this,r)}},e.compare=function t(e,i){for(var n in e){if(e.hasOwnProperty(n)!==i.hasOwnProperty(n))return!1;switch(typeof e[n]){case"object":if(!t(e[n],i[n]))return!1;break;case"function":if(void 0===i[n]||"compare"!==n&&e[n].toString()!==i[n].toString())return!1;break;default:if(e[n]!==i[n])return!1}}for(var n in i)if(void 0===e[n])return!1;return!0},e.isType=function(t){return((Object.prototype.toString.call(t).match(/^\[object (\S+?)\]$/)||[])[1]||"undefined").toLowerCase()}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i-1)return e[i[c]](n,o);r=r.parentNode}return!0}},e.locate=function(t,e){void 0===e&&(e="dhx_id");var i=o(t,e);return i?i.getAttribute(e):""},e.locateNode=o,e.locateNodeByClassName=function(t,e){for(t instanceof Event&&(t=t.target);t;){if(e){if(t.classList&&t.classList.contains(e))return t}else if(t.getAttribute&&t.getAttribute("dhx_id"))return t;t=t.parentNode}},e.getBox=function(t){var e=t.getBoundingClientRect(),i=document.body,n=window.pageYOffset||i.scrollTop,o=window.pageXOffset||i.scrollLeft;return{top:e.top+n,left:e.left+o,right:i.offsetWidth-e.right,bottom:i.offsetHeight-e.bottom,width:e.right-e.left,height:e.bottom-e.top}};var r,s=-1;function a(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,right:e.right+window.pageXOffset,top:e.top+window.pageYOffset,bottom:e.bottom+window.pageYOffset}}function c(t,e){var i=e.mode===r.bottom||e.mode===r.top?u(t,e):d(t,e),n=i.left,o=i.top;return{left:Math.round(n)+"px",top:Math.round(o)+"px",minWidth:Math.round(e.width)+"px",position:"absolute"}}function l(){return{rightBorder:window.pageXOffset+window.innerWidth,bottomBorder:window.pageYOffset+window.innerHeight}}function u(t,e){var i,o,s=l(),a=s.rightBorder,c=s.bottomBorder-t.bottom-e.height,u=t.top-e.height;if(e.mode===r.bottom?c>=0?o=t.bottom:u>=0&&(o=u):u>=0?o=u:c>=0&&(o=t.bottom),c<0&&u<0){if(e.auto)return d(t,n(n({},e),{mode:r.right,auto:!1}));o=c>u?t.bottom:u}if(e.centering)i=function(t,e,i){var n=(e-(t.right-t.left))/2,o=t.left-n,r=t.right+n;return o>=0&&r<=i?o:o<0?0:i-e}(t,e.width,a);else{var h=a-t.left-e.width,f=t.right-e.width;i=h>=0?t.left:f>=0?f:f>h?t.left:f}return{left:i,top:o}}function d(t,e){var i,o,s=l(),a=s.rightBorder,c=s.bottomBorder,d=a-t.right-e.width,h=t.left-e.width;if(e.mode===r.right?d>=0?i=t.right:h>=0&&(i=h):h>=0?i=h:d>=0&&(i=t.right),h<0&&d<0){if(e.auto)return u(t,n(n({},e),{mode:r.bottom,auto:!1}));i=h>d?h:t.right}if(e.centering)o=function(t,e,i){var n=(e-(t.bottom-t.top))/2,o=t.top-n,r=t.bottom+n;return o>=0&&r<=i?o:o<0?0:i-e}(t,e.height,a);else{var f=t.bottom-e.height,p=c-t.top-e.height;o=p>=0?t.top:f>0?f:f>p?f:t.top}return{left:i,top:o}}e.getScrollbarWidth=function(){if(s>-1)return s;var t=document.createElement("div");return document.body.appendChild(t),t.style.cssText="position: absolute;left: -99999px;overflow:scroll;width: 100px;height: 100px;",s=t.offsetWidth-t.clientWidth,document.body.removeChild(t),s},e.fitPosition=function(t,e){return c(a(t),e)},e.isIE=function(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1},e.getRealPosition=a,function(t){t.left="left",t.right="right",t.bottom="bottom",t.top="top"}(r=e.Position||(e.Position={})),e.calculatePosition=c},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.events={},this.context=t||this}return t.prototype.on=function(t,e,i){var n=t.toLowerCase();this.events[n]=this.events[n]||[],this.events[n].push({callback:e,context:i||this.context})},t.prototype.detach=function(t,e){var i=t.toLowerCase(),n=this.events[i];if(e&&n&&n.length)for(var o=n.length-1;o>=0;o--)n[o].context===e&&n.splice(o,1);else this.events[i]=[]},t.prototype.fire=function(t,e){void 0===e&&(e=[]);var i=t.toLowerCase();return!this.events[i]||this.events[i].map(function(t){return t.callback.apply(t.context,e)}).indexOf(!1)<0},t.prototype.clear=function(){this.events={}},t}();e.EventSystem=n,e.EventsMixin=function(t){var e=new n(t=t||{});t.detachEvent=e.detach.bind(e),t.attachEvent=e.on.bind(e),t.callEvent=e.fire.bind(e)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),o=i(2),r=function(){function t(t,e){this._uid=n.uid(),this.config=e||{}}return t.prototype.mount=function(t,e){e&&(this._view=e),t&&this._view&&this._view.mount&&(this._container=o.toNode(t),this._container.tagName?this._view.mount(this._container):this._container.attach&&this._container.attach(this))},t.prototype.unmount=function(){var t=this.getRootView();t&&t.node&&(t.unmount(),this._view=null)},t.prototype.getRootView=function(){return this._view},t.prototype.getRootNode=function(){return this._view&&this._view.node&&this._view.node.el},t.prototype.paint=function(){this._view&&(this._view.node||this._container)&&(this._doNotRepaint=!1,this._view.redraw())},t}();e.View=r,e.toViewLike=function(t){return{getRootView:function(){return t},paint:function(){return t.node&&t.redraw()},mount:function(e){return t.mount(e)}}}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i0?180===e?i=n[0]:e>180?e<270?i=n[0]:e>270&&(i=n[1]):e<180&&(e>90?i=n[0]:e<90&&(i=n[1])):e<0&&(-180===e?i=n[0]:e<-180?e>-270?i=n[0]:e<-270&&(i=n[1]):e>-180&&(e<-90?i=n[0]:e>-90&&(i=n[1])));break;case r.ScaleType.top:case r.ScaleType.bottom:e>0?e>180?i=n[0]:e<180&&(i=n[1]):e<0&&(e>-180?i=n[0]:e<-180&&(i=n[1]))}return i},e.getScales=function(t){var e=[];for(var i in t){var n=t[i];(n.min||n.max||n.maxTicks||n.text||n.value)&&e.push(i)}return e}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.bar="bar",t.line="line",t.spline="spline",t.scatter="scatter",t.area="area",t.donut="donut",t.pie="pie",t.pie3D="pie3D",t.radar="radar",t.xBar="xbar",t.splineArea="splineArea"}(e.ChartType||(e.ChartType={})),function(t){t.toggleSeries="toggleSeries",t.chartMouseMove="chartMouseMove",t.chartMouseLeave="chartMouseLeave",t.resize="resize",t.serieClick="serieClick"}(e.ChartEvents||(e.ChartEvents={})),function(t){t.left="left",t.right="right",t.top="top",t.bottom="bottom",t.radial="radial"}(e.ScaleType||(e.ScaleType={})),function(t){t.circle="circle",t.rect="rect",t.triangle="triangle",t.rhombus="rhombus",t.simpleRect="simpleRect",t.simpleCircle="simpleCircle",t.empty="empty"}(e.PointType||(e.PointType={})),function(t){t.simple="simple",t.right="right",t.left="left",t.top="top",t.bot="bot"}(e.TooltipType||(e.TooltipType={})),function(t){t.rect="rect",t.circle="circle"}(e.Shape||(e.Shape={})),function(t){t.left="left",t.center="center",t.right="right"}(e.HorizontalPosition||(e.HorizontalPosition={})),function(t){t.top="top",t.middle="middle",t.bottom="bottom"}(e.VerticalPosition||(e.VerticalPosition={})),function(t){t.basic="basic",t.percentOnly="percentOnly",t.valueOnly="valueOnly"}(e.NoScaleSubType||(e.NoScaleSubType={}))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(15)),n(i(57)),n(i(95)),n(i(96)),n(i(21)),n(i(98)),n(i(16)),n(i(60)),n(i(59)),n(i(99)),n(i(58)),n(i(34))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.block="block",t.input="input",t.button="button",t.combo="combo",t.slider="slider",t.radioButton="radioButton",t.radioGroup="radioGroup",t.checkbox="checkbox",t.select="select",t.simpleVault="simpleVault",t.textarea="textarea",t.timepicker="timepicker",t.datepicker="datepicker",t.colorpicker="colorpicker",t.text="text"}(e.FormItemType||(e.FormItemType={})),function(t){t.change="change",t.buttonClick="buttonclick",t.validationFail="validationfail",t.beforeSend="beforesend",t.afterSend="aftersend"}(e.FormEvents||(e.FormEvents={})),function(t){t.change="change",t.configUpdate="configUpdate"}(e.BaseElementEvent||(e.BaseElementEvent={})),function(t){t.empty="",t.validEmail="email",t.validInteger="integer",t.validNumeric="numeric",t.validAplhaNumeric="alphanumeric",t.validIPv4="IPv4"}(e.Validation||(e.Validation={})),function(t){t[t.pre=0]="pre",t[t.error=1]="error",t[t.success=2]="success"}(e.ValidationStatus||(e.ValidationStatus={})),function(t){t.value="value",t.validation="validation"}(e.ClearMethod||(e.ClearMethod={}))},function(t,e,i){"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0});var o=i(8);e.getFormItemCss=function(t,e){var i,n=t.labelPosition,r=t.required,s=t.disabled,a=t.hiddenLabel,c=t.css,l=t.$validationStatus,u=(i={},i[o.ValidationStatus.pre]="",i[o.ValidationStatus.error]=" dhx_form-group--state_error",i[o.ValidationStatus.success]=" dhx_form-group--state_success",i)[l]||"",d="right"===n||"left"===n?" dhx_form-group--inline":"",h=s?" dhx_form-group--disabled":"",f=a?" dhx_form-group--label_sr":"";return e?c||""+d+u+(r?" dhx_form-group--required":"")+h+f:c||""+d+h+f};var r=((n={})[o.Validation.validAplhaNumeric]=/^[a-zA-Z0-9_]+$/,n[o.Validation.validEmail]=/^.+@.+\..+$/,n[o.Validation.validInteger]=/^\d+$/,n[o.Validation.validIPv4]=/\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}\b/,n[o.Validation.validNumeric]=/^\d+(\.\d+)?$/,n);e.getValidationMessage=function(t){var e;return(e={undefined:t.preMessage},e[o.ValidationStatus.pre]=t.preMessage,e[o.ValidationStatus.error]=t.errorMessage,e[o.ValidationStatus.success]=t.successMessage,e)[t.$validationStatus]||""},e.validateTemplate=function(t,e){return!r[t]||r[t].test(e)},e.isBlock=function(t){return Boolean(t.rows)||Boolean(t.cols)},e.validateInput=function(t,e){var i=!0;if("function"==typeof e)i=e(t);else{var n=r[e];n&&(i=n.test(t))}return i},e.isTimeFormat=function(t,e){return 12===e?/(^0?([1-9][0-2]?):[0-5][0-9]?([AP][M]?)$)/i.test(t):/(^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]$)/i.test(t)},e.isEmptyObj=function(t){for(var e in t)return!1;return!0}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.input="input",t.select="select",t.datepicker="datePicker",t.checkbox="checkbox",t.combobox="combobox"}(e.EditorType||(e.EditorType={})),function(t){t.scroll="scroll",t.sort="sort",t.expand="expand",t.filterChange="filterChange",t.beforeResizeStart="beforeResizeStart",t.resize="resize",t.afterResizeEnd="afterResizeEnd",t.cellClick="cellClick",t.cellRightClick="cellRightClick",t.cellMouseOver="cellMouseOver",t.cellMouseDown="cellMouseDown",t.cellDblClick="cellDblClick",t.headerCellClick="headerCellClick",t.footerCellClick="footerCellClick",t.headerCellMouseOver="headerCellMouseOver",t.footerCellMouseOver="footerCellMouseOver",t.headerCellMouseDown="headerCellMouseDown",t.footerCellMouseDown="footerCellMouseDown",t.headerCellDblClick="headerCellDblClick",t.footerCellDblClick="footerCellDblClick",t.headerCellRightClick="headerCellRightClick",t.footerCellRightClick="footerCellRightClick",t.beforeEditStart="beforeEditStart",t.afterEditStart="afterEditStart",t.beforeEditEnd="beforeEditEnd",t.afterEditEnd="afterEditEnd",t.beforeKeyDown="beforeKeyDown",t.afterKeyDown="afterKeyDown",t.headerInput="headerInput"}(e.GridEvents||(e.GridEvents={}))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(131)),n(i(64))},function(t,e,i){(function(e,i){!function(){var n=1,o={},r=!1;function s(t){e.setImmediate?i(t):e.importScripts?setTimeout(t):(o[++n]=t,e.postMessage(n,"*"))}function a(t){"use strict";if("function"!=typeof t&&void 0!=t)throw TypeError();if("object"!=typeof this||this&&this.then)throw TypeError();var e,i,n=this,o=0,r=0,c=[];n.promise=n,n.resolve=function(t){return e=n.fn,i=n.er,o||(r=t,o=1,s(d)),n},n.reject=function(t){return e=n.fn,i=n.er,o||(r=t,o=2,s(d)),n},n._d=1,n.then=function(t,e){if(1!=this._d)throw TypeError();var i=new a;return i.fn=t,i.er=e,3==o?i.resolve(r):4==o?i.reject(r):c.push(i),i},n.catch=function(t){return n.then(null,t)};var l=function(t){o=t||4,c.map(function(t){3==o&&t.resolve(r)||t.reject(r)})};try{"function"==typeof t&&t(n.resolve,n.reject)}catch(t){n.reject(t)}return n;function u(t,e,i,n){if(2==o)return n();if("object"!=typeof r&&"function"!=typeof r||"function"!=typeof t)n();else try{var s=0;t.call(r,function(t){s++||(r=t,e())},function(t){s++||(r=t,i())})}catch(t){r=t,i()}}function d(){var t;try{t=r&&r.then}catch(t){return r=t,o=2,d()}u(t,function(){o=1,d()},function(){o=2,d()},function(){try{1==o&&"function"==typeof e?r=e(r):2==o&&"function"==typeof i&&(r=i(r),o=1)}catch(t){return r=t,l()}r==n?(r=TypeError(),l()):u(t,function(){l(3)},l,function(){l(1==o&&3)})})}}(e=this).setImmediate||e.addEventListener("message",function(t){if(t.source==e)if(r)s(o[t.data]);else{r=!0;try{o[t.data]()}catch(t){}delete o[t.data],r=!1}}),a.resolve=function(t){if(1!=this._d)throw TypeError();return t instanceof a?t:new a(function(e){e(t)})},a.reject=function(t){if(1!=this._d)throw TypeError();return new a(function(e,i){i(t)})},a.all=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());var e=new a;return function i(n,o){return o?e.resolve(o):n?e.reject(n):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(e,n){e&&e.then&&e.then(function(e){return t[n]=e,i(),e},i)}))}(),e},a.race=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());if(0==t.length)return new a;var e=new a;return function i(n,o){return o?e.resolve(o):n?e.reject(n):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(t,e){t&&t.then&&t.then(function(t){i(null,t)},i)}))}(),e},a._d=1,t.exports=a}()}).call(this,i(33),i(87).setImmediate)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(2);function o(t){for(var e=t.toLowerCase().match(/\w+/g),i=0,n="",o=0;o=48&&e.which<=57||e.which>=65&&e.which<=90?String.fromCharCode(e.which):32!==e.which||n.isIE()?e.key:e.code)&&i.toLowerCase()),r=t._keysStorage[o];if(r)for(var s=0;s=0;s--)i[n].splice(r[s],1)}},t.prototype.exist=function(t){var e=o(t);return!!this._keysStorage[e]},t}();e.keyManager=new r,e.addHotkeys=function(t,i){var n=new Date,o=function(t){return function(e){i&&!1===i()||t(e)}};for(var r in t)e.keyManager.addHotKey(r,o(t[r]),n);return function(){return e.keyManager.removeHotKey(void 0,n)}}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(102)),n(i(28))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.all="all",t.level="level",t.leafs="leafs"}(e.TreeFilterType||(e.TreeFilterType={})),function(t){t.top="top",t.bot="bot",t.in="in"}(e.DropPosition||(e.DropPosition={})),function(t){t.afterAdd="afteradd",t.beforeAdd="beforeadd",t.removeAll="removeall",t.beforeRemove="beforeremove",t.afterRemove="afterremove",t.change="change",t.load="load",t.loadError="loaderror",t.beforeLazyLoad="beforelazyload",t.afterLazyLoad="afterlazyload"}(e.DataEvents||(e.DataEvents={})),function(t){t.beforeDrag="beforedrag",t.beforeDrop="beforeDrop",t.dragStart="dragstart",t.dragEnd="dragend",t.canDrop="candrop",t.cancelDrop="canceldrop",t.dropComplete="dropcomplete",t.dragOut="dragOut",t.dragIn="dragIn"}(e.DragEvents||(e.DragEvents={})),function(t){t.target="target",t.both="both",t.source="source"}(e.DragMode||(e.DragMode={})),function(t){t.child="child",t.sibling="sibling",t.complex="complex"}(e.DropBehaviour||(e.DropBehaviour={})),function(t){t.json="json",t.csv="csv",t.xml="xml"}(e.DataDriver||(e.DataDriver={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(21),o=i(58);e.isEqualObj=function(t,e){for(var i in t)if(t[i]!==e[i])return!1;return!0},e.naturalCompare=function(t,e){if(isNaN(t)||isNaN(e)){var i=[],n=[];for(t.replace(/(\d+)|(\D+)/g,function(t,e,n){i.push([e||1/0,n||""])}),e.replace(/(\d+)|(\D+)/g,function(t,e,i){n.push([e||1/0,i||""])});i.length&&n.length;){var o=i.shift(),r=n.shift(),s=o[0]-r[0]||o[1].localeCompare(r[1]);if(s)return s}return i.length-n.length}return t-e},e.findByConf=function(t,e){if("function"==typeof e){if(e.call(this,t))return t}else if(e.by&&e.match&&t[e.by]===e.match)return t},e.isDebug=function(){var t=window.dhx;if(void 0!==t)return void 0!==t.debug&&t.debug},e.dhxWarning=function(t){console.warn(t)},e.dhxError=function(t){throw new Error(t)},e.toProxy=function(t){var e=typeof t;return"string"===e?new n.DataProxy(t):"object"===e?t:void 0},e.toDataDriver=function(t){if("string"==typeof t){var e=window.dhx,i=e&&e.dataDrivers||o.dataDrivers;if(i[t])return new i[t];console.warn("Incorrect data driver type:",t),console.warn("Available types:",JSON.stringify(Object.keys(i)))}else if("object"==typeof t)return t},e.copyWithoutInner=function(t,e){var i={};for(var n in t)"$"===n[0]||e&&e[n]||(i[n]=t[n]);return i},e.isTreeCollection=function(t){return Boolean(t.getRoot)},e.hasJsonOrArrayStructure=function(t){if("object"==typeof t)return!0;if("string"!=typeof t)return!1;try{var e=JSON.parse(t);return"[object Object]"===Object.prototype.toString.call(e)||Array.isArray(e)}catch(t){return!1}}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(109)),n(i(110)),n(i(23))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i'),a=window.getComputedStyle(s),c={color:"rgb(0, 0, 0)"===a.color?o.color:n(a.color),background:"rgba(0, 0, 0, 0)"===a.backgroundColor?o.background:n(a.backgroundColor),fontSize:parseFloat(a.fontSize)};return r.removeChild(s),c.color===o.color&&c.background===o.background&&c.fontSize===o.fontSize?null:c},e.removeHTMLTags=function(t){return"string"!=typeof t&&"number"!=typeof t&&"boolean"!=typeof t?"":(""+(void 0===t||null===t?"":t)).replace(/<[^>]*>/g,"").replace(/[\"]/g,""").trim()},e.isCssSupport=function(t,e){try{return CSS.supports(t,e)}catch(n){var i=document.createElement("div");return i.style[t]=e,i.style[t]===e}},e.isRowEmpty=function(t){if(t)return Object.keys(t).reduce(function(e,i){return"id"===i||"$"===i[0]?e:(!e||void 0===t[i]||""===t[i])&&e},!0)},e.isSortable=function(t,e){return!1!==e.sortable&&t.sortable||e.sortable},e.isAutoWidth=function(t,e){if(!e){var i=!1;return t.columns.map(function(e){(!1!==e.autoWidth&&t.autoWidth||e.autoWidth)&&(i=!0)}),i}return!1!==e.autoWidth&&t.autoWidth||e.autoWidth}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(34),o=function(){function t(t,e){this.url=this._url=t,this.config=e}return t.prototype.updateUrl=function(t,e){for(var i in void 0===e&&(e={}),this._url=this.url=t||this._url,this.url+="?",e)this.config[i]=e[i],this.url+=i+"="+encodeURIComponent(e[i])+"&";this.url=this.url.slice(0,-1)},t.prototype.load=function(){return n.ajax.get(this.url,null,{responseType:"text"})},t.prototype.save=function(t,e){switch(e){case"delete":return n.ajax.delete(this.url,t);case"update":case"insert":default:return n.ajax.post(this.url,t)}},t}();e.DataProxy=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeUnSelect="beforeunselect",t.afterUnSelect="afterunselect",t.beforeSelect="beforeselect",t.afterSelect="afterselect"}(e.SelectionEvents||(e.SelectionEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(7);e.DataEvents=n.DataEvents,function(t){t.button="button",t.imageButton="imageButton",t.selectButton="selectButton",t.customHTMLButton="customButton",t.input="input",t.separator="separator",t.title="title",t.spacer="spacer",t.menuItem="menuItem",t.block="block",t.navItem="navItem",t.customHTML="customHTML"}(e.ItemType||(e.ItemType={})),function(t){t.inputCreated="inputCreated",t.click="click",t.openMenu="openmenu",t.beforeHide="beforeHide",t.afterHide="afterHide",t.inputFocus="inputfocus",t.inputBlur="inputblur"}(e.NavigationBarEvents||(e.NavigationBarEvents={})),function(t){t.pointer="pointer",t.click="click"}(e.NavigationType||(e.NavigationType={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(23);e.getCount=function(t,e,i){var o={danger:" dhx_navbar-count--color_danger",secondary:" dhx_navbar-count--color_secondary",primary:" dhx_navbar-count--color_primary",success:" dhx_navbar-count--color_success"}[t.countColor]||" dhx_navbar-count--color_danger";return n.el(".dhx_navbar-count",{class:e+o+(!i&&parseInt(t.count,10)>99?" dhx_navbar-count--overlimit":"")},i&&parseInt(t.count,10)>99?"99+":t.count)},e.getIcon=function(t,e){return void 0===t&&(t=""),"dxi"===t.slice(0,3)&&(t="dxi "+t),n.el("span",{class:"dhx_"+e+"__icon "+t})},e.navbarComponentMixin=function(t,e,i,s){var a=r(t,e,i),c="ribbon"===t&&(e.type===o.ItemType.navItem||e.type===o.ItemType.imageButton);return n.el("li",{_key:e.id,class:a+(e.icon&&!e.value&&c?" dhx_ribbon__item--icon":"")+(e.src&&!e.value&&c?" dhx_ribbon__item--icon":"")+(e.size&&c?" dhx_ribbon__item--"+e.size:""),".innerHTML":e.type===o.ItemType.customHTML?e.html:void 0,dhx_id:e.type===o.ItemType.customHTML?e.id:void 0},e.type!==o.ItemType.customHTML?[s]:void 0)},e.getNavbarButtonCSS=function(t,e){var i=t.color,n=t.size,o=t.view,r=t.full,s=t.icon,a=t.circle,c=t.loading,l=t.value,u=t.active;return({danger:" dhx_button--color_danger",secondary:" dhx_button--color_secondary",primary:" dhx_button--color_primary",success:" dhx_button--color_success"}[i]||" dhx_button--color_primary")+({small:" dhx_button--size_small",medium:" dhx_button--size_medium"}[n]||" dhx_button--size_medium")+({flat:" dhx_button--view_flat",link:" dhx_button--view_link"}[o]||" dhx_button--view_flat")+(r?" dhx_button--width_full":"")+(a?" dhx_button--circle":"")+(c?" dhx_button--loading":"")+(u?" dhx_button--active":"")+(s&&!l?" dhx_button--icon":"")};var r=function(t,e,i){var n="",r="";return r=(n=i?"dhx_menu-item":"dhx_"+t+"__item")+(e.css?" "+e.css:""),e.type!==o.ItemType.spacer&&e.type!==o.ItemType.separator||(r+=" "+n+"--"+e.type),"button"!==e.type||"sidebar"!==t||e.icon||(r+=" dhx_navbar-item--colapse_hidden"),r}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(128)),n(i(68)),n(i(41))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(5);function r(t,e,i){return[Math.cos(2*Math.PI*t)*e,Math.sin(2*Math.PI*t)*i]}function s(t,e){return t-1e-6e}function a(t,e){return"M"+-t+",0A"+t+","+t+" 0 "+(e?0:1)+" 1 "+t+",0A"+t+","+t+" 0 "+(e?0:1)+" 1 "+-t+",0"}e.getCoordinates=r,e.shiftCoordinates=function(t,e,i){return[t[0]+e,t[1]+i]},e.pieLikeHandlers={onmouseover:function(t,e,i,n){n.el.setAttribute("transform","translate("+t+", "+e+") scale(1.05)"),n.el.classList.add("dhx_pie-transform-delay")},onmouseout:function(t,e){e.el.setAttribute("transform","translate(0, 0)"),e.el.classList.remove("dhx_pie-transform-delay")}},e.radarScale=function(t,e,i){var c=i/2,l=1/t.scales.length,u=l>.5?1:0,d=[],h=function(t,e){return n.sv("circle",{cx:0,cy:0,r:t,fill:e,stroke:"none",class:"background-circle"})}(c,"#FAFBFD");d.push(h);for(var f=-.25,p=[],_=t.axis,v="radar-grid "+(t.zebra?"zebra":""),g=1;g<_.length;g+=2){var m=c*_[g-1],y=c*_[g],b=a(m,!0)+" "+a(y,!1),x=n.sv("path",{d:b,fill:"none",stroke:"black",class:v});p.push(x)}if(d.push(p),t.scales.forEach(function(t){var e=r(f,c,c),i=e[0],a=e[1],h=f+l,p=r(h,c,c),_=p[0],v=p[1],g="M "+i+" "+a+" A "+c+" "+c+" 0 "+u+" 1 "+_+" "+v+" L 0 0",m=n.sv("path",{d:g,stroke:"black",fill:"none",class:"radar-scale"});d.push(m);var y=[8,8],b=y[0],x=y[1],w=s(f,0)||s(f,.5)?0:f<0||f>.5?-b:b,k=s(f,-.25)||s(f,.25)?0:f<-.25||f>.25?-x:x;if(s(f,-.25)||s(f,.25)){var C=s(f,-.25)?o.verticalTopText:o.verticalBottomText,E=n.sv("text",{x:i+k,y:a+w,class:"scale-text"},[C(t)]);d.push(E)}else{var S=f>=-.25&&f<=.25?"start-text scale-text":"end-text scale-text";E=n.sv("text",{x:i+k,y:a+w,class:S},[o.verticalCenteredText(t)]),d.push(E)}f=h}),f=-.25,t.realAxis){var w=t.realAxis.map(function(t,e){var i=r(-.25,c*_[e],c*_[e]),s=i[0],a=i[1];return n.sv("text",{x:s,y:a,dx:-10,class:"radar-axis-text"},[o.verticalCenteredText(t.toString())])});d.push(w)}return n.sv("g",{transform:"translate("+e/2+", "+i/2+")"},d)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});i(7);!function(t){t.queue="queue",t.uploaded="uploaded",t.failed="failed",t.inprogress="inprogress"}(e.FileStatus||(e.FileStatus={})),function(t){t.uploadBegin="uploadbegin",t.beforeUploadFile="beforeuploadfile",t.uploadFile="uploadfile",t.uploadFail="uploadfail",t.uploadComplete="uploadcomplete",t.uploadProgress="uploadprogress"}(e.UploaderEvents||(e.UploaderEvents={})),function(t){t.cancel="cancel"}(e.ProgressBarEvents||(e.ProgressBarEvents={})),function(t){t.grid="grid",t.list="list"}(e.VaultMode||(e.VaultMode={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeShow="beforeShow",t.afterShow="afterShow",t.beforeHide="beforeHide",t.afterHide="afterHide",t.beforeResizeStart="beforeResizeStart",t.resize="resize",t.afterResizeEnd="afterResizeEnd",t.beforeAdd="beforeAdd",t.afterAdd="afterAdd",t.beforeRemove="beforeRemove",t.afterRemove="afterRemove",t.beforeCollapse="beforeCollapse",t.afterCollapse="afterCollapse",t.beforeExpand="beforeExpand",t.afterExpand="afterExpand"}(e.LayoutEvents||(e.LayoutEvents={})),function(t){t[t.unknown=0]="unknown",t[t.percents=1]="percents",t[t.pixels=2]="pixels",t[t.mixedpx1=3]="mixedpx1",t[t.mixedpx2=4]="mixedpx2",t[t.mixedperc1=5]="mixedperc1",t[t.mixedperc2=6]="mixedperc2"}(e.resizeMode||(e.resizeMode={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}(i(108));var n=i(17);e.ItemType=n.ItemType,e.NavigationBarEvents=n.NavigationBarEvents},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(129)),n(i(67))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(135)),n(i(69)),n(i(43));var o=i(44);e.locale=o.default},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(161)),n(i(74))},function(t,e){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(15),o=i(16);function r(t){return t?t.indexOf("json")>=0?"json":t.indexOf("xml")>=0?"xml":"text":"text"}function s(e,i,s,a,c){var l=a||{};if(c&&(l.Accept="application/"+c),"GET"!==s&&(l["Content-Type"]=l["Content-Type"]||"application/json"),"GET"===s){var u=i&&"object"==typeof i?function(t){return Object.keys(t).reduce(function(e,i){var n="object"==typeof t[i]?JSON.stringify(t[i]):t[i];return e.push(i+"="+encodeURIComponent(n)),e},[]).join("&")}(i):i&&"string"==typeof i?i:"";u&&(e+=-1===e.indexOf("?")?"?":"&",e+=u),i=null}return window.fetch?window.fetch(e,{method:s,body:i?JSON.stringify(i):null,headers:l}).then(function(e){if(!e.ok)return e.text().then(function(i){return t.reject({status:e.status,statusText:e.statusText,message:i})});var i=c||r(e.headers.get("Content-Type"));if("raw"===i)return{headers:Object.fromEntries(e.headers.entries()),url:e.url,body:e.body};if(204!==e.status)switch(i){case"json":return e.json();case"xml":var s=o.toDataDriver(n.DataDriver.xml);return s?e.text().then(function(t){return s.toJsonObject(t)}):e.text();default:return e.text()}}):new t(function(t,a){var u=new XMLHttpRequest;for(var d in u.onload=function(){u.status>=200&&u.status<300?("raw"===c&&t({url:u.responseURL,headers:u.getAllResponseHeaders().trim().split(/[\r\n]+/).reduce(function(t,e){var i=e.split(": ");return t[i[0]]=i[1],t},{}),body:u.response}),204===u.status?t():t(function(t,e){switch(e){case"json":return JSON.parse(t);case"text":return t;case"xml":var i=o.toDataDriver(n.DataDriver.xml);return i?i.toJsonObject(t):{parseError:"Incorrect data driver type: 'xml'"};default:return t}}(u.responseText,c||r(u.getResponseHeader("Content-Type"))))):a({status:u.status,statusText:u.statusText})},u.onerror=function(){a({status:u.status,statusText:u.statusText,message:u.responseText})},u.open(s,e),l)u.setRequestHeader(d,l[d]);switch(s){case"POST":case"DELETE":case"PUT":u.send(void 0!==i?JSON.stringify(i):"");break;case"GET":default:u.send()}})}e.ajax={get:function(t,e,i){return s(t,e,"GET",i&&i.headers,void 0!==i?i.responseType:void 0)},post:function(t,e,i){return s(t,e,"POST",i&&i.headers,void 0!==i?i.responseType:void 0)},put:function(t,e,i){return s(t,e,"PUT",i&&i.headers,void 0!==i?i.responseType:void 0)},delete:function(t,e,i){return s(t,e,"DELETE",i&&i.headers,void 0!==i?i.responseType:void 0)}}}).call(this,i(12))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.left="left",t.right="right",t.top="top",t.bottom="bottom",t.center="center"}(e.RealPosition||(e.RealPosition={})),function(t){t.right="right",t.bottom="bottom",t.center="center"}(e.Position||(e.Position={})),function(t){t.topLeft="top-left",t.topRight="top-right",t.bottomLeft="bottom-left",t.bottomRight="bottom-right"}(e.MessageContainerPosition||(e.MessageContainerPosition={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={apply:"apply",reject:"reject"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={dragAndDrop:"Drag & drop",or:"or",browse:"Browse files",filesOrFoldersHere:"files or folders here",cancel:"Cancel",clearAll:"Clear all",clear:"Clear",add:"Add",upload:"Upload",download:"Download",error:"error",byte:"B",kilobyte:"KB",megabyte:"MB",gigabyte:"GB"}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(124)),n(i(63)),n(i(39))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.click="click",t.doubleClick="doubleclick",t.focusChange="focuschange",t.beforeEditStart="beforeEditStart",t.afterEditStart="afterEditStart",t.beforeEditEnd="beforeEditEnd",t.afterEditEnd="afterEditEnd",t.itemRightClick="itemRightClick",t.itemMouseOver="itemMouseOver",t.contextmenu="contextmenu"}(e.ListEvents||(e.ListEvents={}))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(130)),n(i(65))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,o=i(42),r=i(1),s={"%d":function(t){var e=t.getDate();return e<10?"0"+e:e},"%j":function(t){return t.getDate()},"%l":function(t){return o.default.days[t.getDay()]},"%D":function(t){return o.default.daysShort[t.getDay()]},"%m":function(t){var e=t.getMonth()+1;return e<10?"0"+e:e},"%n":function(t){return t.getMonth()+1},"%M":function(t){return o.default.monthsShort[t.getMonth()]},"%F":function(t){return o.default.months[t.getMonth()]},"%y":function(t){return t.getFullYear().toString().slice(2)},"%Y":function(t){return t.getFullYear()},"%h":function(t){var e=t.getHours()%12;return 0===e&&(e=12),e<10?"0"+e:e},"%g":function(t){var e=t.getHours()%12;return 0===e&&(e=12),e},"%H":function(t){var e=t.getHours();return e<10?"0"+e:e},"%G":function(t){return t.getHours()},"%i":function(t){var e=t.getMinutes();return e<10?"0"+e:e},"%s":function(t){var e=t.getSeconds();return e<10?"0"+e:e},"%a":function(t){return t.getHours()>=12?"pm":"am"},"%A":function(t){return t.getHours()>=12?"PM":"AM"},"%u":function(t){return t.getMilliseconds()}},a={"%d":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setDate(Number(e)):t.setDate(Number(1))},"%j":function(t,e){/(^([0-9]?[0-9])$)/i.test(e)?t.setDate(Number(e)):t.setDate(Number(1))},"%m":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setMonth(Number(e)-1):t.setMonth(Number(0))},"%n":function(t,e){/(^([0-9]?[0-9])$)/i.test(e)?t.setMonth(Number(e)-1):t.setMonth(Number(0))},"%M":function(t,e){var i=r.findIndex(o.default.monthsShort,function(t){return t===e});-1===i?t.setMonth(0):t.setMonth(i)},"%F":function(t,e){var i=r.findIndex(o.default.months,function(t){return t===e});-1===i?t.setMonth(0):t.setMonth(i)},"%y":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setFullYear(Number("20"+e)):t.setFullYear(Number("2000"))},"%Y":function(t,e){/(^([0-9][0-9][0-9][0-9])$)/i.test(e)?t.setFullYear(Number(e)):t.setFullYear(Number("2000"))},"%h":function(t,e,i){/(^0[1-9]|1[0-2]$)/i.test(e)&&"pm"===i||"PM"===i?t.setHours(Number(e)):t.setHours(Number(0))},"%g":function(t,e,i){/(^[1-9]$)|(^0[1-9]|1[0-2]$)/i.test(e)&&"pm"===i||"PM"===i?t.setHours(Number(e)):t.setHours(Number(0))},"%H":function(t,e){/(^[0-9][0-3]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%G":function(t,e){/(^([0-9]$)|[0-9][0-3]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%i":function(t,e){/(^([0-5][0-9])$)/i.test(e)?t.setMinutes(Number(e)):t.setMinutes(Number(0))},"%s":function(t,e){/(^([0-5][0-9])$)/i.test(e)?t.setSeconds(Number(e)):t.setSeconds(Number(0))},"%a":function(t,e){"pm"===e&&t.setHours(t.getHours()+12)},"%A":function(t,e){"PM"===e&&t.setHours(t.getHours()+12)}};function c(t){for(var e=[],i="",o=0;o0&&(e.push({type:n.separator,value:i}),i=""),e.push({type:n.datePart,value:t[o]+t[o+1]}),o++):i+=t[o];return i.length>0&&e.push({type:n.separator,value:i}),e}e.getFormatedDate=function(t,e){return c(t).reduce(function(t,i){return i.type===n.separator?t+i.value:s[i.value]?t+s[i.value](e):t},"")},function(t){t[t.separator=0]="separator",t[t.datePart=1]="datePart"}(n||(n={})),e.stringToDate=function(t,e,i){if("string"==typeof t){for(var o,r=[],s=0,l=null,u=0,d=c(e);u1&&(e-=1)}return{h:Math.floor(360*e),s:i,v:s}}Object.defineProperty(e,"__esModule",{value:!0}),e.HSVtoRGB=function(t){var e={r:0,g:0,b:0},i=t.h/60,n=t.s,o=t.v,r=Math.floor(i)%6,s=i-Math.floor(i),a=255*o*(1-n),c=255*o*(1-n*s),l=255*o*(1-n*(1-s));switch(o*=255,r){case 0:e.r=o,e.g=l,e.b=a;break;case 1:e.r=c,e.g=o,e.b=a;break;case 2:e.r=a,e.g=o,e.b=l;break;case 3:e.r=a,e.g=c,e.b=o;break;case 4:e.r=l,e.g=a,e.b=o;break;case 5:e.r=o,e.g=a,e.b=c}for(var u in e)e[u]=Math.round(e[u]);return e},e.RGBToHex=function(t){return Object.keys(t).reduce(function(e,i){var n=t[i].toString(16).toUpperCase();return e+(n=1===n.length?"0"+n:n)},"#")},e.HexToRGB=n,e.RGBToHSV=o,e.HexToHSV=function(t){return o(n(t))},e.isHex=function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={cancel:"Cancel",select:"Select",rightClickToDelete:"Right click to delete",customColors:"Custom colors",addNewColor:"Add new color"}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;is&&(i[0]=s,i[1]=r[0],i[2]=r[1],i[3]=r[2])}return i},t.prototype.getTooltipType=function(t){return o.TooltipType.top},t.prototype.getTooltipText=function(t){if(this.config.tooltip){var e=this._defaultLocator(this._data.getItem(t));return this.config.tooltipTemplate?this.config.tooltipTemplate(e):e[0]}},t.prototype.dataReady=function(t){return this._points=[]},t.prototype.paint=function(t,e){return this._calckFinalPoints(t,e)},t.prototype.getPoints=function(){return this._points},t.prototype.addScale=function(t,e){},t.prototype._getClosestDist=function(t,e,i,n){return r.euclideanDistance(t,e,i,n)},t.prototype._calckFinalPoints=function(t,e){},t.prototype._setDefaults=function(t){this.config=t},t.prototype._defaultLocator=function(t){return[null,null]},t.prototype._getPointType=function(t,e,i){return i?s.getShadeHelper(t,e,s.hoverMode):s.getShadeHelper(t,e,s.standarMode)},t}();e.default=a},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=i)return[0,this._tooltipData[o][0],this._tooltipData[o][1],n[o][2]];i-=n[o][0]}return[1/0,null,null,null]},e.prototype.getTooltipText=function(t){if(this.config.tooltip){var e=this._defaultLocator(this._data.getItem(t));return this.config.tooltipTemplate?this.config.tooltipTemplate(e):e[0]}},e.prototype.getTooltipType=function(t){return s.TooltipType.simple},e.prototype._setDefaults=function(t){var e=this,i={subType:s.NoScaleSubType.basic,paddings:20};this.config=o(o({},i),t),this._drawPointType=this._getPointType(s.PointType.empty,"none",this.config.tooltip),this._valueLocator=r.locator(t.value),this._textLocator=r.locator(t.text),t.color?this._colorLocator=r.locator(t.color):t.monochrome&&(this._colorLocator=function(i){return r.getColorShade(t.monochrome,2*e._getPercent(i))})},e.prototype._defaultLocator=function(t){return[this._valueLocator(t),this._textLocator(t)]},e.prototype._getPercent=function(t){return parseFloat(this._valueLocator(t))/this._sum},e}(i(47).default);e.default=a},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;io.maxWidth&&(o.width=o.maxWidth)}},e.countColumns=function(t,e){var i=0,n=0,o=0,r=!1,s=0,a=!1;return e.map(function(t){if(i=Math.max(i,t.header.length),o+=t.hidden?0:t.width,t.footer&&(n=Math.max(n,t.footer.length),a||(a=!0)),!r)for(var e=0,s=t.header;e=0?a-1:0,l=a+s+1,u=0,d=i.left,h=0;h0;h++)u++;return{xStart:u-1>=0?u-1:0,xEnd:u+r+1,yStart:c,yEnd:l}},e.getUnique=function(t,e){return t.map(function(t){return t[e]}).filter(function(t,e,i){return i.indexOf(t)===e}).sort()}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getWidth=function(t,e,i){return e?t.reduce(function(t,n,o){return t+=o>=i&&o1?"[]":"",a=0,c=t;a=0?e:-1},t.prototype.getId=function(t){if(this._order[t])return this._order[t].id},t.prototype.getLength=function(){return this._order.length},t.prototype.isDataLoaded=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this._order.length),u.isNumeric(t)&&u.isNumeric(e)?0===this._order.slice(t,e).filter(function(t){return t.$empty}).length:!this.find(function(t){return t.$empty})},t.prototype.filter=function(t,e){if(this.isDataLoaded()){if((e=u.extend({add:!1,multiple:!0},e)).add||(this._order=this._initOrder||this._order,this._initOrder=null),this._filters=this._filters||{},e.multiple&&t||(this._filters={}),t){if("function"==typeof t){this._filters._={match:"_",compare:t}}else t.match?(t.compare=t.compare||function(t,e){return t===e},this._filters[t.by]=t):delete this._filters[t.by];this._applyFilters()}this.events.fire(l.DataEvents.change)}else c.dhxWarning("the method doesn't work with lazyLoad")},t.prototype.find=function(t){for(var e in this._pull){var i=c.findByConf(this._pull[e],t);if(i)return i}return null},t.prototype.findAll=function(t){var e=[];for(var i in this._pull){var n=c.findByConf(this._pull[i],t);n&&e.push(n)}return e},t.prototype.sort=function(t){if(this.isDataLoaded()){if(t)this._sort.sort(this._order,t),this._initOrder&&this._initOrder.length&&this._sort.sort(this._initOrder,t);else{for(var e in this._order=[],this._pull)this._order.push(this._pull[e]);this._applyFilters()}this.events.fire(l.DataEvents.change)}else c.dhxWarning("the method doesn't work with lazyLoad")},t.prototype.copy=function(t,e,i,n){var o=this;return t instanceof Array?t.map(function(t,r){return o._copy(t,e,i,n,r)}):this._copy(t,e,i,n)},t.prototype.move=function(t,e,i,n){var o=this;return t instanceof Array?t.map(function(t,r){return o._move(t,e,i,n,r)}):this._move(t,e,i,n)},t.prototype.forEach=function(t){for(var e=0;ethis._order.length-1&&(e=this._order.length-1);for(var n=this._order.slice(t,e),o=[],r=t;r<=e;r++)o.push(i.call(this,this._order[r],r,n));return o},t.prototype.reduce=function(t,e){for(var i=0;i=0&&(this._order=this._order.filter(function(e){return e.id!==t}),delete this._pull[t]),this._initOrder&&this._initOrder.length&&(this._initOrder=this._initOrder.filter(function(e){return e.id!==t}))},t.prototype._parse_data=function(t){var e=this._order.length;this.config.prep&&(t=this.config.prep(t));for(var i=0,n=t;i=0&&t[i]?(this._pull[e.id]=e,t.splice(i,0,e)):(this._pull[e.id]=e,t.push(e))},t.prototype._applyFilters=function(){var t=this;if(this._filters&&Object.keys(this._filters).length){var e=this._order.filter(function(e){return Object.keys(t._filters).every(function(i){return e[i]?t._filters[i].compare(e[i],t._filters[i].match,e):t._filters[i].compare(e)})});this._initOrder||(this._initOrder=this._order),this._order=e}},t}();e.DataCollection=d},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;iwindow.innerWidth+window.pageXOffset&&(s=window.pageXOffset+t.left-i,o=r.RealPosition.left),{left:s,top:a=window.pageYOffset+t.top+(t.height-n)/2,pos:o};case r.Position.bottom:default:return(s=window.pageXOffset+t.left+(t.width-i)/2)+i>window.innerWidth+window.pageXOffset?s=window.innerWidth+window.pageXOffset-i:s<0&&(s=0),o=r.RealPosition.bottom,(a=window.pageYOffset+t.bottom)+n+8>window.innerHeight+window.pageYOffset&&(a=window.pageYOffset+t.top-n,o=r.RealPosition.top),{left:s,top:a,pos:o}}}e.findPosition=c;var l=document.createElement("div"),u=document.createElement("span");u.className="dhx_tooltip__text",l.appendChild(u),l.style.position="absolute";var d,h=null,f=!1,p=null,_=null;function v(t,e,i,n,o){void 0===o&&(o=!1);var s=t.getBoundingClientRect();u.textContent=e,document.body.appendChild(l),l.className="dhx_widget dhx_tooltip"+(o?" dhx_tooltip--forced":"");var a=l.getBoundingClientRect(),d=c(s,i,a.width,a.height),h=d.left,p=d.top,_=d.pos;switch(_){case r.RealPosition.bottom:case r.RealPosition.top:case r.RealPosition.left:case r.RealPosition.right:case r.RealPosition.center:l.style.left=h+"px",l.style.top=p+"px"}l.className+=" dhx_tooltip--"+_+" "+(n||""),f=!0,o||setTimeout(function(){l.className+=" dhx_tooltip--animate"})}function g(t,e,i){var n=i.force,o=i.showDelay,c=i.hideDelay,u=i.position,g=i.css;n||(_=setTimeout(function(){v(t,e,u||r.Position.bottom,g)},o||s));var m=function(){f&&function(t){h&&(p=setTimeout(function(){document.body.removeChild(l),f=!1,p=null},t||a))}(c),clearTimeout(_),t.removeEventListener("mouseleave",m),t.removeEventListener("blur",m),document.removeEventListener("mousedown",m),h=null,d=null};n&&v(t,e,u,g,n),t.addEventListener("mouseleave",m),t.addEventListener("blur",m),document.addEventListener("mousedown",m),d=m}function m(t,e){var i=o.toNode(e.node);i!==h&&(d&&(d(),d=null),h=i,p?(clearTimeout(p),p=null,g(i,t,n(n({},e),{force:!0}))):g(i,t,e))}function y(t){var e=o.locateNode(t,"dhx_tooltip_text");e&&m(e.getAttribute("dhx_tooltip_text"),{position:e.getAttribute("dhx_tooltip_position")||r.Position.bottom,node:e})}e.tooltip=m,e.enableTooltip=function(){document.addEventListener("mousemove",y)},e.disableTooltip=function(){document.removeEventListener("mousemove",y)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(22),o=i(7),r=function(){function t(t,e){var i=this;if(this.config=t,this.events=e.events,this._data=e,this._selected=[],this._lastShiftSelectedIndexes=[],this._data.events.on(o.DataEvents.removeAll,function(){i._selected=[]}),"string"==typeof this.config.multiselection){-1===["click","ctrlClick"].indexOf(this.config.multiselection)&&(this.config.multiselection=!1)}this._data.events.on(o.DataEvents.afterRemove,function(t){if(i._selected=i._selected.filter(function(e){return e!==t.id}),!i.config.multiselection||0===i.getId().length){var e=i._data.getId(i._lastSelectedIndex);if(e)i.add(e);else{var n=i._data.getId(i._data.getLength()-1);n&&i.add(n)}}})}return t.prototype.getId=function(){return this.config.multiselection?this._selected:this._selected[0]},t.prototype.getItem=function(){var t=this;if(this._selected.length){var e=this._selected.map(function(e){return t._data.getItem(e)});return this.config.multiselection?e:e[0]}return null},t.prototype.contains=function(t){return t?this._selected.indexOf(t)>-1:this._selected.length>0},t.prototype.remove=function(t){var e=this;if(t)return!t&&!this._selected.length||(t?this._unselectItem(t):(this._selected.forEach(function(t){return e._unselectItem(t)}),!0));this._data.map(function(t){t.$selected=!1,e._selected=[]})},t.prototype.add=function(t,e,i){var o=this;if(this.events.fire(n.SelectionEvents.beforeSelect))return t?void(this.config.multiselection?this._addMulti(t,e,i):this._addSingle(t,e)):(this._selected=[],void this._data.map(function(t){t.$selected=!0,o._selected.push(t.id)}))},t.prototype._addMulti=function(t,e,i){var o=this,r=this._data.getIndex(t);"click"!==this.config.multiselection&&!0!==this.config.multiselection||(i?(this._addWithShift(r),this.events.fire(n.SelectionEvents.afterSelect,[t])):(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[])),"ctrlClick"===this.config.multiselection&&(i||e||(this._data.map(function(t){t.$selected=!1,o._selected=[]}),this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]),i&&(this._addWithShift(r),this.events.fire(n.SelectionEvents.afterSelect,[t])),e&&(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]))},t.prototype._addWithShift=function(t){var e=this;t>=this._lastSelectedIndex&&(this._data.map(function(t,i){-1!==e._lastShiftSelectedIndexes.indexOf(i)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(i)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==i&&t!==e._lastSelectedIndex}))}),this._data.map(function(i,n){n>=e._lastSelectedIndex&&n<=t&&(i.$selected=!0,-1===e._selected.indexOf(i.id)&&e._selected.push(i.id),n!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(n)&&e._lastShiftSelectedIndexes.push(n))})),t<=this._lastSelectedIndex&&(this._data.map(function(t,i){-1!==e._lastShiftSelectedIndexes.indexOf(i)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(i)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==i&&t!==e._lastSelectedIndex}))}),this._data.map(function(i,n){n<=e._lastSelectedIndex&&n>=t&&(i.$selected=!0,-1===e._selected.indexOf(i.id)&&e._selected.push(i.id),n!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(n)&&e._lastShiftSelectedIndexes.push(n))}))},t.prototype._addSingle=function(t,e){this.remove(),this.config&&"ctrlClick"!==this.config.multiselection?this._selectItem(t):e&&this._selectItem(t)},t.prototype._isSelected=function(t){return-1!==this._selected.indexOf(t)},t.prototype._selectItem=function(t){this._selected.push(t),this._data.update(t,{$selected:!0}),this._lastSelectedIndex=this._data.getIndex(t),this.events.fire(n.SelectionEvents.afterSelect,[t])},t.prototype._unselectItem=function(t){return!!this.events.fire(n.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=this._selected.filter(function(e){return e!==t}),this.events.fire(n.SelectionEvents.afterUnSelect,[t]),!0)},t}();e.Selection=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeHide="beforeHide",t.beforeShow="beforeShow",t.afterHide="afterHide",t.afterShow="afterShow",t.click="click"}(e.PopupEvents||(e.PopupEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.vertical="vertical",t.horizontal="horizontal"}(e.Direction||(e.Direction={})),function(t){t.change="change",t.mousedown="mousedown",t.mouseup="mouseup"}(e.SliderEvents||(e.SliderEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={hours:"Hours",minutes:"Minutes",save:"save"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.apply="apply",t.beforeClose="beforeClose",t.afterClose="afterClose",t.close="close",t.save="save"}(e.TimepickerEvents||(e.TimepickerEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.calendar="calendar",t.years="year",t.months="month",t.timepicker="timepicker"}(e.ViewMode||(e.ViewMode={})),function(t){t.change="change",t.beforeChange="beforechange",t.modeChange="modeChange",t.monthSelected="monthSelected",t.yearSelected="yearSelected",t.cancelClick="cancelClick",t.dateMouseOver="dateMouseOver",t.dateHover="dateHover"}(e.CalendarEvents||(e.CalendarEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.apply="apply",t.cancelClick="cancelClick",t.modeChange="modeChange",t.selectClick="selectClick",t.colorChange="colorChange",t.viewChange="viewChange"}(e.ColorpickerEvents||(e.ColorpickerEvents={})),function(t){t.palette="palette",t.picker="picker"}(e.ViewsMode||(e.ViewsMode={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),o=i(0),r=i(5),s=i(2),a=function(t){return t.toString()};e.bottom=function(t,e,i,c){var l=e.title,u=e.textPadding,d=e.scalePadding,h=e.textTemplate,f=e.showText,p=e.scaleRotate,_=h||a,v=[],g=0;if(f){g=u;var m=p&&!isNaN(p),y=c+u;v=t.map(function(t){var e=t[0],i=m?"rotate("+p+" "+e+" "+y+")":"",n=["scale-text","top-text"];if(m){var a=p%360;n.push(r.getClassesForRotateScale(s.Position.bottom,a))}return o.sv("text",{x:e,y:y,class:n.join(" "),transform:i},[r.verticalCenteredText(_(t[1]))])})}var b=n.uid(),x=null,w=o.sv("path",{class:"main-scale",d:"M0 "+c+" H"+(i-.5),id:b});return l&&(x=o.sv("text",{dx:i/2,dy:d+g},[o.sv("textPath",{href:"#"+b,class:"scale-title "},l)])),o.sv("g",[w,x].concat(v))},e.bottomGrid=function(t,e,i,n){for(var r=n.dashed,s=n.grid,a=n.targetLine,c=n.targetValue,l=t.length,u=[],d="grid-line "+(r?"dash-line":""),h=0;h=0;_--){var v=n[_];p+=_===h.length-1?"M"+v[0]+" "+v[1]+" ":"L"+v[0]+" "+v[1]+" "}p+=h.map(function(t,e){return e?"L "+t[0]+" "+t[1]:"V "+t[1]}).join(" ")+"Z"}else p+=h.map(function(t,i){return i?"L"+t[0]+" "+t[1]:"M0 "+e+" L0 "+t[1]+" L"+t[0]+" "+t[1]}).join(" ")+"L"+t+" "+f[1]+" V "+e;if(d){var g=h.length-1,m=h.map(function(t,e){return(e?"L":"M")+(t[0]+function(t){return t===g?-.5:t?0:.5}(e))+" "+t[1]}).join(" "),y=r.sv("path",{d:m,"stroke-width":d,stroke:u,fill:"none",class:o});i.push(y)}var b=r.sv("path",{id:"seria"+a,d:p,class:o,fill:c,"fill-opacity":l,stroke:"none"});return i.push(b),i},e.prototype._setDefaults=function(t){var e={alpha:.3,strokeWidth:2,fill:t.color||"#5E83BA",color:"#5E83BA",active:!0,tooltip:!0,pointType:a.PointType.empty};this.config=o(o({},e),t);var i=this.config.tooltip,n=this.config.pointType,r=this.config.pointColor||this.config.color;n&&(this._drawPointType=this._getPointType(n,r,i))},e}(i(46).default);e.default=c},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i16}(t,e)?s.sv("text",r._text(t,v(e),f),[h?a.verticalCenteredText(h(i)):a.verticalCenteredText(i)]):null});p.push.apply(p,m)}return p},e.prototype._getText=function(t){return t[4].toString()},e.prototype._setDefaults=function(t){var e={barWidth:30,alpha:1,active:!0,tooltip:!0,pointType:c.PointType.empty};this.config=o(o({},e),t);var i=this.config.tooltip,n=this.config.pointType,s=this.config.pointColor||this.config.color;if(n&&(this.config.pointType=n,this._drawPointType=this._getPointType(n,s,i)),this.config.gradient){var l="gradient"+r.uid(),u=this.config.gradient(this.config.fill);this._gradient=function(){return a.linearGradient(u,l)},this.config.fill="url(#"+l+")"}},e}(i(46).default);e.default=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e){var i,n=t.length;if(n<3)i=t;else{var o=t[0],r=t[0],s=t[1],a=t[2];i=[t[0].slice(0,2)];for(var c=1;c4?"C"+u[0]+" "+u[1]+"\n\t\t\t\t"+u[2]+" "+u[3]+"\n\t\t\t\t"+u[4]+" "+u[5]:"S"+u[0]+" "+u[1]+"\n\t\t\t\t"+u[2]+" "+u[3]:(e?"L":"M")+u[d-2]+" "+u[d-1]}return l}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.open="open",t.input="input",t.beforeClose="beforeClose",t.afterClose="afterClose",t.close="close"}(e.ComboboxEvents||(e.ComboboxEvents={})),function(t){t[t.default=0]="default",t[t.error=1]="error",t[t.success=2]="success"}(e.ComboState||(e.ComboState={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={simpleVaultText:"Drag & drop files or folders here or",simpleVaultLabel:"browse files"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),o=i(0),r=i(54),s=i(20),a=i(10),c=i(190),l=i(2);function u(t,e,i,n,o){e=l.locateNodeByClassName(o.target,"dhx_grid-fixed-cols-wrap")?0:e;var r=l.locateNodeByClassName(o.target,"dhx_grid-cell");if(r){var s=r.parentNode,a=s.parentNode,c=Array.prototype.indexOf.call(s.childNodes,r),u=i.columns[e+c],d=Array.prototype.indexOf.call(a.childNodes,s),h=i.data[t+d];i.events.fire(n,[h,u,o])}}e.getHandlers=function(t,e,i){return{onclick:[u,t,e,i,a.GridEvents.cellClick],onmouseover:[u,t,e,i,a.GridEvents.cellMouseOver],onmousedown:[u,t,e,i,a.GridEvents.cellMouseDown],ondblclick:[u,t,e,i,a.GridEvents.cellDblClick],oncontextmenu:[u,t,e,i,a.GridEvents.cellRightClick]}},e.getCells=function(t){if(!t.data||!t.columns)return[];var e=t.$positions,i=t.data?t.data.slice(e.yStart,e.yEnd):[],r=t.columns.slice(e.xStart,e.xEnd);return i.map(function(e,a){var l=i.length-1===a,u="";return t.rowCss&&(u=t.rowCss(e)),e.$css&&(u+=e.$css),o.el(".dhx_grid-row",{style:{height:l?t.rowHeight+1:t.rowHeight},dhx_id:e.id,class:u,_key:e.id,_flags:o.KEYED_LIST},r.map(function(i){if(!i.hidden){var r=i.template?i.template(e[i.id],e,i):function(t){return"boolean"!=typeof t&&"boolean"!==i.type||"string"==typeof t?t||0===t?t:"":""+Boolean(t)}(e[i.id]);"string"==typeof r&&(r=o.el("div.dhx_cell-content",t.htmlEnable&&!1!==i.htmlEnable||i.htmlEnable?{".innerHTML":r}:r));var a=((i.$cellCss[e.id]||"")+" dhx_"+i.type+"-cell").replace(/\s+/g," "),l=i.width,u=t.$editable&&t.$editable.row===e.id&&t.$editable.col===i.id;if((u||"boolean"===i.type&&(t.editable||i.editable))&&(t.splitAt&&t.columns.length!==t.splitAt&&t.columns.indexOf(i)=0;k--)w+=i[k].width;var C=g.header[0].text?"dhx_span-cell":"dhx_span-cell dhx_span-cell--title";p&&(C+=" "+p),0===v&&(C+=" dhx_span-first-row"),0===_&&(C+=" dhx_span-first-col");var E=_===i.length-1,S=_+f===i.length;(E||S)&&(C+=" dhx_span-last-col"),C+=f?" dhx_span-string-cell":" dhx_span-"+(g.type||"string")+"-cell";var O=f>1?r.getWidth(t.columns,f,_):g.width;e.push(o.el("div",{class:C,style:{width:O,height:(h||1)*c,top:x,left:w,lineHeight:t.rowHeight+"px"},title:s.removeHTMLTags(b)},[y]))},u=0;u0)&&(y=null)),e.content?function(t,e,i,o,s){void 0===s&&(s="");var a=i[o+"RowHeight"]-10+1||31,c=e.type?"dhx_"+e.type+"-cell":"dhx_string_cell";return r.el(".dhx_grid-"+o+"-cell.dhx_grid-custom-content-cell."+c,n({class:s,style:{width:e.width,lineHeight:a+"px"}},d(e,o,i)),[l.content[t.content]&&l.content[t.content].toHtml(e,i)])}(e,p,t,i,f):p.hidden?null:r.el(".dhx_grid-"+i+"-cell",n(n({class:f.trim(),dhx_id:p.id,_key:h,style:{width:p.width,lineHeight:s+1+"px"}},d(p,i,t)),{title:a.removeHTMLTags(e.text)}),[r.el("div",{class:"dhx_grid-header-cell-text"},[r.el("div",{".innerHTML":e.text}),y||null]),v&&r.el("div",{class:_})])}))})}function f(t,e){var i=t.columns,n=a.transpose(i.map(function(t){return t[e.name]||[]})),o=t[e.name+"RowHeight"]||40,c=0;return n.map(function(n,l){return c=0,r.el(".dhx_span-row",{style:{top:o*l+"px",height:o}},n.map(function(n,u){var d=i[u];c+=d.hidden?0:d.width;var h=0===u?"dhx_first-column-cell":"",f=u===i.length-1||(n.colspan||0)+(u-1)>=i.length-1?"dhx_last-column-cell":"",p=o;n.rowspan&&(p=p*n.rowspan-1);var _=a.isSortable(t,d)&&n.rowspan&&n.text&&"footer"!==e.name,v="dxi dxi-sort-variant dhx_grid-sort-icon";t.sortBy&&""+d.id===t.sortBy&&!n.content&&(v+=" dhx_grid-sort-icon--"+(t.sortDir||"asc"));var g=h+" "+f+" "+(n.rowspan?"dhx_span-cell__rowspan":"");_&&(g+=" dhx_grid-header-cell dhx_grid-header-cell--sortable"),n.content||(g+=" dhx_grid-header-cell--"+("number"===d.type?"align_right":"align_left")+" ");var m="";return c-d.width>0&&(m="1px solid #e4e4e4"),!n.colspan&&!n.rowspan||d.hidden?null:r.el(".dhx_span-cell",{style:{width:s.getWidth(t.columns,n.colspan,u),height:p,left:c-d.width,borderLeft:m,top:o*l,lineHeight:p+"px"},class:g.trim(),title:a.removeHTMLTags(n.text),dhx_id:d.id},[r.el("div",{".innerHTML":n.text}),_&&r.el("div",{class:v})])}).filter(function(t){return t}))})}e.getRows=h,e.getSpans=f,e.getFixedRows=function(t,e){var i,s=h(t,e),a=f(t,e),c=null;"footer"!==e.name||e.sticky||(c=t.splitAt>=0&&h(n(n({},t),{currentColumns:t.columns.slice(0,t.splitAt),$positions:n(n({},t.$positions),{xStart:0,xEnd:t.splitAt})}),e));var l,u=((i={position:"sticky"})[e.position]=0,i);return e.sticky||(u.left=-t.scroll.left,l=-t.scroll.left,u.position="relative"),r.el(".dhx_"+e.name+"-wrapper",{class:e.sticky?"":"dhx_compatible-"+e.name,style:n(n({},u),{left:e.sticky?l:0,height:t[e.name+"Height"],width:e.sticky?t.$totalWidth:e.wrapper.width-2})},[r.el(".dhx_grid-"+e.name,{style:{height:t[e.name+"Height"],left:l,paddingLeft:e.shifts.x,width:t.$totalWidth}},[r.el(".dhx_"+e.name+"-rows",o(s)),r.el(".dhx_"+e.name+"-spans",{style:{marginLeft:-e.shifts.x}},a),c&&r.el(".dhx_"+e.name+"-fixed-cols",{style:{position:"absolute",top:0,left:t.scroll.left+"px",height:"100%"}},c)]),r.el("div",{style:{width:t.$totalWidth}})])}},function(t,e,i){"use strict";var n=this&&this.__spreadArrays||function(){for(var t=0,e=0,i=arguments.length;e=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},i(88),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,i(33))},function(t,e,i){(function(t,e){!function(t,i){"use strict";if(!t.setImmediate){var n,o=1,r={},s=!1,a=t.document,c=Object.getPrototypeOf&&Object.getPrototypeOf(t);c=c&&c.setTimeout?c:t,"[object process]"==={}.toString.call(t.process)?n=function(t){e.nextTick(function(){u(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,i=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=i,e}}()?function(){var e="setImmediate$"+Math.random()+"$",i=function(i){i.source===t&&"string"==typeof i.data&&0===i.data.indexOf(e)&&u(+i.data.slice(e.length))};t.addEventListener?t.addEventListener("message",i,!1):t.attachEvent("onmessage",i),n=function(i){t.postMessage(e+i,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){u(t.data)},n=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;n=function(e){var i=a.createElement("script");i.onreadystatechange=function(){u(e),i.onreadystatechange=null,t.removeChild(i),i=null},t.appendChild(i)}}():n=function(t){setTimeout(u,0,t)},c.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),i=0;i1)for(var i=1;i0&&i[n-1].type===e?(i[n-1].body+=o.body,i.splice(n--,1)):H(o,t,n,null):H(o,t,n,null))}}(t)}}var F={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,order:!0,lineClamp:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};function R(t,e){return isNaN(e)||F[t]?e:e+"px"}function B(t,e){var i=(t.attrs||a).style,n=e?(e.attrs||a).style:null;if(null==i||p(i))t.el.style.cssText=i;else{for(var o in i){var r=i[o];(null==n||null!=r&&r!==n[o])&&(t.el.style[o]=R(o,r))}if(n)for(var s in n)null==i[s]&&(t.el.style[s]="")}}var N=[];function $(t,e,i,n,o){if(null!=t){var r=i.hooks[e];if(r){if("d"!==e[0]||"i"!==e[1]||"d"!==e[2])return r(i,n);o?k(i.parent)&&r(i,n):N.push([r,i,n])}}}function z(t){var e;if(N.length)for(k(t.node);e=N.shift();)e[0](e[1],e[2])}var W=r?document:null;function Y(t){return t.nextSibling}function G(t,e,i){var n=e._node,o=n.vm;if(l(n.body))if((n.flags&D)===D)for(var r=0;r>1]===t)return i;e[i]0&&(n[r]=o[e-1]),o[e]=r)}}for(e=o.length,i=o[e-1];e-- >0;)o[e]=i,i=n[i];return o}(r).map(function(t){return r[t]}),l=0;lu&&(y=null,_=!1):w=!0,u>100&&w&&++b%10==0))for(;k1){var r=1;d(n[1])&&(i=n[1],r=2),e=o===r+1&&(p(n[r])||l(n[r])||i&&(i._flags&A)===A)?n[r]:v(n,r)}return L(t,i,e)}return S.patch=function(t,e){!function(t,e,i){if(null!=e.type){if(null!=t.vm)return;H(e,t.parent,t.idx,null),t.parent.body[t.idx]=e,bt(e,t),i&&k(e),z(O(e))}else{var n=Object.create(t);n.attrs=_({},t.attrs);var o=_(t.attrs,e);if(null!=t._class){var r=o.class;o.class=null!=r&&""!==r?t._class+" "+r:t._class}st(t,n),i&&k(t)}}(this,t,e)},kt.emit=function(t){var e=this,i=e,n=v(arguments,1).concat(i,i.data);do{var o=e.onemit,r=o?o[t]:null;if(r){r.apply(e,n);break}}while(e=e.parent());Z[t]&&Z[t].apply(e,n)},kt.onemit=null,kt.body=function(){return function t(e,i){var n=e.body;if(l(n))for(var o=0;o0?1:-1)*o.config.speed,i=o._getRefs().area,n=i.scrollHeight-o._runnerHeight,r=o._scrollTop+e;i.scrollTop=r<0?0:r>n?n:r,o._update()},i.onmousedownRunner=function(t){t.preventDefault();var e=o._getRefs(),i=e.area,n=e.runner,r=i.getBoundingClientRect(),s=r.top+window.pageYOffset,a=r.bottom+window.pageYOffset,c=i.scrollHeight-o._runnerHeight,l=t.pageY-n.getBoundingClientRect().top-window.pageYOffset,u=function(t){var e=t.pageY-l;i.scrollTop=e<=s?0:e>a?c:(e-s)/o._visibleArea,o._update()},d=function(){document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",d),document.body.classList.remove("dhx-no-select")};document.body.classList.add("dhx-no-select"),document.addEventListener("mousemove",u),document.addEventListener("mouseup",d)},i.onmousedownTrack=function(t){if(!t.target.classList.contains("scroll-runner")){t.preventDefault();var e=function(){document.removeEventListener("mouseup",e),window.clearInterval(c)},i=o._getRefs().area,n=t.target.getBoundingClientRect().top+window.pageYOffset,r=i.scrollHeight-o._runnerHeight,s=t.pageY,a=function(){var t;if(sn+o._runnerTop+o._runnerHeight))return;(t=o._scrollTop+i.clientHeight)>r&&(t=r)}i.scrollTop=t,o._update()};a();var c=setInterval(a,100);document.addEventListener("mouseup",e)}},i)}return t.prototype.render=function(t){var e,i=this;return 0===this._scrollWidth?t:o.el(".scroll-view-wrapper",{style:{width:"100%",height:"100%",overflow:"hidden",position:"relative"}},[o.el(".scroll-view",{onscroll:this._handlers.onscroll,_ref:"scroll-view",_hooks:{didInsert:function(){i._update()},didRecycle:function(){i._update()}},style:{height:"100%",width:"calc(100% + "+this._scrollWidth+"px)",overflowY:"scroll","-ms-overflow-style":"scrollbar"}},[t]),o.el(".y-scroll",(e={onmousedown:this._handlers.onmousedownTrack},e[this._wheelName]=this._handlers[this._wheelName],e.style={width:"10px",height:"100%",right:0,top:0,position:"absolute"},e),[o.el(".scroll-runner",{_ref:"scroll-runner",onmousedown:this._handlers.onmousedownRunner,style:{height:this._runnerHeight+"px",right:"2px",top:this._runnerTop,width:"6px",position:"absolute"}})])])},t.prototype._update=function(){var t=this._getRefs();if(t){var e=t.area,i=t.runner;this._visibleArea=e.clientHeight/e.scrollHeight,this._scrollTop=e.scrollTop,this._runnerTop=this._scrollTop*this._visibleArea,this._visibleArea<1?this._runnerHeight=e.clientHeight*this._visibleArea:this._runnerHeight=0,i.style.top=this._runnerTop+"px",i.style.height=this._runnerHeight+"px"}},t.prototype._getRefs=function(){var t=this._getRootView();if(t.refs&&t.refs["scroll-view"]&&t.refs["scroll-runner"])return{area:t.refs["scroll-view"].el,runner:t.refs["scroll-runner"].el}},t}();e.ScrollView=s},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(100),r=i(0),s=function(t){function e(e,i){var n=t.call(this,e,i)||this;if(n._root=n.config.parent||n,n._all={},n._parseConfig(),n.config.views&&(n.config.activeView=n.config.activeView||n._cells[0].id,n._isViewLayout=!0),!i.parent){var o=r.create({render:function(){return n.toVDOM()}},n);n.mount(e,o)}return n}return n(e,t),e.prototype.cell=function(t){return this._root._all[t]},e.prototype.toVDOM=function(){if(this._isViewLayout){var e=[this.cell(this.config.activeView).toVDOM()];return t.prototype.toVDOM.call(this,e)}var i=[];return this._cells.forEach(function(t){var e=t.toVDOM();Array.isArray(e)?i=i.concat(e):i.push(e)}),t.prototype.toVDOM.call(this,i)},e.prototype.removeCell=function(t){var e=this.config.parent||this;if(e!==this)return e.removeCell(t);var i=this.cell(t);if(i){var n=i.getParent();delete this._all[t],n._cells=n._cells.filter(function(e){return e.id!==t}),n.paint()}},e.prototype.addCell=function(t,e){void 0===e&&(e=-1);var i=this._createCell(t);e<0&&(e=this._cells.length+e+1),this._cells.splice(e,0,i),this.paint()},e.prototype.getId=function(t){return t<0&&(t=this._cells.length+t),this._cells[t]?this._cells[t].id:void 0},e.prototype.getRefs=function(t){return this._root.getRootView().refs[t]},e.prototype._getCss=function(e){var i=this._xLayout?"dhx_layout-columns":"dhx_layout-rows",n=this.config.align?" "+i+"--"+this.config.align:"";if(e)return i+" dhx_layout-cell"+(this.config.align?" dhx_layout-cell--"+this.config.align:"");var o=this.config.parent?t.prototype._getCss.call(this):"dhx_widget dhx_layout",r=this.config.parent?"":" dhx_layout-cell";return o+(this.config.full?r:" "+i)+n},e.prototype._parseConfig=function(){var t=this,e=this.config,i=e.rows||e.cols||e.views||[];this._xLayout=!e.rows,this._cells=i.map(function(e){return t._createCell(e)})},e.prototype._createCell=function(t){var i;return t.rows||t.cols||t.views?(t.parent=this._root,i=new e(this,t)):i=new o.Cell(this,t),this._root._all[i.id]=i,i},e}(o.Cell);e.Layout=s},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ie.size&&(n=e.size-e.resizerLength),e.mode){case r.pixels:t.config[o]=n-e.resizerLength/2+"px",e.nextCell.config[o]=e.size-n-e.resizerLength/2+"px";break;case r.mixedpx1:t.config[o]=n-e.resizerLength/2+"px";break;case r.mixedpx2:e.nextCell.config[o]=e.size-n-e.resizerLength/2+"px";break;case r.percents:t.config[o]=n/e.size*e.percentsum+"%",e.nextCell.config[o]=(e.size-n)/e.size*e.percentsum+"%";break;case r.mixedperc1:t.config[o]=n/e.size*e.percentsum+"%";break;case r.mixedperc2:e.nextCell.config[o]=(e.size-n)/e.size*e.percentsum+"%"}t.paint()}};this._handlers={enterCollapse:function(e){13===e.keyCode&&t._handlers.collapse()},collapse:function(){t.config.collapsable&&(t.config.collapsed=!t.config.collapsed,t.paint())}},this._resizerHandlers={onmousedown:function(o){if(3!==o.which){e.isActive&&i(),document.body.classList.add("dhx_no-select--resize");var s=t.getCellView(),a=t._getNextCell(),c=a.getCellView(),l=t._getResizerView(),u=s.el.getBoundingClientRect(),d=l.el.getBoundingClientRect(),h=c.el.getBoundingClientRect();if(e.xLayout=t._isXDirection(),e.left=u.left+window.pageXOffset,e.top=u.top+window.pageYOffset,e.range=function(t,e,i){return void 0===i&&(i=!0),i?{min:t.left+window.pageXOffset,max:e.right+window.pageXOffset}:{min:t.top+window.pageYOffset,max:e.bottom+window.pageYOffset}}(u,h,e.xLayout),e.size=e.range.max-e.range.min,e.isActive=!0,e.nextCell=a,e.resizerLength=e.xLayout?d.width:d.height,e.mode=function(t,e,i){var n=t?"width":"height",o=e[n]&&-1!==e[n].indexOf("%"),s=i[n]&&-1!==i[n].indexOf("%"),a=e[n]&&-1!==e[n].indexOf("px"),c=i[n]&&-1!==i[n].indexOf("px");return o&&s?r.percents:a&&c?r.pixels:a&&!c?r.mixedpx1:c&&!a?r.mixedpx2:o?r.mixedperc1:s?r.mixedperc2:r.unknown}(e.xLayout,t.config,a.config),e.mode===r.percents){var p=e.xLayout?"width":"height";e.percentsum=parseFloat(t.config[p])+parseFloat(a.config[p])}if(e.mode===r.mixedperc1){p=e.xLayout?"width":"height";e.percentsum=1/(u[p]/(e.size-e.resizerLength))*parseFloat(t.config[p])}if(e.mode===r.mixedperc2){p=e.xLayout?"width":"height";e.percentsum=1/(h[p]/(e.size-e.resizerLength))*parseFloat(a.config[p])}document.addEventListener("mouseup",i),document.addEventListener("mousemove",n)}},ondragstart:function(t){return t.preventDefault()}}},e.prototype._getCollapseIcon=function(){return this._isXDirection()&&this.config.collapsed?"dxi dxi-chevron-right":this._isXDirection()&&!this.config.collapsed?"dxi dxi-chevron-left":!this._isXDirection()&&this.config.collapsed?"dxi dxi-chevron-up":this._isXDirection()||this.config.collapsed?void 0:"dxi dxi-chevron-down"},e.prototype._isLastCell=function(){var t=this._parent;return t&&t._cells.indexOf(this)===t._cells.length-1},e.prototype._getNextCell=function(){var t=this._parent,e=t._cells.indexOf(this);return t._cells[e+1]},e.prototype._getResizerView=function(){return this._parent.getRefs("resizer_"+this._uid)},e.prototype._isXDirection=function(){return this._parent&&this._parent._xLayout},e.prototype._calculateStyle=function(){var t=this.config;if(t){var e={};return this._isXDirection()?(void 0===t.width||t.collapsed||(e.flexBasis=t.width,e.width=t.width),void 0!==t.height&&(e.height=t.height)):(void 0===t.height||t.collapsed||(e.flexBasis=t.height,e.height=t.height),void 0!==t.width&&(e.width=t.width)),e}},e}(c.View);e.Cell=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),o=i(33),r=new WeakMap,s=new Map;function a(t,e){e&&clearTimeout(r.get(t));var i=t.parentNode,n=i.getAttribute("data-position"),o=i.parentNode,a=s.get(o);if(a){var c=a[n];if(c){var l=c.stack,u=l.indexOf(t);return-1!==u?(i.removeChild(t),l.splice(u,1),void(0===l.length&&o.removeChild(i))):void 0}}}function c(t,e){var i=document.createElement("div");return i.setAttribute("data-position",e),i.className="dhx_message-container dhx_message-container--"+e+(t===document.body?" dhx_message-container--in-body":""),i}e.message=function(t){var e;"string"==typeof t&&(t={text:t}),t.position=t.position||o.MessageContainerPosition.topRight;var i=document.createElement("div");i.className="dhx_message "+(t.css||""),t.html?i.innerHTML=t.html:i.innerHTML=''+t.text+"\n\t\t"+(t.icon?'':"");var l=t.node?n.toNode(t.node):document.body;"static"===getComputedStyle(l).position&&(l.style.position="relative");var u=s.get(l);u?u[t.position]||(u[t.position]={stack:[],container:c(l,t.position)}):s.set(l,((e={})[t.position]={stack:[],container:c(l,t.position)},e));var d=s.get(l)[t.position],h=d.stack,p=d.container;if(0===h.length&&l.appendChild(p),h.push(i),p.appendChild(i),t.expire){var f=setTimeout(function(){return a(i)},t.expire);r.set(i,f)}i.onclick=function(){return a(i,!0)}}},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(34),o=i(59);e.alert=function(e){var i=e.buttons&&e.buttons[0]?e.buttons[0]:n.default.apply,r=o.blockScreen(e.blockerCss);return new t(function(t){var n=document.createElement("div");n.className="dhx_alert "+(e.css||""),n.innerHTML="\n\t\t\t"+(e.header?'
'+e.header+"
":"")+"\n\t\t\t"+(e.text?'
'+e.text+"
":"")+'\n\t\t\t",document.body.appendChild(n),n.querySelector(".dhx_alert__apply-button").focus(),n.querySelector("button").addEventListener("click",function(){r(),document.body.removeChild(n),t(!0)})})}}).call(this,i(14))},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(34),o=i(59);e.confirm=function(e){var i=e.buttons&&e.buttons[0]?e.buttons[0]:n.default.apply,r=e.buttons&&e.buttons[1]?e.buttons[1]:n.default.reject,s=o.blockScreen(e.blockerCss);return new t(function(t){var n=document.createElement("div");n.className="dhx_alert dhx_alert--confirm"+(e.css?" "+e.css:""),n.innerHTML="\n\t\t"+(e.header?'
'+e.header+"
":"")+"\n\t\t"+(e.text?'
'+e.text+"
":"")+'\n\t\t\t",document.body.appendChild(n),n.querySelector(".dhx_alert__confirm-reject").focus();var o=function(e){"BUTTON"===e.target.tagName&&function(e){s(),n.removeEventListener("click",o),document.body.removeChild(n),t(e)}(e.target.classList.contains("dhx_alert__confirm-aply"))};n.addEventListener("click",o)})}}).call(this,i(14))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(1),r=i(0),s=i(3),a=i(15),c=i(19),l=function(t){function e(e,i){var n=t.call(this,e,o.extend({navigationType:"click"},i))||this;n._currentRoot=null;return n.mount(e,r.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.getState=function(){var t={};for(var e in this.data.eachChild(this.data.getRoot(),function(e){e.twoState&&!e.group?t[e.id]=e.active:e.type!==a.ItemType.input&&e.type!==a.ItemType.selectButton||(t[e.id]=e.value)},!1),this._groups)this._groups[e].active&&(t[e]=this._groups[e].active);return t},e.prototype.setState=function(t){for(var e in t)if(this._groups&&this._groups[e])this._groups[e].active&&(this.data.update(this._groups[e].active,{active:!1}),this._groups[e].active=t[e],this.data.update(t[e],{active:!0}));else{var i=this.data.getItem(e);i.type===a.ItemType.input||i.type===a.ItemType.selectButton?this.data.update(e,{value:t[e]}):this.data.update(e,{active:t[e]})}},e.prototype._customHandlers=function(){var t=this;return{input:function(e){var i=s.locate(e);t.data.update(i,{value:e.target.value})},tooltip:function(e){var i=s.locateNode(e);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);o.tooltip&&c.tooltip(o.tooltip,{node:i,position:c.Position.bottom})}}}},e.prototype._getFactory=function(){return a.createFactory({widget:this,defaultType:a.ItemType.navItem,allowedTypes:[a.ItemType.button,a.ItemType.customHTMLButton,a.ItemType.imageButton,a.ItemType.input,a.ItemType.selectButton,a.ItemType.separator,a.ItemType.spacer,a.ItemType.title,a.ItemType.navItem,a.ItemType.menuItem],widgetName:"toolbar"})},e.prototype._draw=function(){var t=this;return r.el("nav.dhx_widget.dhx_toolbar",{class:this.config.css?this.config.css:""},[r.el("ul.dhx_navbar.dhx_navbar--horizontal",{dhx_widget_id:this._uid,tabindex:0,onclick:this._handlers.onclick,onmousedown:this._handlers.onmousedown,oninput:this._handlers.input,onmouseover:this._handlers.tooltip,_hooks:{didInsert:function(e){e.el.addEventListener("keyup",function(e){if(9===e.which){var i=s.locateNode(document.activeElement);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);o.tooltip&&c.tooltip(o.tooltip,{node:i,position:c.Position.bottom,force:!0})}}},!0)}}},this.data.map(function(e){return t._factory(e)},this.data.getRoot(),!1))])},e.prototype._getMode=function(t,e){return t.id===e?"bottom":"right"},e.prototype._close=function(){this._activePosition=null,this._currentRoot=null,t.prototype._close.call(this)},e.prototype._setRoot=function(t){this.data.getParent(t)===this.data.getRoot()&&(this._currentRoot=t)},e}(a.Navbar);e.Toolbar=l},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i50&&(r-=55),o=setTimeout(s,r)},a=function(){clearTimeout(o),document.removeEventListener("mouseup",a)};s(),document.addEventListener("mouseup",a)}}}},this._customHandlers())},e.prototype._initEvents=function(){var t=this,e=null;this.data.events.on(h.DataEvents.change,function(){t.paint(),e&&clearTimeout(e),e=setTimeout(function(){var i={};t.data.eachChild(t.data.getRoot(),function(t){t.group&&(t.twoState=!0,function(t,e){t[e.group]?(e.active&&(t[e.group].active=e.id),t[e.group].elements.push(e.id)):t[e.group]={active:e.active?e.id:null,elements:[e.id]}}(i,t))},!0),t._groups=i,t._resetHotkeys(),e=null,t.paint()},100)}),this.events.on(h.NavigationBarEvents.click,function(e){var i=t.data.getItem(e),n=t.data.getItem(i.parent);if(n&&n.type===h.ItemType.selectButton&&t.data.update(i.parent,{value:i.value,icon:i.icon}),i.group){var o=t._groups[i.group];o.active&&t.data.update(o.active,{active:!1}),o.active=i.id,t.data.update(i.id,{active:!0})}}),this._customInitEvents()},e.prototype._getMode=function(t,e,i){return void 0===i&&(i=!1),t.parent===e?"bottom":"right"},e.prototype._drawMenuItems=function(t,e){var i=this;return void 0===e&&(e=!0),this.data.map(function(t){return i._factory(t,e)},t,!1)},e.prototype._setRoot=function(t){},e.prototype._getParents=function(t,e){var i=[],n=!1,o=this.data.getItem(t),r=o&&o.disabled;return this.data.eachParent(t,function(t){t.id===e?(i.push(t.id),n=!0):n||i.push(t.id)},!r),this._isContextMenu&&this._activePosition&&i.push(e),i},e.prototype._listenOuterClick=function(){this._documentHaveListener||(document.addEventListener("click",this._documentClick,!0),this._documentHaveListener=!0)},e.prototype._customInitEvents=function(){},e.prototype._drawPopups=function(){var t=this,e=this._activeMenu;if(!this._isContextMenu&&!e)return null;var i=this._currentRoot;if(this._isContextMenu&&!this._activePosition)return null;var n=this._getParents(e,i);return this._activeParents=n,n.forEach(function(e){return t.data.exists(e)&&t.data.update(e,{$activeParent:!0},!1)}),n.map(function(e){if(!t.data.haveItems(e))return null;var n=t.data.getItem(e)||t._rootItem;return s.el("ul",{class:"dhx_widget dhx_menu"+(t.config.menuCss?" "+t.config.menuCss:""),_key:e,_hooks:{didInsert:function(o){var r=o.el.getBoundingClientRect(),s=r.width,a=r.height,l=t._isContextMenu&&t._activePosition&&e===i?t._activePosition:n.$position,u=t._getMode(n,i,l===t._activePosition),d=c.calculatePosition(l,{mode:u,width:s,height:a});n.$style=d,o.patch({style:d})},didRecycle:function(o,r){if(t._isContextMenu&&t._activePosition&&e===i){var s=r.el.getBoundingClientRect(),a=s.width,l=s.height,u=c.calculatePosition(t._activePosition,{mode:t._getMode(n,i,!0),width:a,height:l});n.$style=u,r.patch({style:u})}}},tabindex:0,style:n.$style||{position:"absolute"}},t._drawMenuItems(e))}).reverse()},e.prototype._onMenuItemClick=function(t,e){var i=this.data.getItem(t);i.disabled||(i.twoState&&this.data.update(i.id,{active:!i.active}),this.events.fire(h.NavigationBarEvents.click,[t,e]),this._close())},e.prototype._activeItemChange=function(t){var e=this;if(this._activeParents){var i=this._getParents(t,this._currentRoot);this._activeParents.forEach(function(t){e.data.exists(t)&&-1===i.indexOf(t)&&e.data.update(t,{$activeParent:!1},!1)})}t&&!this._documentHaveListener&&this._listenOuterClick(),t&&this.data.haveItems(t)?(this.events.fire(h.NavigationBarEvents.openMenu,[t]),this._activeMenu=t,clearTimeout(this._currentTimeout),this.paint()):(this._activeMenu=t,clearTimeout(this._currentTimeout),this._currentTimeout=setTimeout(function(){return e.paint()},400))},e.prototype._resetHotkeys=function(){var t=this;l.keyManager.removeHotKey(null,this),this.data.map(function(e){e.hotkey&&l.keyManager.addHotKey(e.hotkey,function(){return t._onMenuItemClick(e.id,null)},t)})},e.prototype._setProp=function(t,e,i){var n,o=this;Array.isArray(t)?t.forEach(function(t){var n;return o.data.update(t,((n={})[e]=i,n))}):this.data.update(t,((n={})[e]=i,n))},e}(u.View);e.Navbar=p},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(107),o=i(108),r=i(109),s=i(110),a=i(111),c=i(112),l=i(113),u=i(114),d=i(115),h=i(22),p=i(23);e.createFactory=function(t){for(var e=t.defaultType,i=t.allowedTypes,f=t.widgetName,_=t.widget,v=new Set,g=0,m=i;g0&&o.getCount(t,r,i),t.value&&t.$openIcon?n.el("span.dhx_button__icon.dhx_button__icon--menu.dxi.dxi-menu-right"):null,t.loading&&n.el("span.dhx_button__loading",[n.el("span.dhx_button__loading-icon.dxi.dxi-loading")])])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(23);e.navItem=function(t,e,i){var r=" dhx_"+e+"-button";return n.el("button",{class:"dhx_button"+r+(t.active||t.$activeParent?r+"--active":"")+(t.disabled?r+"--disabled":"")+(t.$openIcon?r+"--select":"")+(t.circle?r+"--circle":"")+(t.size?" "+r+"--"+t.size:"")+(!t.value&&t.icon?r+"--icon":"")+(t.css?" "+t.css:""),dhx_id:t.id,disabled:t.disabled},[t.icon&&n.el("span",{class:t.icon+r+"__icon"}),t.value&&n.el("span",{class:r.trim()+"__text"},t.value),t.count>0&&o.getCount(t,r+"__count",i),t.value&&t.$openIcon&&n.el("span.dxi.dxi-menu-right",{class:r+"__caret"})])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0);e.customHTMLButton=function(t,e){return n.el("button",{dhx_id:t.id,".innerHTML":t.html},t.html?"":t.value)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(23);e.imageButton=function(t,e){var i="dhx_"+e+"-button-image",r="ribbon"===e;return n.el("button.dhx_button",{class:i+(t.size?" "+i+"--"+t.size:"")+(!t.value&&t.src?" "+i+"--icon":"")+(r&&t.$openIcon?" "+i+"--select":"")+(t.active?" "+i+"--active":""),dhx_id:t.id},[r&&t.value&&t.$openIcon&&n.el("span.dxi.dxi-menu-right",{class:i+"__caret"}),t.value&&n.el("span",{class:i+"__text"},t.value),t.src&&n.el("span",{class:i+"__image",style:{backgroundImage:"url("+t.src+")"}}),t.count>0&&o.getCount(t,i+"__count",!0)])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(22);function r(t,e){t.fire(o.NavigationBarEvents.inputBlur,[e])}function s(t,e){t.fire(o.NavigationBarEvents.inputFocus,[e])}e.input=function(t,e,i){return n.el(".dhx_form-group.dhx_form-group--no-message-holder.dhx_form-group--label_sr.dhx_"+i+"__input",{style:{width:t.width?t.width:"200px"}},[n.el("label.dhx_label",{for:t.id},t.label),n.el(".dhx_input-wrapper",[n.el("input.dhx_input",{placeholder:t.placeholder,class:t.icon?"dhx_input--icon-padding":"",value:t.value,onblur:[r,e,t.id],onfocus:[s,e,t.id],dhx_id:t.id,_hooks:{didInsert:function(i){e&&e.fire(o.NavigationBarEvents.inputCreated,[t.id,i.el])}},_key:t.id}),t.icon?n.el(".dhx_input__icon",{class:t.icon}):null])])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(23);e.menuItem=function(t,e,i){var r=i?" dhx_menu-button":" dhx_nav-menu-button";return n.el("button",{class:"dhx_button"+r+(t.disabled?r+"--disabled":"")+(t.$activeParent?r+"--active":""),disabled:t.disabled,dhx_id:t.id},i?[t.icon||t.value?n.el("span.dhx_menu-button__block.dhx_menu-button__block--left",[t.icon&&n.el("span.dhx_menu-button__icon",{class:t.icon}),t.value&&n.el("span.dhx_menu-button__text",t.value)]):null,t.count>0||t.hotkey||t.items?n.el("span.dhx_menu-button__block.dhx_menu-button__block--right",[t.count>0&&o.getCount(t," dhx_menu-button__count",!1),t.hotkey&&n.el("span.dhx_menu-button__hotkey",t.hotkey),t.items&&n.el("span.dhx_menu-button__caret.dxi.dxi-menu-right")]):null]:[t.value&&n.el("span.dhx_nav-menu-button__text",t.value)])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.separator=function(t,e){return null}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.spacer=function(t,e){return null}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0);e.title=function(t,e){return n.el("span",{class:"dhx_navbar-title dhx_navbar-title--"+e},t.value)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.layoutConfig={css:"vault-layout",rows:[{id:"topbar",css:"vault-topbar"},{id:"vault",css:"vault-file-grid"}]},e.layoutConfigWithoutTopbar={css:"vault-layout",rows:[{id:"vault",css:"vault-file-grid"}]}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(35),o=["byte","kilobyte","megabyte","gigabyte"];e.getBasis=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),t<1024?t+" "+n.default[o[e]]:this.getBasis(Math.round(t/1024),e+1)};var r,s=13;function a(t){return{extension:t.name.split(".").pop()||"none",mime:t.file?t.file.type:""}}function c(t,e){switch(t){case"jpg":case"jpeg":case"gif":case"png":case"bmp":case"tiff":case"pcx":case"svg":case"ico":return r.image;case"avi":case"mpg":case"mpeg":case"rm":case"move":case"mov":case"mkv":case"flv":case"f4v":case"mp4":case"3gp":case"wmv":case"webm":case"vob":return r.video;case"rar":case"zip":case"tar":case"tgz":case"arj":case"gzip":case"bzip2":case"7z":case"ace":case"apk":case"deb":case"zipx":case"cab":case"tar-gz":case"rpm":case"xar":return r.archive;case"xlr":case"xls":case"xlsm":case"xlsx":case"ods":case"csv":case"tsv":return r.table;case"doc":case"docx":case"docm":case"dot":case"dotx":case"odt":case"wpd":case"wps":case"pages":return r.document;case"wav":case"aiff":case"au":case"mp3":case"aac":case"wma":case"ogg":case"flac":case"ape":case"wv":case"m4a":case"mid":case"midi":return r.audio;case"pot":case"potm":case"potx":case"pps":case"ppsm":case"ppsx":case"ppt":case"pptx":case"pptm":case"odp":return r.presentation;case"html":case"htm":case"eml":return r.web;case"exe":return r.application;case"dmg":return r.apple;case"pdf":case"ps":case"eps":return r.pdf;case"psd":return r.psd;case"txt":case"djvu":case"nfo":case"xml":return r.text;default:switch(e.split("/")[0]){case"image":return r.image;case"audio":return r.audio;case"video":return r.video;default:return r.other}}}e.truncateWord=function(t,e){var i,n;if(void 0===e&&(e=s),t.length<=e)return t;var o=t.lastIndexOf(".");if(-1===o)n=t.substr(t.length-4),i=t.substr(0,e-7);else{var r=o-3;n=t.substr(r),i=t.substr(0,e-(t.length-r))}return i+"..."+n},e.calculateCover=function(t){var e,i,n,o,r=t.width,s=t.height,a=r/s;return a>1?(e=s,n=(r-(i=s))/2,o=0):a<1?(i=r,n=0,o=(s-(e=r))/2):(e=r,i=r,n=0,o=0),{sx:n,sy:o,sWidth:i,sHeight:e,dx:0,dy:0}},function(t){t.image="image",t.video="video",t.archive="archive",t.table="table",t.document="document",t.presentation="presentation",t.application="application",t.web="web",t.apple="apple",t.pdf="pdf",t.psd="psd",t.audio="audio",t.other="other",t.text="text"}(r=e.FileType||(e.FileType={})),e.getFileType=c,e.getFileClassName=function(t){var e=a(t),i=e.mime,n=e.extension;return c(n,i)+" extension-"+n},e.isImage=function(t){var e=a(t),i=e.mime;return c(e.extension,i)===r.image}},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(4),s=i(35),a=i(26),c=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=e,n._progress=0;return n.mount(null,o.create({render:function(){return n._draw()}})),n._abortUpload=function(){n.events.fire(a.ProgressBarEvents.cancel)},n}return n(e,t),e.prototype.setState=function(t,e){this._progress=t,this.config.template?this._progressText=this.config.template(t,e):this._progressText=this._progress.toFixed(1)+"%",this.paint()},e.prototype._draw=function(){return o.el(".progress-bar",{_key:this._uid},[o.el(".progress-indicator",{style:{width:this._progress+"%"}}),o.el(".progress-text",{".innerHTML":this._progressText}),o.el("button",{class:"dhx_btn dhx_btn--flat dhx_btn_small action-abort-all",onclick:this._abortUpload},s.default.cancel)])},e}(r.View);e.ProgressBar=c},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this._readerStack=[],this._isActive=!1,this._data=t}return t.prototype.add=function(t,e){void 0===e&&(e=!1),this._readerStack.push(t),e||this.read()},t.prototype.read=function(){var t=this;if(this._readerStack.length&&!this._isActive){var e=this._readerStack.shift();this._isActive=!0;var i=new FileReader;i.readAsDataURL(e.file),i.onload=function(i){var n=new Image;n.src=i.target.result,n.onload=function(){t._data.exists(e.id)&&t._data.update(e.id,{image:n}),t._isActive=!1,t.read()}},i.onerror=function(){t._isActive=!1,t.read()}}},t.prototype.stop=function(){this._readerStack=[]},t}();e.ReadStackPreview=n},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ithis.data.getLength()-1)){this._focusIndex=t;var e=this.getRootView();if(e&&e.node&&e.node.el){var i=this.getRootNode();if(i){if(this.config.virtual){var n=t*this.config.itemHeight;(n>=this._visibleHeight+this._topOffset||n=i.scrollTop+i.clientHeight-o.clientHeight?i.scrollTop=o.offsetTop-i.clientHeight+o.clientHeight:o.offsetTope-this._visibleHeight&&(t=e-this._visibleHeight);var i=Math.floor(this._visibleHeight/this.config.itemHeight)+5,n=Math.floor(t/this.config.itemHeight);this._range=[n,i+n],this._topOffset=t,this.paint()},e.prototype._getHeight=function(){return this.data.getLength()*this.config.itemHeight},e.prototype._getHotkeys=function(){var t=this;if(this.config.keyNavigation)if(this._edited)this._navigationDestructor&&this._navigationDestructor();else{var e=this.config.keyNavigation;"function"!=typeof this.config.keyNavigation&&(this._widgetInFocus=!1,e=function(){return t._widgetInFocus},this._documentClickDestuctor=r.detectWidgetClick(this._uid,function(e){return t._widgetInFocus=e}));var i=function(t){return function(e){e.preventDefault(),t()}};this._navigationDestructor=l.addHotkeys({arrowdown:i(function(){return t.setFocusIndex(t._focusIndex+1)}),arrowup:i(function(){return t.setFocusIndex(t._focusIndex-1)}),enter:function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i),t.events.fire(f.ListEvents.click,[i,e])},"enter+shift":function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i,!1,!0),t.events.fire(f.ListEvents.click,[i,e])},"enter+ctrl":function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i,!0,!1),t.events.fire(f.ListEvents.click,[i,e])},"enter+meta":function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i,!0,!1),t.events.fire(f.ListEvents.click,[i,e])}},e)}},e}(d.View);e.List=v},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(122);e.getEditor=function(t,e){return new n.InputEditor(t,e)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(37),r=function(){function t(t,e){var i=this;this._list=e,this._config=e.config,this._item=t,this._list.events.on(o.ListEvents.focusChange,function(t,e){i._mode&&e!==i._item.id&&i.endEdit()}),this._initHandlers()}return t.prototype.endEdit=function(){if(this._input){var t=this._input.value;this._list.events.fire(o.ListEvents.beforeEditEnd,[t,this._item.id])?(this._input.removeEventListener("blur",this._handlers.onBlur),this._input.removeEventListener("change",this._handlers.onChange),this._handlers={},this._mode=!1,this._list.events.fire(o.ListEvents.afterEditEnd,[t,this._item.id])):this._input.focus()}},t.prototype.toHTML=function(){this._mode=!0;var t=this._config.itemHeight;return n.el(".dhx_input-wrapper",{},[n.el("div.dhx_input-container",{},[n.el("input.dhx_input",{class:this._item.css?" "+this._item.css:"",style:{height:t,width:"100%",padding:"8px, 12px"},_hooks:{didInsert:this._handlers.didInsert},_key:this._item.id,dhx_id:this._item.id})])])},t.prototype._initHandlers=function(){var t=this;this._handlers={onBlur:function(){t.endEdit()},onChange:function(){t.endEdit()},didInsert:function(e){var i=e.el;t._input=i,i.focus(),i.value=t._item.value,i.setSelectionRange(0,i.value.length),i.addEventListener("change",t._handlers.onChange),i.addEventListener("blur",t._handlers.onBlur)}}},t}();e.InputEditor=r},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ir},this._linkedCalendar.config.block=function(t){if(o)return t=o&&t<=r&&s(t)}),this.events.on(f.CalendarEvents.change,function(t){o=u.DateHelper.dayStart(t),e._linkedCalendar.paint()},"link"),this._linkedCalendar.events.on(f.CalendarEvents.change,function(t){r=u.DateHelper.dayStart(t),e.paint()},"link"),this._linkedCalendar.paint(),this.paint()},e.prototype._unlink=function(){this._linkedCalendar&&(this.config.$rangeMark=this._linkedCalendar.config.$rangeMark=null,this.config.block=this._linkedCalendar.config.block=null,this.events.detach(f.CalendarEvents.change,"link"),this._linkedCalendar.events.detach(f.CalendarEvents.change,"link"),this._linkedCalendar.paint(),this.paint(),this._linkedCalendar=null)},e.prototype._draw=function(){switch(this._currentViewMode){case f.ViewMode.days:return this._drawCalendar();case f.ViewMode.months:return this._drawMonthSelector();case f.ViewMode.years:return this._drawYearSelector();case f.ViewMode.timepicker:return this._drawTimepicker()}},e.prototype._initHandlers=function(){var t=this;this._handlers={onclick:{".dhx_calendar-year, .dhx_calendar-month, .dhx_calendar-day":function(e,i){var n=i.attrs._date,o=u.DateHelper.copy(t._selected);switch(t._currentViewMode){case f.ViewMode.days:var r=t.config.timePicker?u.DateHelper.mergeHoursAndMinutes(n,t._selected||t._currentDate):n;if(!t.events.fire(f.CalendarEvents.beforeChange,[r,o,!0]))return;t._selected=r,t.showDate(n),t.events.fire(f.CalendarEvents.change,[n,o,!0]);break;case f.ViewMode.months:if(t.config.view!==f.ViewMode.months)u.DateHelper.setMonth(t._currentDate,n),t.showDate(null,f.ViewMode.days);else{var s=u.DateHelper.fromYearAndMonth(t._currentDate.getFullYear()||t._selected.getFullYear(),n);if(!t.events.fire(f.CalendarEvents.beforeChange,[s,o,!0]))return;t._currentDate=s,t._selected=s,t.events.fire(f.CalendarEvents.change,[t._selected,o,!0]),t.paint()}break;case f.ViewMode.years:if(t.config.view!==f.ViewMode.years)u.DateHelper.setYear(t._currentDate,n),t.showDate(null,f.ViewMode.months);else{s=u.DateHelper.fromYear(n);if(!t.events.fire(f.CalendarEvents.beforeChange,[s,o,!0]))return;t._currentDate=s,t._selected=s,t.events.fire(f.CalendarEvents.change,[t._selected,o,!0]),t.paint()}}},".dhx_calendar-action__cancel":function(){return t.showDate(t._selected,f.ViewMode.days)},".dhx_calendar-action__show-month":function(){return t.showDate(null,f.ViewMode.months)},".dhx_calendar-action__show-year":function(){return t.showDate(null,f.ViewMode.years)},".dhx_calendar-action__next":function(){var e;switch(t._currentViewMode){case f.ViewMode.days:e=u.DateHelper.addMonth(t._currentDate,1);break;case f.ViewMode.months:e=u.DateHelper.addYear(t._currentDate,1);break;case f.ViewMode.years:e=u.DateHelper.addYear(t._currentDate,12)}t.showDate(e)},".dhx_calendar-action__prev":function(){var e;switch(t._currentViewMode){case f.ViewMode.days:e=u.DateHelper.addMonth(t._currentDate,-1);break;case f.ViewMode.months:e=u.DateHelper.addYear(t._currentDate,-1);break;case f.ViewMode.years:e=u.DateHelper.addYear(t._currentDate,-12)}t.showDate(e)},".dhx_calendar-action__show-timepicker":function(){t._currentViewMode=f.ViewMode.timepicker,t.paint()}},onmouseover:{".dhx_calendar-day":function(e,i){return t.events.fire(f.CalendarEvents.dateHover,[e,new Date(i.attrs._date)])}}}},e.prototype._getData=function(t){for(var e="monday"===this.config.weekStart?1:0,i=[],n=6,o=u.DateHelper.weekStart(u.DateHelper.monthStart(t),e);n--;){for(var r=u.DateHelper.getWeekNumber(o),s=0,a=7,c=[];a--;){var l=u.DateHelper.isWeekEnd(o),d=t.getMonth()===o.getMonth(),h=this.config.block&&this.config.block(o),p=[];if(l&&d&&p.push("dhx_calendar-day--weekend"),d||(this.config.thisMonthOnly?(s++,p.push("dhx_calendar-day--hidden")):p.push("dhx_calendar-day--muffled")),this.config.mark){var f=this.config.mark(o);f&&p.push(f)}if(this.config.$rangeMark){var _=this.config.$rangeMark(o);_&&p.push(_)}h&&(l?p.push("dhx_calendar-day--weekend-disabled"):p.push("dhx_calendar-day--disabled")),this._selected&&o.getDate()===this._selected.getDate()&&o.getMonth()===this._selected.getMonth()&&this._selected.getFullYear()===o.getFullYear()&&p.push("dhx_calendar-day--selected"),c.push({date:o,day:o.getDate(),css:p.join(" ")}),o=u.DateHelper.addDay(o)}i.push({weekNumber:r,days:c,disabledWeekNumber:7===s})}return i},e.prototype._drawCalendar=function(){for(var t,e=this._currentDate,i=("monday"===this.config.weekStart?p.default.daysShort.slice(1).concat([p.default.daysShort[0]]):p.default.daysShort).map(function(t){return s.el(".dhx_calendar-weekday",t)}),n=[],r=[],a=0,c=this._getData(e);at._hoursSlider.config.max||(12===t.config.timeFormat?(t._time.isAM=e<12,t._time.h=e%12||12):t._time.h=e,t.events.fire(p.TimepickerEvents.change,[t.getValue()]),t._inputsView.paint())}),this._minutesSlider.events.on(u.SliderEvents.change,function(e){et._minutesSlider.config.max||(t._time.m=e,t.events.fire(p.TimepickerEvents.change,[t.getValue()]),t._inputsView.paint())})},e.prototype._draw=function(){return s.el(".dhx_timepicker-inputs",o({},this._handlers),[s.el("input.dhx_timepicker-input.dhx_timepicker-input--hour",{_key:"hour",value:this._time.h<10?"0"+this._time.h:this._time.h}),s.el("span.dhx_timepicker-delimer",":"),s.el("input.dhx_timepicker-input.dhx_timepicker-input--minutes",{_key:"minute",value:this._time.m<10?"0"+this._time.m:this._time.m}),12===this.config.timeFormat?s.el(".dhx_timepicker-ampm",this._time.isAM?"AM":"PM"):null])},e}(c.View);function _(t,e){return isNaN(t)?0:Math.min(e,Math.max(0,t))}e.Timepicker=f},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(1),r=i(0),s=i(2),a=i(13),c=i(4),l=i(10),u=i(63);function d(t,e,i){return ti?i:t}var h=function(t){function e(e,i){var n=t.call(this,e,o.extend({mode:u.Direction.horizontal,min:0,max:100,step:1,thumbLabel:!0},i))||this;n.events=new s.EventSystem(n),n._axis=n.config.mode===u.Direction.horizontal?"clientX":"clientY",n._initStartPosition(),n._initHotkeys();var a=r.create({render:function(){return n._draw()},hooks:{didMount:function(){return n._calcSliderPosition()},didRedraw:function(){return n._calcSliderPosition()}}});return n._initHandlers(),n.mount(e,a),n}return n(e,t),e.prototype.disable=function(){this._disabled=!0,this.paint()},e.prototype.enable=function(){this._disabled=!1,this.paint()},e.prototype.focus=function(t){this.getRootView().refs[t?"extraRunner":"runner"].el.focus()},e.prototype.getValue=function(){var t;if(this.config.range){var e=this._getValue(this._currentPosition),i=this._getValue(this._extraCurrentPosition);t=e1){var i=this._getValue(this._extraCurrentPosition);this._setValue(t[0],!1),this.events.fire(u.SliderEvents.change,[t[0],e,!1]),this._setValue(t[1],!0),this.events.fire(u.SliderEvents.change,[t[1],i,!0])}else{if(t=parseFloat(t),isNaN(t))throw new Error("Wrong value type, for more info check documentation https://docs.dhtmlx.com/suite/slider__api__slider_setvalue_method.html");this._setValue(t),this.events.fire(u.SliderEvents.change,[t,e,!1])}this.paint()},e.prototype.destructor=function(){this._hotkeysDestructor(),this.unmount()},e.prototype._calcSliderPosition=function(){var t=this.getRootView();if(t){var e=t.refs.track.el.getBoundingClientRect();this._offsets={left:e.left+window.pageXOffset,top:e.top+window.pageYOffset},this._length=this.config.mode===u.Direction.horizontal?e.width:e.height}},e.prototype._initHotkeys=function(){var t=this;this._hotkeysDestructor=a.addHotkeys({arrowleft:function(e){t.config.mode!==u.Direction.vertical&&(e.preventDefault(),t._move(-t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowright:function(e){t.config.mode!==u.Direction.vertical&&(e.preventDefault(),t._move(t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowup:function(e){t.config.mode!==u.Direction.horizontal&&(e.preventDefault(),t._move(t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowdown:function(e){t.config.mode!==u.Direction.horizontal&&(e.preventDefault(),t._move(-t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))}},function(){var e=document.activeElement,i=t.getRootView().refs;if(!i)return!1;var n=i.runner;return!(!n||n.el!==e)||!(!t.config.range||!i.extraRunner||i.extraRunner.el!==e)})},e.prototype._move=function(t,e){this.config.inverse&&(t=-t);var i=e?this._getValue(this._extraCurrentPosition):this._getValue(this._currentPosition),n=i+t;this._setValue(i+t,e),this.events.fire(u.SliderEvents.change,[n,i,e]),this.paint()},e.prototype._initStartPosition=function(){var t=this.config,e=t.max,i=t.min,n=t.range,o=function(t,e,i){var n;return(n=void 0===t?[]:Array.isArray(t)?t:"string"==typeof t?t.split(",").map(function(t){return parseInt(t,10)}):[t])[0]=void 0===n[0]?e:d(n[0],e,i),n[1]=void 0===n[1]?i:d(n[1],e,i),n}(this.config.value,this.config.min,this.config.max),r=o[0],s=o[1];this._currentPosition=(r-i)/(e-i)*100,n&&(this._extraCurrentPosition=(e-s)/(e-i)*100),this._currentPosition=(r-i)/(e-i)*100,n&&(this._extraCurrentPosition=(s-i)/(e-i)*100),this._isInverse()&&(this._currentPosition=100-this._currentPosition,n&&(this._extraCurrentPosition=100-this._extraCurrentPosition))},e.prototype._getValue=function(t){this._isInverse()&&(t=100-t);var e=this.config,i=e.min,n=e.max,o=e.step;if(100===t)return n;if(0===t)return i;var r=t*(n-i)/100,s=r%o,a=s>=o/2?o:0;return+(Number(i)+Number(r)-s+a).toFixed(5)},e.prototype._setValue=function(t,e){void 0===e&&(e=!1);var i=this.config,n=i.max,o=i.min;if(t>n||tt._currentPosition?t._possibleRange=[t._currentPosition,100]:t._possibleRange=[0,t._currentPosition],t._findNewDirection=null}t._inSide(i)&&t._updatePosition(i,t._isExtraActive),t.paint()},i=function(n){t.events.fire(u.SliderEvents.mouseup,[n]),setTimeout(function(){t._isMouseMoving=!1,t.paint()},4),document.removeEventListener("mouseup",i),document.removeEventListener("mousemove",e)};this.config.help&&(this._helper=new l.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.help)),this._handlers={showHelper:function(e){e.preventDefault(),e.stopPropagation(),t._helper.show(e.target)},onmousedown:function(n){if(!t._disabled&&3!==n.which){var o;if(t.events.fire(u.SliderEvents.mousedown,[n]),t._isMouseMoving=!0,n.target.classList.contains("dhx_slider__thumb--extra")?(t._isExtraActive=!0,o=t._extraCurrentPosition):(t._isExtraActive=!1,o=t._currentPosition),t._findNewDirection=null,t.config.range){var r=t._currentPosition>t._extraCurrentPosition?[t._currentPosition,t._extraCurrentPosition]:[t._extraCurrentPosition,t._currentPosition],s=r[0],a=r[1];t._currentPosition===t._extraCurrentPosition?(t._findNewDirection=o,t._possibleRange=[0,100]):t._possibleRange=oe[1])||(this._updatePosition(e[1],this._isExtraActive),!1)},e.prototype._updatePosition=function(t,e){void 0===e&&(e=!1),t>100&&(t=100),t<0&&(t=0);var i=this.config,n=i.max,o=i.min,r=e?this._extraCurrentPosition:this._currentPosition,s=this._getValue(r),a=this._getValue(t);if(s!==a){var c=(a-o)/(n-o)*100,l=this._isInverse()?100-c:c;e?this._extraCurrentPosition=l:this._currentPosition=l,this.events.fire(u.SliderEvents.change,[a,s,e])}},e.prototype._getRunnerStyle=function(t){var e;void 0===t&&(t=!1);var i=this.config.mode===u.Direction.horizontal?"left":"top",n=t?this._extraCurrentPosition:this._currentPosition;return(e={})[i]=n+"%",e},e.prototype._isInverse=function(){return this.config.inverse&&this.config.mode===u.Direction.horizontal||!this.config.inverse&&this.config.mode===u.Direction.vertical},e.prototype._getRunnerCss=function(t){return void 0===t&&(t=!1),"dhx_slider__thumb"+(t?" dhx_slider__thumb--extra":"")+(this._isMouseMoving&&(t&&this._isExtraActive||!t&&!this._isExtraActive)?" dhx_slider__thumb--active":"")+(this._disabled?" dhx_slider__thumb--disabled":"")+(this._isNullable(t?this._extraCurrentPosition:this._currentPosition)&&!this.config.range?" dhx_slider__thumb--nullable":"")},e.prototype._draw=function(){var t=this.config.labelInline&&this.config.labelWidth?this.config.labelWidth:"";return r.el("div",{class:"dhx_slider dhx_slider--mode_"+this.config.mode+(this.config.label&&this.config.labelInline?" dhx_slider--label-inline":"")+(this.config.hiddenLabel?" dhx_slider--label_sr":"")+(this.config.tick?" dhx_slider--ticks":"")+(this.config.majorTick?" dhx_slider--major-ticks":"")+(this.config.css?" "+this.config.css:"")},[this.config.label?r.el("label.dhx_label.dhx_slider__label",{style:{minWidth:t,maxWidth:t},class:this.config.help?"dhx_label--with-help":"",onclick:this._handlers.onlabelClick},this.config.help?[r.el("span.dhx_label__holder",this.config.label),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:this.config.label):null,this._drawSlider()])},e.prototype._drawSlider=function(){return r.el(".dhx_slider__track-holder",{dhx_widget_id:this._uid},[r.el(".dhx_slider__track",{_ref:"track",onmouseover:this._handlers.onmouseover,onmouseout:this._handlers.onmouseout,onclick:this._handlers.onclick},[this._getDetector(),r.el("div",{_ref:"runner",class:this._getRunnerCss(),onmousedown:this._handlers.onmousedown,onmousemove:this._handlers.onmousemove,onfocus:this._handlers.onfocus,onblur:this._handlers.onblur,style:this._getRunnerStyle(),tabindex:0}),this.config.thumbLabel&&(this._mouseIn||this._focusIn||this._isMouseMoving)?this._drawThumbLabel():null,this.config.thumbLabel&&this.config.range&&(this._mouseIn||this._focusIn||this._isMouseMoving)?this._drawThumbLabel(!0):null,this.config.range?r.el("div",{_ref:"extraRunner",class:this._getRunnerCss(!0),onmousedown:this._handlers.onmousedown,onmousemove:this._handlers.onmousemove,onfocus:this._handlers.onfocus,onblur:this._handlers.onblur,style:this._getRunnerStyle(!0),tabindex:0}):null]),this.config.tick?this._drawTicks():null])},e.prototype._getDetector=function(){var t,e,i;if(this._disabled)return r.el(".dhx_slider__range");var n=this.config.mode===u.Direction.horizontal?"left":"top",o=this.config.mode===u.Direction.horizontal?"width":"height";if(this.config.range){var s=this._currentPosition>this._extraCurrentPosition?[this._currentPosition,this._extraCurrentPosition]:[this._extraCurrentPosition,this._currentPosition],a=s[0],c=s[1];return r.el(".dhx_slider__range",{style:(t={},t[n]=c+"%",t[o]=a-c+"%",t)})}return this._isInverse()?r.el(".dhx_slider__range",{style:(e={},e[n]=this._currentPosition+"%",e[o]=100-this._currentPosition+"%",e)}):r.el(".dhx_slider__range",{style:(i={},i[n]=0,i[o]=this._currentPosition+"%",i)})},e.prototype._drawThumbLabel=function(t){var e;void 0===t&&(t=!1);var i=t?this._extraCurrentPosition:this._currentPosition,n=this.config.mode===u.Direction.horizontal?"left":"top",o=this.config.mode===u.Direction.horizontal?".dhx_slider__thumb-label--horizontal":".dhx_slider__thumb-label--vertical";(t&&this._isExtraActive||!t&&!this._isExtraActive)&&(o+=".dhx_slider__thumb-label--active");var s=((e={})[n]=i+"%",e);return r.el(".dhx_slider__thumb-label"+o,{style:s},this._getValue(i))},e.prototype._getTicks=function(){for(var t=this.config,e=t.max,i=t.min,n=t.step,o=t.tick,r=t.majorTick,s=e-i,a=n*o/s,c=[],l=0,u=0;l<1;){var d=+(Number(i)+l*s).toFixed(5),h=u%r==0;c.push({position:(this._isInverse()?100*(1-l):100*l)+"%",isMultiple:h,label:h&&"function"==typeof this.config.tickTemplate?this.config.tickTemplate(d):null}),l+=a,u++}return c.push({position:(this._isInverse()?0:100)+"%",isMultiple:!0,label:"function"==typeof this.config.tickTemplate?this.config.tickTemplate(e):null}),c},e.prototype._drawTicks=function(){var t=this.config.mode===u.Direction.horizontal?"left":"top";return r.el(".dhx_slider__ticks-holder",this._getTicks().map(function(e){var i;return r.el("div",{class:"dhx_slider__tick"+(e.isMultiple?" dhx_slider__tick--major":""),style:(i={},i[t]=e.position,i)},void 0!==e.label?[r.el(".dhx_slider__tick-label",e.label)]:null)}))},e.prototype._isNullable=function(t){return this._isInverse()?100===t:0===t},e}(c.View);e.Slider=h},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;io?o:e,i=i<0?0:i>r?r:i;var s=Math.round(i/(r/100)),a=100-Math.round(e/(o/100));this._pickerState.hsv.s=s/100,this._pickerState.hsv.v=a/100}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.calculatePaletteGrip=function(t,e,i){var n=t.height,o=t.width;return e=e<0?0:e>n?n:e,i=i<0?0:i>o?o:i,{s:Math.round(i/(o/100))/100,v:(100-Math.round(e/(n/100)))/100}},e.calculateRangeGrip=function(t,e){var i=t.width;return e=e<0?0:e>i?i:e,{h:Math.round(e/i*360),rangeLeft:e}}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(135)),n(i(6))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0&&u<=n._width-s-i&&d>=0&&d<=n._height-r-o?n.events.fire(_.ChartEvents.chartMouseMove,[u,d,n._left+i,n._top+o]):n.events.fire(_.ChartEvents.chartMouseLeave)},onmouseleave:function(){return n.events.fire(_.ChartEvents.chartMouseLeave)}},n._layers=new l.ComposeLayer,n.setConfig(i),n._initEvents();return n.mount(e,r.create({render:function(t,e){if(!n.data.getLength())return r.el("div");var i=[r.resizer(function(t,e){n._width=t,n._height=e||400;var i=n.getRootView();if(i&&i.node&&i.node.el){var o=i.node.el.getBoundingClientRect();n._left=o.left+window.pageXOffset,n._top=o.top+window.pageYOffset}n.events.fire(_.ChartEvents.resize,[{width:n._width,height:n._height}]),n.paint()})];return n._width&&n._height&&i.push(n._layers.toVDOM(n._width,n._height)),r.el(".dhx_widget.dhx_chart",{onmousemove:n._globalHTMLHandlers.onmousemove,onmouseleave:n._globalHTMLHandlers.onmouseleave},i)}})),n}return n(e,t),e.prototype.getSeries=function(t){return this._series[t]},e.prototype.eachSeries=function(t){var e=[];for(var i in this._series)e.push(t.call(this,this._series[i]));return e},e.prototype.destructor=function(){this._tooltip.destructor(),this.events.clear(),this.unmount()},e.prototype.setConfig=function(t){var e=this;if(this.config=t,this._layers.clear(),this._series={},this._scales={},t.scales)for(var i in t.scales){var n=o({},t.scales[i]);n.type=n.type||this._detectScaleType(n,i),t.scales.radial&&"radial"!==i&&(n.hidden=!0),this._setScale(n,i)}var r=new p.default;if(this._layers.add(r),t.series.forEach(function(i){var n=o({},i);n.type=n.type||t.type;var s=h.default[n.type];(n.barWidth||e.config.barWidth)&&(n.barWidth=n.barWidth||e.config.barWidth);var a=new s(e.data,n,e.events);(n.scales||[_.ScaleType.bottom,_.ScaleType.left]).forEach(function(t){var i=e._scales[t];i&&(a.addScale(t,i),n.stacked?i.add(r):i.add(a))}),e._series[a.id]=a,n.stacked?r.add(a):e._layers.add(a)}),t.legend){var s=o({},t.legend);s.series&&(s.$seriesInfo=s.series.map(function(t){return e._series[t]}));var a=new u.Legend(this.data,s,this.events);this._layers.add(a)}this._tooltip=new f.Tooltip(document.body,{chart:this}),this.paint()},e.prototype._setScale=function(t,e){var i=new d.default[t.type](this.data,t,e);i.config.grid&&"radial"!==i.config.type&&this._layers.add(i.scaleGrid()),this._layers.add(i),this._scales[e]=i},e.prototype._detectScaleType=function(t,e){return"radial"===e?e:t.text?"text":"numeric"},e.prototype._initEvents=function(){var t=this;this.events.on(_.ChartEvents.toggleSeries,function(e,i){if(i){var n=t._series[Object.keys(t._series)[0]];n&&(n.toggle(e),t.paint())}else t._series[e]&&(t._series[e].toggle(),t.paint())},this),this.events.on(c.DataEvents.change,function(){return t.paint()})},e}(a.View);e.Chart=v},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(137),r=function(){function t(){this._data=[],this._sizes={left:20,right:20,top:10,bottom:10}}return t.prototype.add=function(t){this._data.push(t)},t.prototype.clear=function(){this._data.forEach(function(t){return t.destructor&&t.destructor()}),this._data=[]},t.prototype.getSizes=function(){return this._sizes},t.prototype.toVDOM=function(t,e){var i={left:20,right:20,top:10,bottom:10},r=this._data.filter(function(t){return!t.dataReady||t.dataReady().length});this._data.forEach(function(t){return!t.scaleReady||t.scaleReady(i)});var s=0,a=0;r.forEach(function(t){t.seriesShift&&(s+=t.seriesShift(),a++)});var c=s/a;s=a?(c-s)/2:0,r.forEach(function(t){t.seriesShift&&(t.seriesShift(s),s+=c)}),this._sizes=i;var l=n.sv("g",{transform:"translate("+i.left+", "+i.top+")"},r.map(function(n){return n.paint(t-(i.left+i.right),e-(i.top+i.bottom))})),u=n.sv("defs",[o.dropShadow(),o.shadow()]);return n.sv("svg",{width:t,height:e},[u,l])},t}();e.ComposeLayer=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0);e.shadow=function(){return n.sv("filter",{id:"shadow"},[n.sv("feDiffuseLighting",{in:"SourceGraphic",result:"light","lighting-color":"white"},[n.sv("feDistantLight",{azimuth:90,elevation:25})]),n.sv("feComposite",{in:"SourceGraphic",in2:"light",operator:"arithmetic",k1:"1",k2:"0",k3:"0",k4:"0"})])},e.dropShadow=function(){return n.sv("filter",{id:"dropshadow",x:"-100%",y:"-100%",width:"300%",height:"300%"},[n.sv("feGaussianBlur",{in:"SourceAlpha",stdDeviation:2}),n.sv("feOffset",{dx:0,dy:0,result:"offsetblur"}),n.sv("feOffset",{dx:0,dy:0,result:"offsetblur"}),n.sv("feFlood",{"flood-color":"rgba(85,85,85,0.5)"}),n.sv("feComposite",{in2:"offsetblur",operator:"in"}),n.sv("feMerge",[n.sv("feMergeNode"),n.sv("feMergeNode",{in:"SourceGraphic"})])])}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i0;e--)t.push(-Math.pow(10,e));t.push(0)}if(this.config.max>0){var i=Math.ceil(o.log10(this.config.max));for(e=1;e<=i;e++)t.push(Math.pow(10,e))}return t},t.prototype._addPadding=function(){this.config.min-=this.config.padding},t}();e.AxisCreator=s},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ie?o.TooltipType.left:o.TooltipType.right},e.prototype.getClosest=function(t,e){for(var i=[1/0,null,null,null],n=0,o=this._points;ns&&(i[0]=s,i[1]=r[1],i[2]=r[0],i[3]=r[2])}return i},e.prototype._getText=function(t){return t[4].toString()},e.prototype._getClosestDist=function(t,e,i,n){return this.config.stacked&&t>i?1/0:Math.abs(e-n)},e.prototype._path=function(t,e){return t[0]+=this._shift,"\nM "+e+" "+(t[0]-this.config.barWidth/2)+"\nH "+t[1]+"\nv "+this.config.barWidth+"\nH "+e},e.prototype._base=function(t){var e=this.config.baseLine;return this._baseLinePosition=void 0!==e?this.yScale.point(e)*t:0},e.prototype._text=function(t,e){return{y:t[0],x:(e+t[1])/2,class:"bar-text"}},e}(i(70).default);e.default=r},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(24),s=i(5),a=i(6),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.paint=function(t,e){var i=this,n=e/2,c=-.25,l=[],u=[],d=[],h=1===this._points.length?-1e-6:0;return this._points.forEach(function(p){var f=p[0],_=p[1],v=p[2],g=p[3],m=p[4],y=r.getCoordinates(c,n,n),x=y[0],b=y[1],w=c+f/2;c+=f+h;var k=r.getCoordinates(c,n,n),C=k[0],E=k[1],O=f>.5?1:0,I=r.getCoordinates(w,n,n),S=w>-.25&&w<.25,M=w>.5||w<0;switch(i.config.subType){case a.NoScaleSubType.basic:var P=S?"donut-value-title start-text":"donut-value-title end-text",T=10,D=M?2*-T:T,V=r.getCoordinates(w,n+10,n+10),j=S?"donut-value start-text":"donut-value end-text",A=o.sv("text",{x:V[0],y:V[1]+D,class:P},[s.verticalCenteredText(g.toString())]),L=o.sv("text",{x:V[0],y:V[1]+D+16,class:j},[s.verticalCenteredText(_.toString())]);u.push(A),u.push(L);break;case a.NoScaleSubType.valueOnly:P=S?"donut-value start-text":"donut-value end-text",T=10,D=M?-T:T,V=r.getCoordinates(w,n+10,n+10);var H=o.sv("text",{x:V[0],y:V[1]+D,class:P},[s.verticalCenteredText(g.toString())]);u.push(H);break;case a.NoScaleSubType.percentOnly:var F=o.sv("text",{x:7*I[0]/9,y:7*I[1]/9,class:"pie-inner-value"},[s.verticalCenteredText(Math.round(100*f)+"%")]);u.push(F)}var R="M "+x+" "+b+" A "+n+" "+n+" 0 "+O+" 1 "+C+" "+E+" L 0 0",B=r.getCoordinates(w,4,4),N=B[0],$=B[1],z=o.sv("path",{d:R,_key:v,fill:m,class:"chart donut",onmouseout:[r.pieLikeHandlers.onmouseout],onmouseover:[r.pieLikeHandlers.onmouseover,N,$]});l.push(z),1===i._points.length?d.push([t/2,e/2]):d.push([.8*I[0]+t/2,.8*I[1]+e/2])}),this._center=[t/2,e/2],this._tooltipData=d,l.push(o.sv("circle",{cx:0,cy:0,r:5*n/9,fill:"#FFFFFF"})),l=l.concat(u),o.sv("g",{transform:"translate("+t/2+", "+e/2+")"},l)},e}(i(45).default);e.default=c},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i-.25&&A<.25?"pie-value start-text":"pie-value end-text";if(p){x.push(s.sv("path",{d:"M"+$[0]+" "+$[1]+" L"+z[0]+" "+z[1]+" h "+L,class:"pie-value-connector"}));var Y=s.sv("text",{x:z[0],y:z[1],dx:L/2+L>0?10:-10,class:W},[c.verticalCenteredText(O.toString())]);x.push(Y)}else{var G=A>.5||A<0?-5:5;Y=s.sv("text",{x:$[0],y:$[1]+G,class:W},[c.verticalCenteredText(O.toString())]);x.push(Y)}if(f){var q=s.sv("text",{x:.7*H[0],y:.7*H[1],class:"pie-inner-value"},[c.verticalCenteredText(C.toString())]);x.push(q)}if(i.config.subType===l.NoScaleSubType.percentOnly){var X=s.sv("text",{x:.5*H[0],y:.5*H[1],class:"pie-inner-value"},[c.verticalCenteredText(Math.round(100*m)+"%")]);x.push(X)}v+=m+k;var U=a.getCoordinates(v,_,_),K=U[0],J=U[1],Z="M "+V+" "+j+" A "+_+" "+_+" 0 "+(m>.5?1:0)+" 1 "+K+" "+J+" L 0 0",Q=a.getCoordinates(A,4,4),tt=Q[0],et=Q[1],it=s.sv("path",{d:Z,class:"chart pie",_key:E,fill:S,onmouseover:[a.pieLikeHandlers.onmouseover,tt,et],onmouseout:[a.pieLikeHandlers.onmouseout]});if(b.push(it),i._points.length>1&&u){var nt={"stroke-width":d,stroke:u},ot=s.sv("path",o({d:"M0 0 L"+K+" "+J,fill:"none"},nt));w.push(ot)}1===i._points.length?g.push([t/2,e/2]):g.push([.7*H[0]+t/2,.7*H[1]+e/2])}),this._center=[t/2,e/2],this._tooltipData=g,m.push(s.sv("defs",y)),m=(m=(m=m.concat(b)).concat(w)).concat(x),s.sv("g",{transform:"translate("+t/2+", "+e/2+")"},m)},e}(i(45).default);e.default=u},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(24),s=i(5),a=i(6),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.paint=function(t,e){var i=this,n=e/2,c=.5*n,l=n/5,u=[],d=-.25,h=[],p=[],f=1===this._points.length?-1e-6:0;return this._points.forEach(function(_){var v=_[0],g=_[1],m=_[2],y=_[3],x=_[4],b=r.getCoordinates(d,n,c),w=b[0],k=b[1],C=d+v/2,E=C<.25?5:-5,O=r.getCoordinates(C,n,c),I=0;C>0&&C<.5&&(I=l*Math.sin(2*Math.PI*C));var S=r.getCoordinates(C,n+5+I,c+5+I),M=r.getCoordinates(C,n+30+I,c+30+I),P=d+v+f,T=r.getCoordinates(P,n,c),D=T[0],V=T[1],j=v>.5?1:0,A=C>-.25&&C<.25?"pie-value start-text":"pie-value end-text";if(i.config.useLines){p.push(o.sv("path",{d:"M"+S[0]+" "+S[1]+" L"+M[0]+" "+M[1]+" h "+E,class:"pie-value-connector"}));var L=o.sv("text",{x:M[0],y:M[1],dx:E/2+E>0?10:-10,class:A},[s.verticalCenteredText(y.toString())]);p.push(L)}else{var H=C>.5||C<0?-10:10;L=o.sv("text",{x:S[0],y:S[1]+H,class:A},[s.verticalCenteredText(y.toString())]);p.push(L)}if(i.config.showText){L=o.sv("text",{x:.7*O[0],y:.7*O[1],class:"pie-inner-value"},[s.verticalCenteredText(g.toString())]);p.push(L)}if(i.config.subType===a.NoScaleSubType.percentOnly){var F=o.sv("text",{x:.6*O[0],y:.6*O[1],class:"pie-inner-value"},[s.verticalCenteredText(Math.round(100*v)+"%")]);p.push(F)}var R="";if(d<=0&&P>=.5?R="M "+n+" 0 v "+l+" A "+n+" "+c+" 0 1 1 "+-n+" "+l+" v "+-l:d<=0&&P<.5?R="M "+n+" 0 v "+l+" A "+n+" "+c+" 0 0 1 "+D+" "+(V+l)+" v "+-l:d>0&&d<=.5&&P>=.5?R="M "+w+" "+k+" v "+l+" A "+n+" "+c+" 0 0 1 "+-n+" "+l+" v "+-l:d>0&&P<.5&&(R="M "+w+" "+k+" v "+l+" A "+n+" "+c+" 0 0 1 "+D+" "+(V+l)+" v "+-l),R){var B=o.sv("path",{d:R,fill:x,class:"chart pie3d addition",stroke:"none",filter:"url(#shadow)"});h.push(B)}var N="M "+w+" "+k+" A "+n+" "+c+" 0 "+j+" 1 "+D+" "+V+" L 0 0";h.push(o.sv("path",{d:N,_key:m,fill:x,stroke:"none",class:"chart pie3d"})),1===i._points.length?u.push([t/2,e/2]):u.push([.7*O[0]+t/2,.7*O[1]+e/2]),d=P}),this._center=[t/2,e/2],this._tooltipData=u,h=h.concat(p),o.sv("g",{transform:"translate("+t/2+", "+e/2+")"},h)},e}(i(45).default);e.default=c},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;in[0]&&(s[0]=n[0],s[1]=n[1],s[2]=n[2],s[3]=n[3],s[4]=i.id)});var a=n._chart.getSeries(s[4]);if(a){var c=r.calcPointRef(s[3],s[4]);if(c===n._lastPointRef)return;var l=a.getTooltipText(s[3]);if(l){var u=a.getTooltipType(s[3],s[1],s[2]);n._enableActivePoint(c),n._state.leftOffset=i,n._state.topOffset=o,n._state.value=l,n._state.x=s[1],n._state.y=s[2],n._state.type=u,n._state.chartType=a.config.type,n._state.isVisible=!0,n.paint()}}},n),n._chart.events.on(s.ChartEvents.chartMouseLeave,function(){return n._hide()},n),n}return n(e,t),e.prototype.destructor=function(){this._chart.events.detach(s.ChartEvents.chartMouseLeave,this),this._chart.events.detach(s.ChartEvents.chartMouseMove,this),this.unmount()},e.prototype._hide=function(){this._disableLastActivePoint(),this._state.isVisible=!1,this.paint()},e.prototype._enableActivePoint=function(t){var e=this._chart.getRootView(),i=e&&e.refs&&e.refs[t];i&&(this._disableLastActivePoint(),this._lastPointRef=t,i.patch({class:i.attrs.class+" active-figure"}))},e.prototype._disableLastActivePoint=function(){if(this._lastPointRef){var t=this._chart.getRootView(),e=t&&t.refs&&t.refs[this._lastPointRef];e&&e.patch({class:e.attrs.class.replace(" active-figure","")}),this._lastPointRef=null}},e.prototype._draw=function(){var t,e=this._state,i=e.value,n=e.x,a=e.y,c=e.type,l=e.chartType,u=e.isVisible;if(u&&""!==i){var d=r.getFontStyle("tooltip-text");t=function(t,e,i,n,o){var r=o===s.ChartType.bar?5:0;switch(n){case s.TooltipType.top:return{d:"M0 0 l4 -4 h"+(a=(t+20-8-4)/2)+" a2 2 0 0 0 2 -2 v-18 a2 2 0 0 0 -2 -2 h"+-(t+20-4)+" a2 2 0 0 0 -2 2 v18 a2 2 0 0 0 2 2 h"+a+" Z",left:e,top:i-6+r,textX:0,textY:-15};case s.TooltipType.bot:var a;return{d:"M0 0 l4 4 h"+(a=(t+20-8-4)/2)+" a2 2 0 0 1 2 2 v18 a2 2 0 0 1 -2 2 h"+-(t+20-4)+" a2 2 0 0 1 -2 -2 v-18 a2 2 0 0 1 2 -2 h"+a+" Z",left:e,top:i+6-r,textX:0,textY:15};case s.TooltipType.right:return{d:"M0 0 l4 -4 v-5 a2 2 0 0 1 2 -2 h"+(c=t+20-4)+" a2 2 0 0 1 2 2 v18 a2 2 0 0 1 -2 2 h"+-c+" a2 2 0 0 1 -2 -2 v-5 Z",left:e+1,top:i,textX:c/2+6,textY:0};case s.TooltipType.left:return{d:"M0 0 l-4 -4 v-5 a2 2 0 0 0 -2 -2 h"+-(c=t+20-4)+" a2 2 0 0 0 -2 2 v18 a2 2 0 0 0 2 2 h"+c+" a2 2 0 0 0 2 -2 v-5 Z",left:e-1,top:i,textX:-c/2-6,textY:0};case s.TooltipType.simple:var c;return{d:"M0 0 v-4 a2 2 0 0 1 2 -2 h"+(c=t+20-4)+" a2 2 0 0 1 2 2 v18 a2 2 0 0 1 -2 2 h"+-c+" a2 2 0 0 1 -2 -2 v-6 Z",left:e-c/2-2,top:i-5,textX:c/2+2,textY:6}}}(r.getTextWidth(i,d),n,a,c||s.TooltipType.top,l)}else t={textX:0,textY:0,d:null,left:0,top:0};return o.el(".dhx_chart.tooltip-container",{style:{pointerEvents:"none",width:0,height:0,visibility:u?"visible":"hidden",position:"absolute",left:t.left+this._state.leftOffset+"px",top:t.top+this._state.topOffset+"px"}},u?[o.sv("svg",[o.sv("path",{d:t.d,class:"tooltip-form"}),o.sv("text",{x:t.textX,y:t.textY,class:"tooltip-text"},[r.verticalCenteredText(i)])])]:null)},e}(i(4).View);e.Tooltip=a},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(1),r=i(0),s=i(2),a=i(3),c=i(157),l=i(4),u=i(7),d=i(12),h=i(36),p=i(10),f=i(158),_=i(48),v=i(159),g=i(72),m=function(t){return t.icon?' '+t.value+"":t.src?' '+t.value+"":''+t.value+""},y=function(t){function e(e,i){var n=t.call(this,e,o.extend({template:m,listHeight:224,cellHeight:32},i))||this;Array.isArray(n.config.data)?(n.events=new s.EventSystem(n),n.data=new u.DataCollection({},n.events),n.data.parse(n.config.data)):n.config.data?(n.data=n.config.data,n.events=n.data.events,n.events.context=n):(n.events=new s.EventSystem(n),n.data=new u.DataCollection({},n.events)),n.popup=new p.Popup,n.popup.events.on(p.PopupEvents.afterShow,function(){n.paint()}),n.popup.events.on(p.PopupEvents.afterHide,function(){n.paint()}),n.config.readonly&&(n._keyListener=new f.KeyListener),n._state={value:"",ignoreNext:!1,canDelete:!1,unselectActive:!1,currentState:g.ComboState.default},n._initHandlers(),n._createLayout(),n._initEvents();var a=r.create({render:function(){return n._draw()},hooks:{didRedraw:function(){n.popup.isVisible()&&(n.focus(),n._configurePopup())}}});return n.mount(e,a),n}return n(e,t),e.prototype.setState=function(t){switch(t){case"success":this._state.currentState=g.ComboState.success;break;case"error":this._state.currentState=g.ComboState.error;break;default:this._state.currentState=g.ComboState.default}this.paint()},e.prototype.focus=function(){if(this.config.disabled)return!1;this.getRootView().refs.input.el.focus()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.clear=function(){if(this.config.disabled)return!1;this.list.selection.remove(),this._state.value="",this._filter(),this._change()},e.prototype.getValue=function(t){var e=this.list.selection.getId();return t?o.wrapBox(e):Array.isArray(e)?e.join(","):e},e.prototype.setValue=function(t){var e=this;if(this.config.disabled)return!1;if(this._filter(),this.list.selection.remove(),this._state.value="",this.config.multiselection)"string"==typeof t&&(t=t.split(",")),t.forEach(function(t){return e.list.selection.add(t)});else{var i=o.unwrapBox(t);this.list.selection.add(i);var n=this.data.getItem(i);n&&(this._state.value=this._getItemText(n))}this._change()},e.prototype.destructor=function(){this.popup.destructor(),this.events.clear(),this.list.destructor(),this._layout.config=null,this._layout.destructor(),this.unmount()},e.prototype._createLayout=function(){var t=this,e=this.list=new h.List(null,{template:this.config.template,virtual:this.config.virtual,keyNavigation:function(){return t.popup.isVisible()},itemHeight:this.config.cellHeight,height:this.config.listHeight,data:this.data});this.list.selection.events.on("change",function(e){t.config.multiselection||e&&"load"!==e&&t._hideOptions()}),this.config.multiselection&&(e.selection.config.multiselection=!0);var i=this._layout=new d.Layout(this.popup.getContainer(),{css:"dhx_combobox-options dhx_combobox__options",rows:[{id:"select-unselect-all",hidden:!this.config.multiselection||!this.config.selectAllButton},{id:"list",css:"dhx_layout-cell--gravity"},{id:"not-found",hidden:!0}],on:{click:{".dhx_combobox__action-select-all":this._handlers.selectAll}}});i.cell("list").attach(e),this.config.multiselection&&this.config.selectAllButton&&i.cell("select-unselect-all").attach(v.selectAllView)},e.prototype._change=function(){var t=this.list.selection.getId();this.events.fire(g.ComboboxEvents.change,[t]),this.paint()},e.prototype._initHandlers=function(){var t=this;this.config.help&&(this._helper=new p.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.help)),this._handlers={showHelper:function(e){e.preventDefault(),e.stopPropagation(),t._helper.show(e.target)},selectAll:function(){t.list.selection.remove(),t._state.unselectActive?(t.data.filter(),t.list.selection.getId().forEach(function(e){t.list.selection.remove(e)}),t.config.selectAllButton&&(t._layout.cell("select-unselect-all").attach(v.selectAllView),t._state.unselectActive=!1)):(t.data.filter(),t.list.selection.add(),t.config.selectAllButton&&(t._layout.cell("select-unselect-all").attach(v.unselectAllView),t._state.unselectActive=!0)),t._change()},onkeydown:function(e){if(t.popup.isVisible()||e.which!==c.KEY_CODES.DOWN_ARROW||t._showOptions(),t.popup.isVisible()&&e.which===c.KEY_CODES.ENTER)if(t.config.multiselection){var i=t.list.getFocusItem(),n=t.data.getItem(i);n&&(n.$selected?t.list.selection.remove(i):t.list.selection.add(i)),t._state.value="",t.data.filter(),t.paint()}else{var o=t.list.getFocusItem();t.list.selection.add(o),t._state.value=t._getItemText(t.data.getItem(o))||"",t._change(),t._hideOptions()}t.popup.isVisible()&&e.which===c.KEY_CODES.ESC&&t._hideOptions()},onkeyup:function(e){if(t.config.multiselection&&!t.config.showItemsCount)if(t._state.ignoreNext)t._state.ignoreNext=!1;else if(e.which===c.KEY_CODES.BACKSPACE&&t._state.canDelete&&t.list.selection.getId().length){var i=t.list.selection.getId(),n=i[i.length-1];t.list.selection.remove(n),t._change(),t.paint()}},oninput:function(e){if(!t.config.disabled){var i=e.target.value;t._state.value=i,t._filter(),i.length?t._state.canDelete=!1:(t._state.ignoreNext=!0,t._state.canDelete=!0),t.config.multiselection||(t.list.selection.remove(),t._change()),t.popup.isVisible()||t._showOptions()}},oninputclick:function(e){if(!t.config.disabled){if(t.focus(),e.target.classList.contains("dhx_combobox__action-remove")){var i=a.locate(e);if(!i)return;return t.list.selection.remove(i),void t._change()}if(e.target.classList.contains("dhx_combobox__action-clear-all"))return t.list.selection.getId().forEach(function(e){return t.list.selection.remove(e)}),t.config.selectAllButton&&t._state.unselectActive&&(t._layout.cell("select-unselect-all").attach(v.selectAllView),t._state.unselectActive=!1),void t.paint();e.preventDefault(),t.popup.isVisible()?t.focus():t._showOptions()}},toggleIcon:function(){t.focus(),t.popup.isVisible()?t._hideOptions():t._showOptions()}}},e.prototype._initEvents=function(){var t=this;this.list.events.on(h.ListEvents.click,function(e){if(t.config.multiselection)return t.data.getItem(e).$selected?t.config.selectAllButton&&!t._state.unselectActive&&t.data.getLength()===t.list.selection.getId().length&&(t._layout.cell("select-unselect-all").attach(v.unselectAllView),t._state.unselectActive=!0):t.config.selectAllButton&&t._state.unselectActive&&(t._layout.cell("select-unselect-all").attach(v.selectAllView),t._state.unselectActive=!1),t._state.value.length||(t._state.canDelete=!0),void t._change();t._state.value=t._getItemText(t.data.getItem(e))||"",t._change(),t._hideOptions()}),this.config.readonly&&this.popup.events.on(p.PopupEvents.afterShow,function(){if(t._state.value){var e=t.list.selection.getId();t.list.setFocusIndex(t.data.getIndex(e))}else t.list.setFocusIndex(0);t._keyListener.startNewListen(function(e){return t._findBest(e)})})},e.prototype._showOptions=function(){this._state.value.length&&(this._state.canDelete=!0),this._filter(),this._configurePopup()&&this.events.fire(g.ComboboxEvents.open)},e.prototype._configurePopup=function(){var t=this.getRootView();if(!t||!t.refs||!t.refs.holder)return!1;var e=t.refs.holder.el;return this.popup.getContainer().style.width=e.offsetWidth+"px",this.popup.show(e,{mode:a.Position.bottom}),!0},e.prototype._hideOptions=function(){this.config.readonly&&this._keyListener.endListen(),this.list.setFocusIndex(0),this.config.multiselection||this.config.readonly||this.list.selection.contains()||(this._state.value=""),this.popup.hide(),this.paint(),this.events.fire(g.ComboboxEvents.close)},e.prototype._filter=function(){var t=this;if(!this.config.readonly){if(this.data.filter(function(e){return t.config.filter?t.config.filter(e,t._state.value):o.isEqualString(t._state.value,t._getItemText(e))}),this.config.multiselection)this.list.setFocusIndex(0);else{var e=this.data.getIndex(this.list.selection.getId());this.list.setFocusIndex(e>-1?e:0)}0===this.data.getLength()?(this.config.multiselection&&this.config.selectAllButton&&this._layout.cell("select-unselect-all").hide(),this._layout.cell("list").hide(),this._layout.cell("not-found").attach(v.emptyListView),this._layout.cell("not-found").show()):(this.config.multiselection&&this.config.selectAllButton&&this._layout.cell("select-unselect-all").show(),this._layout.cell("not-found").isVisible()&&(this._layout.cell("list").show(),this._layout.cell("not-found").hide()))}},e.prototype._findBest=function(t){var e=this,i=this.data.find(function(i){return o.isEqualString(t,e._getItemText(i))});i&&this.list.selection.getId()!==i.id&&(this.list.setFocusIndex(this.data.getIndex(i.id)),this.list.selection.add(i.id),this.paint())},e.prototype._draw=function(){var t=this.config.multiselection?null:this.data.getItem(this.list.selection.getId()),e=!this.list.selection.getId()||0===this.list.selection.getId().length,i=this.config.labelInline&&this.config.labelWidth?this.config.labelWidth:"",n=this.config.required;return r.el(".dhx_widget.dhx_combobox"+(this.config.labelInline?".dhx_combobox--label-inline":"")+(this.config.hiddenLabel?".dhx_combobox--sr_only":"")+(this.config.required?".dhx_combobox--required":"")+(this.config.css?"."+this.config.css:""),{dhx_widget_id:this._uid,onkeydown:this._handlers.onkeydown,onkeyup:this._handlers.onkeyup},[this.config.label?r.el("label.dhx_label.dhx_combobox__label",{style:{minWidth:i,maxWidth:i},class:this.config.help?"dhx_label--with-help":"",onclick:this._handlers.oninputclick},this.config.help?[r.el("span.dhx_label__holder",this.config.label),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:this.config.label):null,r.el("div.dhx_combobox-input-box"+(this.config.disabled?".dhx_combobox-input-box--disabled":"")+(this.config.readonly?".dhx_combobox-input-box--readonly":"")+(this._state.currentState===g.ComboState.error?".dhx_combobox-input-box--state_error":"")+(this._state.currentState===g.ComboState.success?".dhx_combobox-input-box--state_success":""),{_ref:"holder"},[r.el("div.dhx_combobox-input__icon",{onclick:this._handlers.toggleIcon},[r.el("span"+(this.popup.isVisible()?".dxi.dxi-menu-up":".dxi.dxi-menu-down"))]),r.el("div.dhx_combobox-input-list-wrapper",{onclick:this._handlers.oninputclick},[r.el("ul.dhx_combobox-input-list",this._drawSelectedItems().concat([r.el("li.dhx_combobox-input-list__item.dhx_combobox-input-list__item--input",[r.el("input.dhx_combobox-input",{oninput:this._handlers.oninput,_ref:"input",_key:this._uid,type:"text",placeHolder:e&&this.config.placeholder?this.config.placeholder:void 0,value:this.config.readonly&&t?this._getItemText(t):this._state.value,readOnly:this.config.readonly||this.config.disabled,required:n})])]))])])])},e.prototype._drawSelectedItems=function(){var t=this;if(!this.config.multiselection)return[];if(this.config.showItemsCount){var e=this.list.selection.getId().length;return e?[r.el("li.dhx_combobox-input-list__item.dhx_combobox-tag",[r.el("span.dhx_combobox-tag__value",function(t,e){return"function"==typeof e?e(t):t+" "+_.default.selectedItems}(e,this.config.showItemsCount)),r.el("button.dhx_button.dhx_combobox-tag__action.dhx_combobox__action-clear-all",[r.el("span.dhx_button__icon.dxi.dxi-close-circle")])])]:[]}return this.list.selection.getId().map(function(e){var i=t.data.getItem(e);return i?r.el("li.dhx_combobox-input-list__item.dhx_combobox-tag",{dhx_id:e},[t._drawImageOrIcon(i),r.el("span.dhx_combobox-tag__value",t._getItemText(i)),r.el("button.dhx_button.dhx_button--icon.dhx_combobox-tag__action.dhx_combobox__action-remove",{type:"button"},[r.el("span.dhx_button__icon.dxi.dxi-close-circle")])]):null})},e.prototype._drawImageOrIcon=function(t){return t.src?r.el("img.dhx_combobox-tag__image",{src:t.src}):t.icon?r.el("span.dhx_combobox-tag__icon",{class:t.icon}):null},e.prototype._getItemText=function(t){return t?t.value:null},e}(l.View);e.Combobox=y},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KEY_CODES={BACKSPACE:8,ENTER:13,ESC:27,DOWN_ARROW:40}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){var t=this;this._sequence="",document.addEventListener("keydown",function(e){if(t._isActive){var i=e.key;"Backspace"===i&&t._sequence.length>0&&(t._sequence=t._sequence.slice(0,t._sequence.length-1),t._change()),i.length<2&&(t._sequence+=i,t._change())}})}return t.prototype.startNewListen=function(t){this._isActive=!0,this._sequence="",this._currentAction=t},t.prototype.endListen=function(){this._currentAction=null,this.reset(),this._isActive=!1},t.prototype.reset=function(){this._sequence=""},t.prototype._change=function(){this._currentAction(this._sequence),this._addClearTimeout()},t.prototype._addClearTimeout=function(){var t=this;this._clearTimeout&&clearTimeout(this._clearTimeout),this._clearTimeout=setTimeout(function(){t.reset(),t._clearTimeout=null},2e3)},t}();e.KeyListener=n},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(48);e.selectAllView=function(){return n.el(".dhx_list-item.dhx_combobox-options__item.dhx_combobox-options__item--select-all.dhx_combobox__action-select-all",o.default.selectAll)},e.unselectAllView=function(){return n.el(".dhx_list-item.dhx_combobox-options__item.dhx_combobox-options__item--select-all.dhx_combobox__action-select-all",o.default.unselectAll)},e.emptyListView=function(){return n.el("ul.dhx_list",[n.el("li.dhx_list-item.dhx_combobox-options__item",{},o.default.notFound)])}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(161)),n(i(49))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ie.offsetHeight,n=t.node.attrs.class.replace(" dhx_dataview--has-scroll",""),o=i?n+" dhx_dataview--has-scroll":n;t.node.patch({class:o})}}});return n.mount(e,l),n}return n(e,t),e.prototype.edit=function(t){this._edited=t,this.data.getItem(this._edited)&&this.events.fire(f.DataViewEvents.beforeEditStart,[t])?(this._getHotkeys(),this.paint(),this.events.fire(f.DataViewEvents.afterEditStart,[t])):this._edited=null},e.prototype.setFocusIndex=function(t){t<0?this._focusIndex=0:t>this.data.getLength()-1?this._focusIndex=this.data.getLength()-1:this._focusIndex=t;var e=this.getRootNode();if(e&&e.parentNode){var i=e.children[Math.floor(this._focusIndex/this.config.itemsInRow)];if(i){var n=i.children[this._focusIndex%this.config.itemsInRow],o=parseInt(this.config.gap.toString().replace("px",""),null);n.offsetTop>=e.clientHeight+e.scrollTop-n.clientHeight?e.scrollTop=n.offsetTop-e.clientHeight+n.clientHeight+o:n.offsetTop1?this.combobox.getValue(!0):this.combobox.getValue()||""},e.prototype.setValue=function(t){t&&this.combobox.setValue(t),this.paint()},e.prototype.validate=function(){var t=this.combobox.getValue(),e=this.config,i=e.validation,n=e.required;if(i){var o=this.config.validation(t);return this.config.$validationStatus=o?c.ValidationStatus.success:c.ValidationStatus.error,this._validationStatus(),this.paint(),o}return n?(this.config.$validationStatus=Boolean(t)?c.ValidationStatus.success:c.ValidationStatus.error,this._validationStatus(),this.paint(),Boolean(t)):(this.paint(),!0)},e.prototype.clearValidate=function(){this.config.$validationStatus=c.ValidationStatus.pre,this._validationStatus(),this.paint()},e.prototype._validationStatus=function(){switch(this.config.$validationStatus){case c.ValidationStatus.pre:this.combobox.config.css=this.config.css||"";break;case c.ValidationStatus.success:this.combobox.config.css=(this.config.css||"")+"dhx_form-group--state_success";break;case c.ValidationStatus.error:this.combobox.config.css=(this.config.css||"")+"dhx_form-group--state_error";break;default:this.combobox.config.css=this.config.css||""}},e.prototype._getRootView=function(){return this.combobox.paint(),this.combobox.getRootView()},e.prototype._draw=function(){var t=this.config,e=t.labelWidth,i=t.labelInline,n=t.$validationStatus;return o.el(".dhx_form-group",{},[o.inject(this._getRootView()),o.el("div",{style:{"margin-left":e&&i?"calc("+e+" + 16px)":""},class:1===n?"dhx_form-group--state_error":2===n?"dhx_form-group--state_success":""},[o.el("span.dhx_input-caption",r.getValidationMessage(this.config))])])},e}(a.Label);e.Combo=l},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(30),r=function(t){function e(e){var i=t.call(this,null,e)||this;return i.slider=new o.Slider(null,e),i.events=i.slider.events,i.config.value=i.slider.getValue(),i.slider.events.on("Change",function(){i.validate(),i.config.value=i.slider.getValue()}),i.disable(i.config.disabled),i}return n(e,t),e.prototype.clear=function(){this.config.value=[0],this.slider.setValue(this.config.value)},e.prototype.getValue=function(){return this.config.value},e.prototype.disable=function(t){t?this.slider.disable():this.slider.enable()},e.prototype.setValue=function(t){this.slider.setValue(t)},e.prototype.getRootView=function(){return this.slider.getRootView()},e.prototype.validate=function(){return!0},e}(i(16).Label);e.SliderForm=r},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i0;return this.config.$validationStatus=t?f.ValidationStatus.success:f.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=f.ValidationStatus.pre,this.paint()},e.prototype.clear=function(){this.data.removeAll(),this.paint()},e.prototype.getValue=function(){return this.data.map(function(t){return t.file})||[]},e.prototype._draw=function(){var t=this,e=this.data.getLength()?r.el("ul.dhx_simplevault__files.dhx_simplevault-files",this.data.map(function(e){return r.el("li.dhx_simplevault-files__item",[r.el("span.dhx_simplevault-files__item-name",e.file.name),r.el(".dhx_button.dhx_simplevault-files__delete.dhx_button--icon.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle",{dhx_id:e.id,onclick:t._handlers.remove},[r.el("span.dxi.dxi-delete-forever")])])})):null,i=this.config,n=i.id,o=i.labelInline,s=i.label,a=i.labelWidth,c=i.help,l=i.disabled,u=i.required,d=i.validation,f=o&&a?a:"";return r.el(".dhx_form-group.dhx_form-group--simplevault",{class:h.getFormItemCss(this.config,Boolean(u)||Boolean(d))},[r.el("label.dhx_label",{for:n||this._uid,style:{minWidth:f,maxWidth:f},class:c?"dhx_label--with-help":""},c?[r.el("span.dhx_label__holder",s),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:s),r.el(".dhx_input-wrapper",[r.el("div",{_hooks:{didInsert:function(e){t._uploader.linkDropArea(e.el)}},ondragover:this._handlers.ondragover,class:"dhx_simplevault"+(this._dragover?" dhx_simplevault--on-drag":"")},[r.el("div.dhx_simplevault-loader",[r.el("span.dhx_simplevault__icon.dxi.dxi-vault")]),r.el(".dhx_simplevault__drop-area",[r.el("input.dhx_simplevault__input",{type:"file",id:n,disabled:l}),r.el("span.dhx_simplevault__icon.dxi.dxi-vault"),r.el("span.dhx_simplevault__title",[r.el("span",p.default.simpleVaultText),r.el("br"),r.el("label.dhx_simplevault__label",{onclick:this._handlers.add,for:n}," "+p.default.simpleVaultLabel)])]),e]),h.getValidationMessage(this.config)&&r.el("span.dhx_input-caption",{},h.getValidationMessage(this.config))])])},e}(c.View);e.SimpleVault=_},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o,r=i(29),s=i(0),a=i(16),c=i(10),l=i(2),u=i(8),d=i(9);!function(t){t.change="change"}(o=e.TimeInputEvents||(e.TimeInputEvents={}));var h=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=new l.EventSystem,n._popup=new c.Popup({css:"dhx_widget--border-shadow"}),n.timepicker=new r.Timepicker(null,i),n._popup.attach(n.timepicker);return n.mount(e,s.create({render:function(){return n._draw()}})),n.timepicker.events.on(r.TimepickerEvents.change,function(){n.config.value=n.timepicker.getValue(),n.validate()}),n.timepicker.events.on(r.TimepickerEvents.close,function(){n._popup.hide()}),n.timepicker.events.on(r.TimepickerEvents.save,function(){n._popup.hide()}),n.events.on(o.change,function(t){n.config.value=n._inputValidate(t),n.validate()}),n}return n(e,t),e.prototype.validate=function(){var t=!this.config.required||Boolean(this.config.value);return this.config.$validationStatus=t?u.ValidationStatus.success:u.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=u.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.timepicker.setValue(t),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.clear=function(){12===this.config.timeFormat?this.timepicker.setValue("12:00AM"):this.timepicker.setValue("00:00"),this.config.value=""},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onchange:function(e){var i=e.target.value;t.events.fire(o.change,[i])},onkeyup:function(e){13===e.keyCode&&(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur())}}},e.prototype._inputValidate=function(t){var e=this.config.timeFormat;return d.isTimeFormat(t,e)?(this.timepicker.setValue(t),t):""},e.prototype._draw=function(){var t=this.config,e=t.value,i=t.required,n=t.disabled,o=t.placeholder,r=t.name,a=t.id,c=t.validation,l=t.editing,u=void 0!==l&&l;return s.el("div.dhx_form-group",{class:d.getFormItemCss(this.config,Boolean(i)||Boolean(c))},[this._drawLabel(),s.el(".dhx_input-wrapper",[s.el("div.dhx_input-container",{},[s.el(".dhx_input__icon.dxi.dxi-clock-outline"),s.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:e,type:"text",_ref:"input",required:i,disabled:n,placeholder:o||"",name:r||"",id:a||this._uid,onfocus:this._handlers.onfocus,onchange:this._handlers.onchange,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!u})]),d.getValidationMessage(this.config)&&s.el("span.dhx_input-caption",{},d.getValidationMessage(this.config))])])},e}(a.Label);e.TimeInput=h},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o,r=i(31),s=i(2),a=i(0),c=i(16),l=i(10),u=i(8),d=i(9);!function(t){t.change="change"}(o=e.ColorpickerInputEvents||(e.ColorpickerInputEvents={}));var h=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=new s.EventSystem,n._popup=new l.Popup({css:"dhx_widget--border-shadow"}),n.colorpicker=new r.Colorpicker(null,i),n._popup.attach(n.colorpicker);return n.mount(e,a.create({render:function(){return n._draw()}})),n.colorpicker.events.on(r.ColorpickerEvents.colorChange,function(){n.config.value=n.colorpicker.getValue(),n._popup.hide(),n.validate()}),n.events.on(o.change,function(t){var e=n._inputValidate(t);n.setValue(e),n.validate()}),n}return n(e,t),e.prototype.validate=function(){var t=!this.config.required||Boolean(this.config.value);return this.config.$validationStatus=t?u.ValidationStatus.success:u.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=u.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.config.value=t,this.colorpicker.setValue(t),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.clear=function(){this.config.value="",this.paint()},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onchange:function(e){var i=e.target.value;t.events.fire(o.change,[i])},onkeyup:function(e){13===e.keyCode&&(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur())}}},e.prototype._inputValidate=function(t){return r.isHex(t)?t:""},e.prototype._draw=function(){var t=this.config,e=t.required,i=t.value,n=t.icon,o=t.disabled,r=t.placeholder,s=t.name,c=t.id,l=t.editing,u=void 0!==l&&l;return a.el("div.dhx_form-group",{class:d.getFormItemCss(this.config,Boolean(e)||Boolean(this.config.validation))},[this._drawLabel(),a.el(".dhx_input-wrapper",[a.el("div.dhx_input-container",{},[a.el(".dhx_input__icon",{class:n||"dxi dxi-eyedropper-variant"+(i?" dhx_input__icon--color-selected":""),style:{"background-color":i||"transparent"}}),a.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:i,type:"text",_ref:"input",required:e,disabled:o,placeholder:r||"",name:s||"",id:c||this._uid,onfocus:this._handlers.onfocus,onchange:this._handlers.onchange,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!u})]),d.getValidationMessage(this.config)&&a.el("span.dhx_input-caption",{},d.getValidationMessage(this.config))])])},e}(c.Label);e.ColorpickerInput=h},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(180)),n(i(11)),n(i(52)),n(i(51)),n(i(20))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0&&(this._currentData[o].$css=i.$css),this.paint()}},e.prototype.removeRowCss=function(t,e){var i=this.data.getItem(t),n=i.$css?i.$css.replace(e,""):"";i.$css=n},e.prototype.addCellCss=function(t,e,i){var n=this._getColumn(e);n&&(n.$cellCss[t]?n.$cellCss[t]+=n.$cellCss[t].match(new RegExp(i,"g"))?"":" "+i:this.data.getItem(t)&&(n.$cellCss[t]=i+" "),this.paint())},e.prototype.removeCellCss=function(t,e,i){var n=this._getColumn(e);n&&(n.$cellCss[t]?(n.$cellCss[t]=n.$cellCss[t].replace(i,""),this.paint()):this.data.getItem(t)&&(n.$cellCss[t]=""))},e.prototype.getScrollState=function(){return{x:this._scroll.left,y:this._scroll.top}},e.prototype.scroll=function(t,e){var i=this.getRootView().refs.grid_body.el;i.scrollLeft="number"==typeof t?t:i.scrollLeft,i.scrollTop="number"==typeof e?e:i.scrollTop},e.prototype.scrollTo=function(t,e){var i=v.findIndex(this.config.columns,function(t){return t.id===e}),n=this.config.splitAt?this.config.columns.slice(0,this.config.splitAt).reduce(function(t,e){return t+e.width},0):0,o=this.config.columns.slice(0,i).reduce(function(t,e){return t+e.width},0)-n,r=this.data.getIndex(t)*this.config.rowHeight,s=this.getScrollState(),a=this.config.width+s.x,c=this.config.height+s.y-this.config.headerRowHeight*this.config.$headerLevel,l=r-s.y-this.config.rowHeight,u=o-s.x-this.config.columns[i].width,d=r+2*this.config.rowHeight+17-c,h=o+2*this.config.columns[i].width+17-a,p=l>0&&d<0?0:l<0?l:d,f=u>0&&h<0?0:u<0?u:h;this.scroll(f+s.x,p+s.y)},e.prototype.adjustColumnWidth=function(t){var e=v.findIndex(this.config.columns,function(e){return e.id===t}),i=this.config.columns[e];this.data.map(function(t){"string"!=typeof t[i.id]&&"number"!=typeof t[i.id]||(i.maxWidth=i.maxWidth||i.width,i.maxWidth=Math.max(h.getStrWidth(h.removeHTMLTags(t[i.id]))+20,i.maxWidth))}),this.config.$totalWidth=this.config.columns.reduce(function(t,e){return e.width=e.maxWidth||e.width,t+e.width},0),this.paint()},e.prototype.getCellRect=function(t,e){var i=v.findIndex(this.config.columns,function(t){return t.id===e}),n=this._getRowIndex(t);return{x:this.config.columns.slice(0,i).reduce(function(t,e){return t+e.width},0),y:n*this.config.rowHeight,height:this.config.rowHeight,width:this.config.columns[i].width}},e.prototype.getColumn=function(t){var e=v.findIndex(this.config.columns,function(e){return e.id===t});if(e>=0)return this.config.columns[e]},e.prototype.addSpan=function(t){this.config.spans=this.config.spans||[];var e=v.findIndex(this.config.spans,function(e){return""+e.row==""+t.row&&""+e.column==""+t.column});e>=0?this.config.spans[e]=t:this.config.spans.push(t)},e.prototype.getSpan=function(t,e){if(this.config.spans){var i=v.findIndex(this.config.spans,function(i){return""+i.row==""+t&&""+i.column==""+e});return this.config.spans[i]}},e.prototype.removeSpan=function(t,e){if(this.config.spans){var i=v.findIndex(this.config.spans,function(i){return""+i.row==""+t&&""+i.column==""+e});this.config.spans.splice(i,1)}},e.prototype.edit=function(t,e,i){void 0===i&&(i=f.EditorType.input);var n=this.data.getItem(t),o=this.getColumn(e);n&&void 0!==n[e]&&this.events.fire(f.GridEvents.beforeEditStart,[n,o,i])&&("date"===o.type&&(i=f.EditorType.datepicker),this.config.$editable={row:t,col:e,editorType:i},this.paint(),this.events.fire(f.GridEvents.afterEditStart,[n,o,i]))},e.prototype._parseColumns=function(){var t=this.config.columns;d.normalizeColumns(t),d.countColumns(this.config,t)},e.prototype._parseData=function(){this.data.getId(0)&&(this.config.columns.length&&this._checkColumns(),this._currentData=this.data.serialize()||[]),this._checkFilters(),this._checkMarks(),this._render()},e.prototype._checkColumns=function(){this._detectColsTypes()},e.prototype._createCollection=function(t){this.data=new l.DataCollection({prep:t},this.events)},e.prototype._getRowIndex=function(t){return this.data.getIndex(t)},e.prototype._setEventHandlers=function(){var t=this;this.data.events.on(l.DataEvents.load,function(){t._parseData(),t.data.events.fire(l.DataEvents.change)}),this.data.events.on(l.DataEvents.change,function(e,i,n){if("remove"!==i||!n.$empty){if(t._currentData=t.data.map(function(t){return t})||[],t._detectColsTypes(),t._checkMarks(),t.config.columnsAutoWidth&&("number"==typeof t.config.columnsAutoWidth?t._setAutoWidth(t.config.columnsAutoWidth):t._setAutoWidth()),t.config.autoEmptyRow){var o=t.data.find({by:"$empty",match:!0});!o||"add"===i&&n.$empty||t.data.remove(o.id),"add"===i&&n.$empty||t._addEmptyRow()}t._render()}}),this.data.events.on(l.DataEvents.removeAll,function(){t.config.columns.map(function(t){t.header.map(function(e){e.content&&"selectFilter"===e.content&&(t.$uniqueData=[])})})}),this.events.on(f.GridEvents.sort,function(e){e&&t._sort(e)}),this.events.on(f.GridEvents.headerInput,function(e,i,n){if(t.config.autoEmptyRow){var o=t.data.find({by:"$empty",match:!0});o&&t.data.remove(o.id)}t.data.filter({by:i,match:e,compare:t.content[n].match},{multiple:!0})}),this.events.on(f.GridEvents.scroll,function(e){t._scroll={top:e.y,left:e.x},t.paint()}),this.events.on(f.GridEvents.cellDblClick,function(e,i){(!1!==i.editing&&t.config.editing||i.editing)&&t.edit(e.id,i.id,i.editorType)}),this.events.on(f.GridEvents.afterEditEnd,function(e){var i,n=t.data.getItem(t.config.$editable.row);delete n.$empty,void 0!==e&&null!==e&&""!==e&&t.data.update(t.config.$editable.row,o({},n,((i={})[t.config.$editable.col]=e,i))),t.config.$editable=null,t._checkFilters(),t.paint()})},e.prototype._addEmptyRow=function(){var t=this.data.getId(this.data.getLength()-1),e=this.data.getItem(t);h.isRowEmpty(e)||this.data.add(this.config.columns.reduce(function(t,e){return t[e.id]="",t},{$empty:!0}))},e.prototype._sort=function(t,e){var i=this;e?this._sortDir=e:this._sortBy===t?this._sortDir="asc"===this._sortDir?"desc":"asc":this._sortDir="desc",this._sortBy=t,this.data.sort({by:t,dir:this._sortDir,as:function(e){return e&&"date"===i.getColumn(t).type?""+new Date(e).getTime():e?""+e:""}})},e.prototype._getColumn=function(t){for(var e=0,i=this.config.columns;en.length?n.forEach(function(t){-1===e.$uniqueData.indexOf(t)&&e.$uniqueData.push(t)}):e.$uniqueData=n}})})},e.prototype._render=function(){this.paint()},e}(c.View);e.Grid=m},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(20),o=function(){function t(t){this._view=t}return t.prototype.xlsx=function(t){return this._export(t)},t.prototype._export=function(t){void 0===t&&(t={});for(var e=this._view.config.columns,i={},o=n.transpose(this._view.config.columns.map(function(t){return t.header.map(function(t){return t.text||" "})})),r=[],s={default:{color:"#000000",background:"#FFFFFF",fontSize:14}},a=[],c={},l=this._view.data.serialize().map(function(t,o){return i[t.id]=o,e.map(function(e,i){return c[e.id]=i,n.removeHTMLTags(t[e.id])})}),u=0,d=e;um.height?r.getScrollbarWidth():0;v.$totalWidth=m.width-d-y;var x=v.columns.reduce(function(t,e){return t+e.width},0),b=v.$totalWidth/x;v.columns.map(function(t){t.width=b*t.width})}v.width=m.width,v.height=m.height;var w=function(t,e,i){var o=t.config,r=s.calculatePositions(i.width,i.height,t._scroll,o);return n({},o,{data:e,scroll:t._scroll,$positions:r,headerHeight:o.$headerLevel*o.headerRowHeight,footerHeight:o.$footerLevel*o.footerRowHeight,firstColId:o.columns[0].id,events:t.events,currentColumns:o.columns.slice(r.xStart,r.xEnd),sortBy:t._sortBy,sortDir:t._sortDir})}(e,i,m);w.selection=f,w.datacollection=e.data;var k=c.getShifts(w),C=a.isCssSupport("position","sticky"),E=function(t,e,i){var n=i.height-d;n=e?n:n-t.headerHeight;var o=t.$footer,s=t.$totalHeight+d=0&&a.getRows(n({},t,{currentColumns:t.columns.slice(0,t.splitAt),$positions:n({},t.$positions,{xStart:0,xEnd:t.splitAt})}),n({},e,{name:"header",position:"top"})),_=t.splitAt>=0&&a.getRows(n({},t,{currentColumns:t.columns.slice(0,t.splitAt),$positions:n({},t.$positions,{xStart:0,xEnd:t.splitAt})}),n({},e,{name:"footer",position:"bottom"})),v=f&&o.el(".dhx_"+h.name+"-fixed-cols",{style:{position:"absolute",top:0,left:0,zIndex:999999}},f),g=d?_&&o.el(".dhx_"+p.name+"-fixed-cols",{style:{position:"absolute",bottom:0,left:0,zIndex:999999}},_):null;return o.el(".dhx_grid-fixed-cols-wrap",{style:{height:c,paddingTop:t.headerHeight,overflow:"hidden",width:t.fixedColumnsWidth}},[v,o.el(".dhx_grid-fixed-cols",{style:{top:-t.scroll.top+t.headerHeight+"px",paddingTop:e.shifts.y,height:t.$totalHeight,position:"absolute"}},u),t.$footer&&g,o.el(".dhx_frozen-cols-border")])}}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(190)),n(i(191));var o=i(15);e.ItemType=o.ItemType,e.NavigationBarEvents=o.NavigationBarEvents},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(3),r=i(15),s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._isContextMenu=!0,e}return n(e,t),e.prototype.showAt=function(t,e){if(void 0===e&&(e="bottom"),t instanceof MouseEvent)this._changeActivePosition({left:window.pageXOffset+t.x+1,right:window.pageXOffset+t.x+1,top:window.pageYOffset+t.y,bottom:window.pageYOffset+t.y},e);else{var i=o.toNode(t);this._changeActivePosition(o.getRealPosition(i),e)}},e.prototype._getFactory=function(){return r.createFactory({widget:this,defaultType:r.ItemType.menuItem,allowedTypes:[r.ItemType.menuItem,r.ItemType.separator,r.ItemType.spacer],widgetName:"context-menu"})},e.prototype._close=function(){t.prototype._close.call(this),this._activeMenu=null,this._changeActivePosition(null,null)},e.prototype._getMode=function(t,e,i){return i?this._mode:"right"},e.prototype._changeActivePosition=function(t,e){this._activePosition=t,this._mode=e,this._listenOuterClick(),this.paint()},e}(r.Navbar);e.ContextMenu=s},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(15),s=function(t){function e(e,i){var n=t.call(this,e,i)||this;return n.mount(e,o.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype._getFactory=function(){return r.createFactory({widget:this,defaultType:r.ItemType.menuItem,allowedTypes:[r.ItemType.menuItem,r.ItemType.separator,r.ItemType.spacer],widgetName:"menu-nav"})},e.prototype._draw=function(){return o.el("ul",{dhx_widget_id:this._uid,onmousemove:this._handlers.onmousemove,onmouseleave:this._handlers.onmouseleave,onclick:this._handlers.onclick,onmousedown:this._handlers.onmousedown,class:"dhx_menu-nav "+(this.config.css?this.config.css:"")},this._drawMenuItems(this.data.getRoot(),!1))},e}(r.Navbar);e.Menu=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}(i(193))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(27),s=i(15),a=i(1),c=i(3),l=i(19),u=function(t){function e(e,i){var n=t.call(this,e,a.extend({navigationType:"click"},i))||this;n._listeners={input:function(t){var e=c.locate(t);n.data.update(e,{value:t.target.value})},tooltip:function(t){var e=c.locateNode(t);if(e){var i=e.getAttribute("dhx_id"),o=n.data.getItem(i);o.tooltip&&l.tooltip(o.tooltip,{node:e,position:l.Position.bottom})}}},n._currentRoot=null;return n.mount(e,o.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.getState=function(){var t={};for(var e in this.data.eachChild(this.data.getRoot(),function(e){e.twoState&&!e.group?t[e.id]=e.active:e.type!==r.ItemType.input&&e.type!==r.ItemType.selectButton||(t[e.id]=e.value)},!0),this._groups)this._groups[e].active&&(t[e]=this._groups[e].active);return t},e.prototype.setState=function(t){for(var e in t)if(this._groups&&this._groups[e])this._groups[e].active&&(this.data.update(this._groups[e].active,{active:!1}),this._groups[e].active=t[e],this.data.update(t[e],{active:!0}));else{var i=this.data.getItem(e);i.type===r.ItemType.input||i.type===r.ItemType.selectButton?this.data.update(e,{value:t[e]}):this.data.update(e,{active:t[e]})}},e.prototype._getFactory=function(){return s.createFactory({widget:this,defaultType:r.ItemType.navItem,allowedTypes:[r.ItemType.navItem,r.ItemType.button,r.ItemType.customHTMLButton,r.ItemType.imageButton,r.ItemType.input,r.ItemType.selectButton,r.ItemType.separator,r.ItemType.spacer,r.ItemType.title],widgetName:"ribbon"})},e.prototype._getMode=function(t,e){return t.id===e?"bottom":"right"},e.prototype._close=function(){this._activePosition=null,this._currentRoot=null,t.prototype._close.call(this)},e.prototype._draw=function(){var t=this;return o.el("ul.dhx_ribbon.dhx_widget",{dhx_widget_id:this._uid,class:this.config.css?this.config.css:"",tabindex:0,onclick:this._handlers.onclick,onmousedown:this._handlers.onmousedown,oninput:this._listeners.input,onmouseover:this._listeners.tooltip,_hooks:{didInsert:function(e){e.el.addEventListener("keyup",function(e){if(9===e.which){var i=c.locateNode(document.activeElement);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);o.tooltip&&l.tooltip(o.tooltip,{node:i,position:l.Position.bottom,force:!0})}}},!0)}}},[o.el("li",{class:"dhx_ribbon-block dhx_ribbon-block--root"},[o.el("ul.dhx_ribbon-content.dhx_ribbon-content--full-width",this.data.map(function(e){return"block"===e.type?t._drawBlock(e,!0):t._factory(e)},this.data.getRoot(),!1))])])},e.prototype._setRoot=function(t){var e=this.data.getParent(t);this.data.getItem(e).type===r.ItemType.block&&(this._currentRoot=t)},e.prototype._drawBlock=function(t,e){var i=this;if(!t||t.hidden)return null;var n="dhx_ribbon-block dhx_ribbon-block"+("col"===t.direction?"--col":"--row")+(t.title?" dhx_ribbon-block--title":"")+(t.css?" "+t.css:"")+(e?" dhx_ribbon-block--indented":""),s=this.data.map(function(t){return t.type===r.ItemType.block?i._drawBlock(t):t.type!==r.ItemType.separator&&t.type!==r.ItemType.spacer?i._factory(t):null},t.id,!1);return o.el("li",{class:n},[o.el("ul.dhx_ribbon-content",s),t.title?o.el("span.dhx_ribbon-content-label-wrapper",[o.el("span.dhx_ribbon-content-label",t.title)]):null])},e}(s.Navbar);e.Ribbon=u},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(195)),n(i(77))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(3),s=i(77),a=i(19),c=i(15),l=i(1),u=function(t){function e(e,i){var n=t.call(this,e,l.extend({navigationType:"click",width:"200",minWidth:"44",collapsed:!1},i))||this;n._currentRoot=null;return n.mount(e,o.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.toggle=function(){this.config.collapsed=!this.config.collapsed,this.events.fire(s.SidebarEvents.toggle,[this.config.collapsed]),this.paint()},e.prototype.isCollapsed=function(){return this.config.collapsed},e.prototype._getFactory=function(){return c.createFactory({widget:this,defaultType:c.ItemType.navItem,allowedTypes:[c.ItemType.navItem,c.ItemType.menuItem,c.ItemType.customHTMLButton,c.ItemType.separator,c.ItemType.spacer,c.ItemType.title],widgetName:"sidebar"})},e.prototype._close=function(){this._activePosition=null,this._currentRoot=null,t.prototype._close.call(this)},e.prototype._setRoot=function(t){this.data.getParent(t)===this.data.getRoot()&&(this._currentRoot=t)},e.prototype._customHandlers=function(){var t=this;return{tooltip:function(e){var i=r.locateNode(e);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);(o.tooltip||t.config.collapsed&&o.value)&&a.tooltip(o.tooltip||o.value,{node:i,position:a.Position.right})}}}},e.prototype._draw=function(){var t=this,e=this.config,i=e.width,n=e.minWidth,s=this.config.collapsed?n:i;return o.el("nav.dhx_widget.dhx_sidebar",{class:(this.config.css?this.config.css:"")+(this.config.collapsed?" dhx_sidebar--minimized":""),style:{width:s+"px"}},[o.el("ul.dhx_navbar.dhx_navbar--vertical",{dhx_widget_id:this._uid,tabindex:0,onclick:this._handlers.onclick,onmousedown:this._handlers.onmousedown,oninput:this._handlers.input,onmouseover:this._handlers.tooltip,_hooks:{didInsert:function(e){e.el.addEventListener("keyup",function(e){if(9===e.which){var i=r.locateNode(document.activeElement);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);(o.tooltip||t.config.collapsed&&o.value)&&a.tooltip(o.tooltip||o.value,{node:i,position:a.Position.right,force:!0})}}},!0)}}},this.data.map(function(e){return t._factory(e)},this.data.getRoot(),!1))])},e.prototype._getMode=function(){return"right"},e.prototype._customInitEvents=function(){var t=this;this.events.on(c.NavigationBarEvents.inputFocus,function(){t.config.collapsed&&(t._waitRestore=!0,t.toggle())}),this.events.on(c.NavigationBarEvents.inputBlur,function(){t._waitRestore&&(t.toggle(),t._waitRestore=!1)})},e}(c.Navbar);e.Sidebar=u},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(197)),n(i(78))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i'+(e.text||e.value)+""}),this.events.on(d.DragEvents.canDrop,function(e,i){var n;n=t.config.dropBehaviour===d.DropBehaviour.complex?i===d.DropPosition.top?"dhx_tree-drop--top":i===d.DropPosition.bot?"dhx_tree-drop--bottom":"dhx_tree-drop--in-folder":t.config.dropBehaviour===d.DropBehaviour.child?"dhx_tree-drop--in-folder":"dhx_tree-drop--bottom",t.data.exists(e)&&t.data.update(e,{$drophere:n})}),this.events.on(d.DragEvents.cancelDrop,function(e){t.data.exists(e)&&t.data.update(e,{$drophere:null})}),this.events.on(d.DragEvents.dropComplete,function(e,i){(t.config.dropBehaviour===d.DropBehaviour.child||t.config.dropBehaviour===d.DropBehaviour.complex&&i===d.DropPosition.in)&&t.open(e)}),this.events.on(d.DragEvents.dragStart,function(){t._isSelectionActive=!1,t.paint()}),this.events.on(d.DragEvents.dragEnd,function(){t._isSelectionActive=!0,t.paint()}),this.events.on(l.SelectionEvents.afterSelect,function(e){return t._focusId=e}),this.config.editing&&this.events.on(f.TreeEvents.itemDblClick,function(e){return t.editItem(e)})},e.prototype._initHandlers=function(){var t=this;this._handlers={onmouseleave:function(t){d.dragManager._cancelCanDrop()},onclick:function(e){var i=c.locate(e);i&&(e.target.classList.contains("dhx_tree-toggle-button")?t.toggle(i):e.target.classList.contains("dhx_tree-checkbox")?t.data.getItem(i).$mark===f.SelectStatus.unselected?t.checkItem(i):t.unCheckItem(i):(t.events.fire(f.TreeEvents.itemClick,[i,e]),t.data.exists(i)&&t.selection.add(i)))},ondblclick:function(e){var i=c.locate(e);t.events.fire(f.TreeEvents.itemDblClick,[i,e])},ondragstart:function(t){t.preventDefault()},onmousedown:function(e){t.config.dragMode&&t.config.dragMode!==d.DragMode.target&&d.dragManager.onMouseDown(e)},oncontextmenu:function(e){var i=c.locate(e);i&&t.events.fire(f.TreeEvents.itemContextMenu,[i,e])}}},e.prototype._drawItems=function(t,e){var i=this;return void 0===e&&(e=0),this.data.map(function(t){if(t){var n,r,a,c=!!i.config.isFolder&&i.config.isFolder(t);if((t.$autoload||i.data.haveItems(t.id))&&(c=!0,n=s.el("div",{class:"dxi dxi-menu-right dhx_tree-toggle-button"},""),t.opened&&(n=s.el("div",{class:"dxi dxi-menu-down dhx_tree-toggle-button dhx_tree-toggle-button--open"},""),r=i._drawItems(t.id,e+1))),t.checkbox){var l=t.$mark===f.SelectStatus.indeterminate?"dxi-minus-box":t.$mark===f.SelectStatus.selected?"dxi-checkbox-marked":"dxi-checkbox-blank-outline";a=s.el("div",{class:"dhx_tree-checkbox dxi "+l})}var u,d=g(c,t.opened),h=(t.icon||i.config.icon)[d]||i.config.icon[d];return u=t.$edit?i._editor.edit(i._uid,o({item:t},t.$editConfig)):s.el("span",{class:"dhx_tree-list-item__text"},t.text||t.value),c?s.el("li",{class:"dhx_tree-list-item dhx_tree-list-item--parent"+(t.css?" "+t.css:""),dhx_id:t.id,_key:t.id},[s.el("div.dhx_tree-folder",{class:(t.id===i._focusId?" dhx_tree-folder--focused":"")+(t.$selected?" dhx_tree-folder--selected":"")+(t.$drophere?" "+t.$drophere:""),style:{left:-_(e)+"px",right:-_(e)+"px","margin-left":_(e)+"px"}},[n,s.el("div.dhx_tree-list-item__content",[a,s.el("div",{class:"dhx_tree-list-item__icon "+h}),u])]),r&&s.el("ul.dhx_tree-list",r)]):s.el("li",{class:"dhx_tree-list__item dhx_tree-list-item"+(t.id===i._focusId?" dhx_tree-list-item--focused":"")+(t.$selected?" dhx_tree-list-item--selected":"")+(t.$drophere?" "+t.$drophere:"")+(c?"dhx_tree-list-item--folder":""),style:{left:-_(e)+"px",right:-_(e)+"px","margin-left":_(e)+"px"},dhx_id:t.id,level:e},[n,s.el("div",{class:"dhx_tree-list-item__content"},[a,s.el("div",{class:"dhx_tree-list-item__icon "+h}),u])])}},t,!1)},e.prototype._updateItemCheck=function(t,e){this.data.update(t,{$mark:e}),this.data.eachChild(t,function(t){return t.$mark=e}),this._updateParents(t)},e.prototype._updateParents=function(t,e){var i=this;void 0===e&&(e=!1),t!==this._root&&this.data.eachParent(t,function(t){var e=0,n=0;i.data.eachChild(t.id,function(t){if(t.checkbox)switch(t.$mark){case f.SelectStatus.unselected:n++;break;case f.SelectStatus.selected:e++}},!0),t.$mark=0!==e&&0!==n?f.SelectStatus.indeterminate:0===e&&0!==n?f.SelectStatus.unselected:f.SelectStatus.selected},e)},e}(u.View);function g(t,e){return t?e?f.ItemIcon.openFolder:f.ItemIcon.folder:f.ItemIcon.file}e.Tree=v},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),o=i(3),r=i(13),s=function(){function t(){this._store={},this._keyManager=r.keyManager,this._listen=!1,this._blocked=!1}return t.prototype.add=function(t,e){this._listen||(this._listen=!0,this._initKeys(),this._addListeners()),this._store[t]=e},t.prototype.block=function(t){this._blocked=t},t.prototype._initKeys=function(){var t=this;this._keyManager.addHotKey("arrowleft",function(e){if(!t._blocked){e.preventDefault();var i=t._store[t._activeTarget];if(i){var n=t._getFocused(),o=i.data.getParent(n);if(i.data.getRoot()!==o)!i.data.getItem(n).opened?i.focusItem(o):n!==i.data.getRoot()&&i.close(n);else i.close(n)}}}),this._keyManager.addHotKey("arrowright",function(e){if(!t._blocked){e.preventDefault();var i=t._store[t._activeTarget];if(i){var n=t._getFocused();i.data.haveItems(n)&&i.open(n)}}}),this._keyManager.addHotKey("arrowup",function(e){if(!t._blocked){e.preventDefault();var i=t._store[t._activeTarget];if(i){var n=t._getFocused(),o=i.data,r=t._getClosestTop(n,o);r&&i.focusItem(r)}}}),this._keyManager.addHotKey("arrowdown",function(e){if(!t._blocked){e.preventDefault();var i=t._store[t._activeTarget];if(i){var n=t._getFocused(),o=i.data,r=t._getClosestBot(n,o);r&&i.focusItem(r)}}}),this._keyManager.addHotKey("enter",function(){if(!t._blocked){var e=t._store[t._activeTarget];if(e){var i=t._getFocused();i&&e.selection.add(i)}}})},t.prototype._getFocused=function(){var t=this._store[this._activeTarget],e=t._focusId;if(e)return e;var i=t.data.getRoot();return t.data.getItems(i)[0].id},t.prototype._addListeners=function(){var t=this;document.addEventListener("click",function(e){var i=o.locate(e,"dhx_widget_id");i in t._store&&(t._activeTarget=i)}),r.keyManager.addHotKey("tab",function(e){var i=o.locate(e,"dhx_widget_id");i in t._store&&(t._activeTarget=i)},this)},t.prototype._getClosestBot=function(t,e,i){void 0===i&&(i=!1);var o=e.getItem(t);if(e.haveItems(t)&&o.opened&&!i)return e.getItems(t)[0].id;var r=e.getParent(t),s=e.getItems(r),a=n.findIndex(s,function(e){return e.id===t});return a+10){var o=e.getItems(n)[i-1];if(!e.haveItems(o.id)||!o.opened)return o.id;for(;e.haveItems(o.id)&&o.opened;){var r=e.getItems(o.id);o=r[r.length-1]}return o.id}return n===e.getRoot()?null:n},t}();e.keyNavigation=new s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}(i(202))},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),o=i(0),r=i(2),s=i(13),a=i(12),c=i(27),l=i(203),u=i(204);function d(e){return new t(function(t){var i=setTimeout(function(){n()},1e3),n=function(){document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",n),t(!1)},o=function(r){(Math.abs(r.pageX-e.pageX)>4||Math.abs(r.pageY-e.pageY)>4)&&(document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",n),clearTimeout(i),t({x:e.pageX,y:e.pageY}))};document.addEventListener("mousemove",o),document.addEventListener("mouseup",n)})}var h=function(){function t(t){this.config=n.extend({movable:!1,resizable:!1,header:!1,closable:t.modal,minWidth:100,minHeight:100},t),this._uid=n.uid(),this.events=new r.EventSystem(this);var e=this._popup=document.createElement("div");e.className="dhx_popup dhx_widget dhx_popup--window"+(this.config.modal?" dhx_popup--window_modal":""),e.tabIndex=1,e.style.position="absolute",this.config.modal||u.default.add(this._uid,this._popup),this._isActive=!1,this._initHandlers(),this._initUI(),this.config.html&&this.attachHTML(this.config.html)}return t.prototype.paint=function(){this._layout.paint()},t.prototype.fullScreen=function(){this.setSize(window.innerWidth,window.innerHeight),this.setPosition(window.pageXOffset,window.pageYOffset)},t.prototype.setSize=function(t,e){var i={width:this._popup.offsetWidth,height:this._popup.offsetHeight},o={width:i.width,height:i.height};n.isDefined(t)&&(o.width=t),n.isDefined(e)&&(o.height=e),this._popup.style.width=o.width+"px",this._popup.style.height=o.height+"px",this.events.fire(l.WindowEvents.resize,[o,i,{left:!0,top:!0,bottom:!0,right:!0}])},t.prototype.getSize=function(){return{width:this._popup.offsetWidth,height:this._popup.offsetHeight}},t.prototype.setPosition=function(t,e){var i={left:this._popup.offsetLeft,top:this._popup.offsetTop},o={left:i.left,top:i.top};n.isDefined(t)&&(this.config.left=o.left=t),n.isDefined(e)&&(this.config.top=o.top=e),this._popup.style.left=o.left+"px",this._popup.style.top=o.top+"px",this.events.fire(l.WindowEvents.resize,[o,i,{left:!0,top:!0,bottom:!0,right:!0}])},t.prototype.getPosition=function(){return{left:this._popup.offsetLeft,top:this._popup.offsetTop}},t.prototype.show=function(t,e){if(void 0===t&&(t=this.config.left),void 0===e&&(e=this.config.top),this.events.fire(l.WindowEvents.beforeShow,[t,e])){var i=this.config.height=this.config.height||this.config.minHeight||window.innerHeight/2,o=this.config.width=this.config.width||this.config.minWidth||window.innerWidth/2;if(this.config.left=t=n.isDefined(t)?t:(window.innerWidth-o)/2+window.pageXOffset,this.config.top=e=n.isDefined(e)?e:(window.innerHeight-i)/2+window.pageYOffset,this._isActive)return this._popup.style.left=t+"px",void(this._popup.style.top=e+"px");this.config.viewportOverflow&&u.default.openFreeWindow(),this.config.modal&&this._blockScreen(),this._popup.style.width=o+"px",this._popup.style.height=i+"px",this._popup.style.left=t+"px",this._popup.style.top=e+"px",document.body.appendChild(this._popup),this._popup.focus(),this._isActive=!0,this.events.fire(l.WindowEvents.afterShow,[])}},t.prototype.hide=function(){this._isActive&&this.events.fire(l.WindowEvents.beforeHide,[])&&(this.config.viewportOverflow&&u.default.closeFreeWindow(),this._blocker&&(document.body.removeChild(this._blocker),this.config.closable&&s.keyManager.removeHotKey(null,this),this._blocker=null),document.body.removeChild(this._popup),this._isActive=!1,this.events.fire(l.WindowEvents.afterHide,[]))},t.prototype.isVisible=function(){return this._isActive},t.prototype.attach=function(t,e){this._layout.cell("content").attach(t,e)},t.prototype.attachHTML=function(t){this._layout.cell("content").attach(function(){return o.el(".dhx_window__inner-html-content",{".innerHTML":t})})},t.prototype.getRootView=function(){return this._layout.getRootView()},t.prototype.destructor=function(){this._isActive&&this.hide(),this.header&&this.header.destructor(),this.footer&&this.footer.destructor(),this._layout.destructor(),this._popup=null},t.prototype._initHandlers=function(){var t=this;this._handlers={headerDblClick:function(){return t.events.fire(l.WindowEvents.headerDoubleClick,[])},move:function(e){3!==e.which&&(e.preventDefault(),u.default.setActive(t._uid),d(e).then(function(e){e&&t._startDrag(e.x,e.y)}))},resize:{".dhx_window-resizer":function(e){3!==e.which&&(e.preventDefault(),u.default.setActive(t._uid),d(e).then(function(i){if(i){var n=e.target.classList;n.contains("dhx_window-resizer--left")?t._startResize({left:!0}):n.contains("dhx_window-resizer--right")?t._startResize({right:!0}):n.contains("dhx_window-resizer--top")?t._startResize({top:!0}):n.contains("dhx_window-resizer--bottom")?t._startResize({bottom:!0}):n.contains("dhx_window-resizer--bottom_left")?t._startResize({left:!0,bottom:!0}):n.contains("dhx_window-resizer--bottom_right")?t._startResize({bottom:!0,right:!0}):n.contains("dhx_window-resizer--top_left")?t._startResize({top:!0,left:!0}):n.contains("dhx_window-resizer--top_right")&&t._startResize({top:!0,right:!0})}}))}},setActive:function(){u.default.setActive(t._uid)}}},t.prototype._initUI=function(){var t=this,e=[],i=this.config.header||this.config.title||this.config.closable;i&&e.push({id:"header",gravity:!1,css:"dhx_window-header "+(this.config.movable?"dhx_window-header--movable":""),on:{mousedown:this.config.movable&&this._handlers.move,dblclick:this._handlers.headerDblClick}}),e.push({id:"content",css:i?"dhx_window-content":"dhx_window-content-without-header"}),this.config.footer&&e.push({id:"footer",gravity:!1,css:"dhx_window-footer"}),this.config.resizable&&e.push({id:"resizers",gravity:!1,css:"resizers"});var n=this._layout=new a.Layout(this._popup,{css:"dhx_window"+(this.config.modal?" dhx_window--modal":"")+(this.config.css?" "+this.config.css:""),rows:e,on:{click:this._handlers.setActive}});if(i){var o=this.header=new c.Toolbar;this.config.title&&this.header.data.add({type:c.ItemType.title,value:this.config.title,id:"title"}),this.config.closable&&(this.header.data.add({type:c.ItemType.spacer}),this.header.data.add({id:"close",type:c.ItemType.button,view:"link",size:"medium",color:"secondary",circle:!0,icon:"dxi dxi-close"}),o.events.on(c.NavigationBarEvents.click,function(e){"close"===e&&t.hide()})),n.cell("header").attach(o)}if(this.config.footer){var r=this.footer=new c.Toolbar;n.cell("footer").attach(r)}this.config.resizable&&n.cell("resizers").attach(function(){return t._drawResizers()})},t.prototype._drawResizers=function(){return o.el(".dhx-resizers",{onmousedown:this._handlers.resize},[o.el(".dhx_window-resizer.dhx_window-resizer--left"),o.el(".dhx_window-resizer.dhx_window-resizer--right"),o.el(".dhx_window-resizer.dhx_window-resizer--bottom"),o.el(".dhx_window-resizer.dhx_window-resizer--top"),o.el(".dhx_window-resizer.dhx_window-resizer--bottom_right"),o.el(".dhx_window-resizer.dhx_window-resizer--bottom_left"),o.el(".dhx_window-resizer.dhx_window-resizer--top_right"),o.el(".dhx_window-resizer.dhx_window-resizer--top_left")])},t.prototype._startDrag=function(t,e){var i=this;document.body.classList.add("dhx_window--stop_selection");var n=t-this._popup.offsetLeft,o=e-this._popup.offsetTop,r=this._popup.offsetWidth,s=this._popup.offsetHeight,a=function(t){var e={left:i._popup.offsetLeft,top:i._popup.offsetTop},a=window.pageXOffset,c=window.pageYOffset,u=t.pageX-n,d=t.pageY-o;i.config.viewportOverflow||(ua+window.innerWidth-r&&(u=a+window.innerWidth-r),dc+window.innerHeight-s&&(d=c+window.innerHeight-s)),i.config.left=u,i.config.top=d,i._popup.style.left=u+"px",i._popup.style.top=d+"px";var h={left:u,top:d};i.events.fire(l.WindowEvents.move,[h,e,{left:!0,top:!0,bottom:!0,right:!0}])},c=function(){document.removeEventListener("mouseup",c),document.removeEventListener("mousemove",a),document.body.classList.remove("dhx_window--stop_selection")};document.addEventListener("mouseup",c),document.addEventListener("mousemove",a)},t.prototype._startResize=function(t){var e,i=this,n=this.config.minWidth,o=this.config.minHeight,r=this._popup.offsetLeft,s=this._popup.offsetTop,a=this._popup.offsetWidth,c=this._popup.offsetHeight;switch(!0){case t.bottom&&t.left:e="dhx_window-body-pointer--bottom_left";break;case t.bottom&&t.right:e="dhx_window-body-pointer--bottom_right";break;case t.top&&t.left:e="dhx_window-body-pointer--top_left";break;case t.top&&t.right:e="dhx_window-body-pointer--top-right";break;case t.top:e="dhx_window-body-pointer--top";break;case t.bottom:e="dhx_window-body-pointer--bottom";break;case t.left:e="dhx_window-body-pointer--left";break;case t.right:e="dhx_window-body-pointer--right"}document.body.classList.add("dhx_window--stop_selection"),document.body.classList.add(e);var u=function(e){var u={width:e.pageX-r,height:e.pageY-s,left:e.pageX,top:e.pageY};t.right&&(u.widthwindow.pageXOffset+window.innerWidth-r&&(u.width=window.pageXOffset+window.innerWidth-r),i._popup.style.width=u.width+"px"),t.bottom&&(u.heightwindow.pageYOffset+window.innerHeight-s&&(u.height=window.pageYOffset+window.innerHeight-s),i._popup.style.height=u.height+"px"),t.left&&(r+a-u.left0&&i[n-1].type===e?(i[n-1].body+=o.body,i.splice(n--,1)):A(o,t,n,null):A(o,t,n,null))}}(t)}}var R={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,order:!0,lineClamp:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};function F(t,e){return isNaN(e)||R[t]?e:e+"px"}function B(t,e){var i=(t.attrs||a).style,n=e?(e.attrs||a).style:null;if(null==i||f(i))t.el.style.cssText=i;else{for(var o in i){var r=i[o];(null==n||null!=r&&r!==n[o])&&(t.el.style[o]=F(o,r))}if(n)for(var s in n)null==i[s]&&(t.el.style[s]="")}}var z=[];function N(t,e,i,n,o){if(null!=t){var r=i.hooks[e];if(r){if("d"!==e[0]||"i"!==e[1]||"d"!==e[2])return r(i,n);o?k(i.parent)&&r(i,n):z.push([r,i,n])}}}function $(t){var e;if(z.length)for(k(t.node);e=z.shift();)e[0](e[1],e[2])}var W=r?document:null;function U(t){return t.nextSibling}function G(t,e,i){var n=e._node,o=n.vm;if(l(n.body))if((n.flags&P)===P)for(var r=0;r>1]===t)return i;e[i]0&&(n[r]=o[e-1]),o[e]=r)}}for(e=o.length,i=o[e-1];e-- >0;)o[e]=i,i=n[i];return o}(r).map(function(t){return r[t]}),l=0;lu&&(y=null,_=!1):w=!0,u>100&&w&&++x%10==0))for(;k1){var r=1;d(n[1])&&(i=n[1],r=2),e=o===r+1&&(f(n[r])||l(n[r])||i&&(i._flags&j)===j)?n[r]:v(n,r)}return H(t,i,e)}return M.patch=function(t,e){!function(t,e,i){if(null!=e.type){if(null!=t.vm)return;A(e,t.parent,t.idx,null),t.parent.body[t.idx]=e,xt(e,t),i&&k(e),$(S(e))}else{var n=Object.create(t);n.attrs=_({},t.attrs);var o=_(t.attrs,e);if(null!=t._class){var r=o.class;o.class=null!=r&&""!==r?t._class+" "+r:t._class}st(t,n),i&&k(t)}}(this,t,e)},kt.emit=function(t){var e=this,i=e,n=v(arguments,1).concat(i,i.data);do{var o=e.onemit,r=o?o[t]:null;if(r){r.apply(e,n);break}}while(e=e.parent());Z[t]&&Z[t].apply(e,n)},kt.onemit=null,kt.body=function(){return function t(e,i){var n=e.body;if(l(n))for(var o=0;o=a&&l<=a+t.length-1?(c.push(t[u]),u++):c.push({$empty:!0});t=c}return this._parent.getInitialData()&&this._parent.removeAll(),this._parent.$parse(t),t},e.prototype.save=function(e){for(var i=this,n=function(n){if(n.saving||n.pending)o.dhxWarning("item is saving");else{var s=r._findPrevState(n.id);if(s&&s.saving){var a=new t(function(t,r){s.promise.then(function(){n.pending=!1,t(i._setPromise(n,e))}).catch(function(t){i._removeFromOrder(s),i._setPromise(n,e),o.dhxWarning(t),r(t)})});r._addToChain(a),n.pending=!0}else r._setPromise(n,e)}},r=this,s=0,a=this._changes.order;s\n";for(var s in t)Array.isArray(t[s])?(i+=o(e+n)+"<"+s+">\n",i+=t[s].map(function(t){return r(t,e+2*n)}).join("\n")+"\n",i+=o(e+n)+"\n"):i+=o(e+n)+"<"+s+">"+t[s]+"\n";return i+=o(e)+""}e.jsonToXML=function(t,e){void 0===e&&(e="root");for(var i='\n<'+e+">",n=0;n"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(16),o=function(){function t(){}return t.prototype.sort=function(t,e){var i=this;e.rule&&"function"==typeof e.rule?this._sort(t,e):e.by&&(e.rule=function(t,o){var r=i._checkVal(e.as,t[e.by]),s=i._checkVal(e.as,o[e.by]);return n.naturalCompare(r.toString(),s.toString())},this._sort(t,e))},t.prototype._checkVal=function(t,e){return t?t.call(this,e):e},t.prototype._sort=function(t,e){var i=this,n={asc:1,desc:-1};return t.sort(function(t,o){return e.rule.call(i,t,o)*(n[e.dir]||n.asc)})},t}();e.Sort=o},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__spreadArrays||function(){for(var t=0,e=0,i=arguments.length;e0&&-1!==i&&(i+=1);var r=t.prototype._add.call(this,e,i);if(Array.isArray(e.items))for(var s=0,a=e.items;s1?(this._selectedIds=e,this._itemsForGhost=i):(this._selectedIds=[],this._itemsForGhost=null),r&&s){var a=n.getBox(o),c=a.left,l=a.top;this._transferData.initXOffset=t.pageX-c,this._transferData.initYOffset=t.pageY-l,this._transferData.x=t.pageX,this._transferData.y=t.pageY,this._transferData.targetId=s,this._transferData.id=r,this._transferData.item=o}}},t.prototype._moveGhost=function(t,e){this._transferData.ghost&&(this._transferData.ghost.style.left=t-this._transferData.initXOffset+"px",this._transferData.ghost.style.top=e-this._transferData.initYOffset+"px")},t.prototype._removeGhost=function(){document.body.removeChild(this._transferData.ghost)},t.prototype._onDrop=function(){if(this._canMove){var t=o.collectionStore.getItem(this._lastCollectionId),e=t&&t.config;if(t&&e.dragMode!==r.DragMode.source){if(t.events.fire(r.DragEvents.beforeDrop,[this._lastId,this._transferData.target])){var i={id:this._lastId,target:t},n={id:this._transferData.id,target:this._transferData.target};this._move(n,i),i.target.events.fire(r.DragEvents.dropComplete,[i.id,this._transferData.dropPosition])}this._endDrop()}else this._endDrop()}else this._endDrop()},t.prototype._onDragStart=function(t,e){var i=o.collectionStore.getItem(e),n=i.config;if(n.dragMode===r.DragMode.target)return null;var s=i.data.getItem(t),a=function(t,e){var i=t.getBoundingClientRect(),n=document.createElement("div"),o=t.cloneNode(!0);return o.style.width=i.width+"px",o.style.height=i.height+"px",o.style.maxHeight=i.height+"px",o.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,o.style.opacity="0.8",o.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,n.appendChild(o),e&&e.length&&e.forEach(function(t,e){var o=t.cloneNode(!0);o.style.width=i.width+"px",o.style.height=i.height+"px",o.style.maxHeight=i.height+"px",o.style.top=12*(e+1)-i.height-i.height*e+"px",o.style.left=12*(e+1)+"px",o.style.opacity="0.6",o.style.zIndex=""+(-e-1),n.appendChild(o)}),n.className="dhx_drag-ghost",n}(this._transferData.item,this._itemsForGhost);return i.events.fire(r.DragEvents.beforeDrag,[s,a])&&t?(i.events.fire(r.DragEvents.dragStart,[t,this._selectedIds]),this._toggleTextSelection(!0),this._transferData.target=i,this._transferData.dragConfig=n,a):null},t.prototype._onDrag=function(t){var e=t.clientX,i=t.clientY,a=document.elementFromPoint(e,i),c=n.locate(a,"dhx_widget_id");if(c){var l=o.collectionStore.getItem(c),u=n.locate(a,"dhx_id");if(!u)return this._cancelCanDrop(),this._lastCollectionId=c,this._lastId=null,void this._canDrop();if(l.config.dropBehaviour===r.DropBehaviour.complex){var d=function(t){var e=t.clientY,i=n.locateNode(t);if(!i)return null;var o=i.childNodes[0].getBoundingClientRect();return(e-o.top)/o.height}(t);this._transferData.dropPosition=d<=.25?r.DropPosition.top:d>=.75?r.DropPosition.bot:r.DropPosition.in}else if(this._lastId===u&&this._lastCollectionId===c)return;var h={id:this._transferData.id,target:this._transferData.target};if("source"!==l.config.dragMode)if(h.target.events.fire(r.DragEvents.dragOut,[u,l]),c!==this._transferData.targetId||!s.isTreeCollection(h.target.data)||s.isTreeCollection(h.target.data)&&h.target.data.canCopy(h.id,u))this._cancelCanDrop(),this._lastId=u,this._lastCollectionId=c,h.target.events.fire(r.DragEvents.dragIn,[u,this._transferData.dropPosition,o.collectionStore.getItem(c)])&&this._canDrop();else this._cancelCanDrop()}else this._canMove&&this._cancelCanDrop()},t.prototype._move=function(t,e){var i=t.target.data,n=e.target.data,o=0,a=e.id;switch(s.isTreeCollection(n)?e.target.config.dropBehaviour:void 0){case r.DropBehaviour.child:break;case r.DropBehaviour.sibling:a=n.getParent(a),o=n.getIndex(e.id)+1;break;case r.DropBehaviour.complex:var c=this._transferData.dropPosition;c===r.DropPosition.top?(a=n.getParent(a),o=n.getIndex(e.id)):c===r.DropPosition.bot&&(a=n.getParent(a),o=n.getIndex(e.id)+1);break;default:o=e.id?t.target===e.target&&n.getIndex(t.id)1?this._selectedIds.map(function(t){i.copy(t,o,n,a),o>-1&&o++}):i.copy(t.id,o,n,a):this._selectedIds instanceof Array&&this._selectedIds.length>1?this._selectedIds.map(function(t){i.move(t,o,n,a),o>-1&&o++}):i.move(t.id,o,n,a)},t.prototype._endDrop=function(){this._toggleTextSelection(!1),this._transferData.target&&this._transferData.target.events.fire(r.DragEvents.dragEnd,[this._transferData.id,this._selectedIds]),this._cancelCanDrop(),this._canMove=!0,this._transferData={},this._lastId=null,this._lastCollectionId=null},t.prototype._cancelCanDrop=function(){this._canMove=!1;var t=o.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(r.DragEvents.cancelDrop,[this._lastId]),this._lastCollectionId=null,this._lastId=null},t.prototype._canDrop=function(){this._canMove=!0;var t=o.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(r.DragEvents.canDrop,[this._lastId,this._transferData.dropPosition])},t.prototype._toggleTextSelection=function(t){t?document.body.classList.add("dhx_no-select"):document.body.classList.remove("dhx_no-select")},t}(),c=window.dhxHelpers=window.dhxHelpers||{};c.dragManager=c.dragManager||new a,e.dragManager=c.dragManager},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this._store={}}return t.prototype.setItem=function(t,e){this._store[t]=e},t.prototype.getItem=function(t){return this._store[t]?this._store[t]:null},t}(),o=window.dhxHelpers=window.dhxHelpers||{};o.collectionStore=o.collectionStore||new n,e.collectionStore=o.collectionStore},function(t,e,i){"use strict";(function(t){var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(21),r=i(1),s=i(34),a=function(e){function i(t,i){var n=e.call(this,t)||this;return n.config=r.extend({from:0,limit:50,delay:50,prepare:0},i),n.updateUrl(t,{from:n.config.from,limit:n.config.limit}),n}return n(i,e),i.prototype.load=function(){var e=this;return new t(function(t){e._timeout?(clearTimeout(e._timeout),e._timeout=setTimeout(function(){s.ajax.get(e.url,{responseType:"text"}).then(t),e._cooling=!0},e.config.delay),e._cooling&&(t(null),e._cooling=!1)):(s.ajax.get(e.url,{responseType:"text"}).then(t),e._cooling=!0,e._timeout=setTimeout(function(){}))})},i}(o.DataProxy);e.LazyDataProxy=a}).call(this,i(12))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(3),o=i(22),r=i(15),s=function(){function t(t,e,i){var o=this;this.events=i||new n.EventSystem(this),this._data=e,this._data.events.on(r.DataEvents.removeAll,function(){o._selected=null}),this._data.events.on(r.DataEvents.change,function(){if(o._selected){var t=o._data.getNearId(o._selected);t!==o._selected&&(o._selected=null,t&&o.add(t))}})}return t.prototype.getId=function(){return this._selected},t.prototype.getItem=function(){return this._selected?this._data.getItem(this._selected):null},t.prototype.remove=function(t){return!(t=t||this._selected)||!!this.events.fire(o.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=null,this.events.fire(o.SelectionEvents.afterUnSelect,[t]),!0)},t.prototype.add=function(t){this._selected!==t&&(this.remove(),this.events.fire(o.SelectionEvents.beforeSelect,[t])&&(this._selected=t,this._data.update(t,{$selected:!0}),this.events.fire(o.SelectionEvents.afterSelect,[t])))},t}();e.Selection=s},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ie.left+e.width-1||i.pageXe.top+e.height-1||i.pageY0?1:-1)*o.config.speed,i=o._getRefs().area,n=i.scrollHeight-o._runnerHeight,r=o._scrollTop+e;i.scrollTop=r<0?0:r>n?n:r,o._update()},i.onmousedownRunner=function(t){t.preventDefault();var e=o._getRefs(),i=e.area,n=e.runner,r=i.getBoundingClientRect(),s=r.top+window.pageYOffset,a=r.bottom+window.pageYOffset,c=i.scrollHeight-o._runnerHeight,l=t.pageY-n.getBoundingClientRect().top-window.pageYOffset,u=function(t){var e=t.pageY-l;i.scrollTop=e<=s?0:e>a?c:(e-s)/o._visibleArea,o._update()},d=function(){document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",d),document.body.classList.remove("dhx-no-select")};document.body.classList.add("dhx-no-select"),document.addEventListener("mousemove",u),document.addEventListener("mouseup",d)},i.onmousedownTrack=function(t){if(!t.target.classList.contains("scroll-runner")){t.preventDefault();var e=function(){document.removeEventListener("mouseup",e),window.clearInterval(c)},i=o._getRefs().area,n=t.target.getBoundingClientRect().top+window.pageYOffset,r=i.scrollHeight-o._runnerHeight,s=t.pageY,a=function(){var t;if(sn+o._runnerTop+o._runnerHeight))return;(t=o._scrollTop+i.clientHeight)>r&&(t=r)}i.scrollTop=t,o._update()};a();var c=setInterval(a,100);document.addEventListener("mouseup",e)}},i)}return t.prototype.render=function(t){var e,i=this;return 0===this._scrollWidth?t:o.el(".scroll-view-wrapper",{style:{width:"100%",height:"100%",overflow:"hidden",position:"relative"}},[o.el(".scroll-view",{onscroll:this._handlers.onscroll,_ref:"scroll-view",_hooks:{didInsert:function(){i._update()},didRecycle:function(){i._update()}},style:{height:"100%",width:"calc(100% + "+this._scrollWidth+"px)",overflowY:"scroll","-ms-overflow-style":"scrollbar"}},[t]),o.el(".y-scroll",(e={onmousedown:this._handlers.onmousedownTrack},e[this._wheelName]=this._handlers[this._wheelName],e.style={width:"10px",height:"100%",right:0,top:0,position:"absolute"},e),[o.el(".scroll-runner",{_ref:"scroll-runner",onmousedown:this._handlers.onmousedownRunner,style:{height:this._runnerHeight+"px",right:"2px",top:this._runnerTop,width:"6px",position:"absolute"}})])])},t.prototype._update=function(){var t=this._getRefs();if(t){var e=t.area,i=t.runner;this._visibleArea=e.clientHeight/e.scrollHeight,this._scrollTop=e.scrollTop,this._runnerTop=this._scrollTop*this._visibleArea,this._visibleArea<1?this._runnerHeight=e.clientHeight*this._visibleArea:this._runnerHeight=0,i.style.top=this._runnerTop+"px",i.style.height=this._runnerHeight+"px"}},t.prototype._getRefs=function(){var t=this._getRootView();if(t.refs&&t.refs["scroll-view"]&&t.refs["scroll-runner"])return{area:t.refs["scroll-view"].el,runner:t.refs["scroll-runner"].el}},t}();e.ScrollView=s},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(103),r=i(28),s=i(0),a=function(t){function e(e,i){var n=t.call(this,e,i)||this;if(n._root=n.config.parent||n,n._all={},n._parseConfig(),n.config.activeTab&&(n.config.activeView=n.config.activeTab),n.config.views&&(n.config.activeView=n.config.activeView||n._cells[0].id,n._isViewLayout=!0),!i.parent){var o=s.create({render:function(){return n.toVDOM()}},n);n.mount(e,o)}return n}return n(e,t),e.prototype.toVDOM=function(){if(this._isViewLayout){var e=[this.getCell(this.config.activeView).toVDOM()];return t.prototype.toVDOM.call(this,e)}var i=[];return this._cells.forEach(function(t){var e=t.toVDOM();Array.isArray(e)?i=i.concat(e):i.push(e)}),t.prototype.toVDOM.call(this,i)},e.prototype.removeCell=function(t){if(this.events.fire(r.LayoutEvents.beforeRemove,[t])){var e=this.config.parent||this;if(e!==this)return e.removeCell(t);var i=this.getCell(t);if(i){var n=i.getParent();delete this._all[t],n._cells=n._cells.filter(function(e){return e.id!==t}),n.paint()}this.events.fire(r.LayoutEvents.afterRemove,[t])}},e.prototype.addCell=function(t,e){if(void 0===e&&(e=-1),this.events.fire(r.LayoutEvents.beforeAdd,[t.id])){var i=this._createCell(t);e<0&&(e=this._cells.length+e+1),this._cells.splice(e,0,i),this.paint(),this.events.fire(r.LayoutEvents.afterAdd,[t.id])}},e.prototype.getId=function(t){return t<0&&(t=this._cells.length+t),this._cells[t]?this._cells[t].id:void 0},e.prototype.getRefs=function(t){return this._root.getRootView().refs[t]},e.prototype.getCell=function(t){return this._root._all[t]},e.prototype.forEach=function(t,e,i){if(void 0===i&&(i=1/0),this._haveCells(e)&&!(i<1)){var n;n=e?this._root._all[e]._cells:this._root._cells;for(var o=0;o0}return Object.keys(this._all).length>0},e}(o.Cell);e.Layout=a},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ie.size&&(n=e.size-e.resizerLength),e.mode){case c.resizeMode.pixels:t.config[o]=n-e.resizerLength/2+"px",e.nextCell.config[o]=e.size-n-e.resizerLength/2+"px";break;case c.resizeMode.mixedpx1:t.config[o]=n-e.resizerLength/2+"px";break;case c.resizeMode.mixedpx2:e.nextCell.config[o]=e.size-n-e.resizerLength/2+"px";break;case c.resizeMode.percents:t.config[o]=n/e.size*e.percentsum+"%",e.nextCell.config[o]=(e.size-n)/e.size*e.percentsum+"%";break;case c.resizeMode.mixedperc1:t.config[o]=n/e.size*e.percentsum+"%";break;case c.resizeMode.mixedperc2:e.nextCell.config[o]=(e.size-n)/e.size*e.percentsum+"%"}t.paint(),t.events.fire(c.LayoutEvents.resize,[t.id])}};this._resizerHandlers={onmousedown:function(o){if(3!==o.which&&(e.isActive&&i(),t.events.fire(c.LayoutEvents.beforeResizeStart,[t.id]))){document.body.classList.add("dhx_no-select--resize");var r=t.getCellView(),s=t._getNextCell(),a=s.getCellView(),u=t._getResizerView(),d=r.el.getBoundingClientRect(),h=u.el.getBoundingClientRect(),f=a.el.getBoundingClientRect();if(e.xLayout=t._isXDirection(),e.left=d.left+window.pageXOffset,e.top=d.top+window.pageYOffset,e.range=l.getBlockRange(d,f,e.xLayout),e.size=e.range.max-e.range.min,e.isActive=!0,e.nextCell=s,e.resizerLength=e.xLayout?h.width:h.height,e.mode=l.getResizeMode(e.xLayout,t.config,s.config),e.mode===c.resizeMode.percents){var p=e.xLayout?"width":"height";e.percentsum=parseFloat(t.config[p])+parseFloat(s.config[p])}if(e.mode===c.resizeMode.mixedperc1){p=e.xLayout?"width":"height";e.percentsum=1/(d[p]/(e.size-e.resizerLength))*parseFloat(t.config[p])}if(e.mode===c.resizeMode.mixedperc2){p=e.xLayout?"width":"height";e.percentsum=1/(f[p]/(e.size-e.resizerLength))*parseFloat(s.config[p])}document.addEventListener("mouseup",i),document.addEventListener("mousemove",n)}},ondragstart:function(t){return t.preventDefault()}}},e.prototype._getCollapseIcon=function(){return this._isXDirection()&&this.config.collapsed?"dxi dxi-chevron-right":this._isXDirection()&&!this.config.collapsed?"dxi dxi-chevron-left":!this._isXDirection()&&this.config.collapsed?"dxi dxi-chevron-up":this._isXDirection()||this.config.collapsed?void 0:"dxi dxi-chevron-down"},e.prototype._isLastCell=function(){var t=this._parent;return t&&t._cells.indexOf(this)===t._cells.length-1},e.prototype._getNextCell=function(){var t=this._parent,e=t._cells.indexOf(this);return t._cells[e+1]},e.prototype._getResizerView=function(){return this._parent.getRefs("resizer_"+this._uid)},e.prototype._isXDirection=function(){return this._parent&&this._parent._xLayout},e.prototype._calculateStyle=function(){var t=this.config;if(t){var e={};return this._isXDirection()?(void 0===t.width||t.collapsed||(e.flexBasis=t.width,e.width=t.width),void 0!==t.height&&(e.height=t.height)):(void 0===t.height||t.collapsed||(e.height=t.height),void 0!==t.width&&(e.width=t.width)),e}},e}(a.View);e.Cell=d},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(28);e.getResizeMode=function(t,e,i){var o=t?"width":"height",r=e[o]&&-1!==e[o].indexOf("%"),s=i[o]&&-1!==i[o].indexOf("%"),a=e[o]&&-1!==e[o].indexOf("px"),c=i[o]&&-1!==i[o].indexOf("px");return r&&s?n.resizeMode.percents:a&&c?n.resizeMode.pixels:a&&!c?n.resizeMode.mixedpx1:c&&!a?n.resizeMode.mixedpx2:r?n.resizeMode.mixedperc1:s?n.resizeMode.mixedperc2:n.resizeMode.unknown},e.getBlockRange=function(t,e,i){return void 0===i&&(i=!0),i?{min:t.left+window.pageXOffset,max:e.right+window.pageXOffset}:{min:t.top+window.pageYOffset,max:e.bottom+window.pageYOffset}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(2),o=i(35),r=new WeakMap,s=new Map;function a(t,e){e&&clearTimeout(r.get(t));var i=t.parentNode,n=i.getAttribute("data-position"),o=i.parentNode,a=s.get(o);if(a){var c=a[n];if(c){var l=c.stack,u=l.indexOf(t);return-1!==u?(i.removeChild(t),l.splice(u,1),void(0===l.length&&o.removeChild(i))):void 0}}}function c(t,e){var i=document.createElement("div");return i.setAttribute("data-position",e),i.className="dhx_message-container dhx_message-container--"+e+(t===document.body?" dhx_message-container--in-body":""),i}e.message=function(t){var e;"string"==typeof t&&(t={text:t}),t.position=t.position||o.MessageContainerPosition.topRight;var i=document.createElement("div");i.className="dhx_widget dhx_message "+(t.css||""),t.html?i.innerHTML=t.html:i.innerHTML=''+t.text+"\n\t\t"+(t.icon?'':"");var l=t.node?n.toNode(t.node):document.body;"static"===getComputedStyle(l).position&&(l.style.position="relative");var u=s.get(l);u?u[t.position]||(u[t.position]={stack:[],container:c(l,t.position)}):s.set(l,((e={})[t.position]={stack:[],container:c(l,t.position)},e));var d=s.get(l)[t.position],h=d.stack,f=d.container;if(0===h.length&&l.appendChild(f),h.push(i),f.appendChild(i),t.expire){var p=setTimeout(function(){return a(i)},t.expire);r.set(i,p)}i.onclick=function(){return a(i,!0)}}},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(36),o=i(61);e.alert=function(e){var i=e.buttons&&e.buttons[0]?e.buttons[0]:n.default.apply,r=o.blockScreen(e.blockerCss);return new t(function(t){var n=document.createElement("div");n.className="dhx_widget dhx_alert "+(e.css||""),n.innerHTML="\n\t\t\t"+(e.header?'
'+e.header+"
":"")+"\n\t\t\t"+(e.text?'
'+e.text+"
":"")+'\n\t\t\t",document.body.appendChild(n),n.querySelector(".dhx_alert__apply-button").focus(),n.querySelector("button").addEventListener("click",function(){r(),document.body.removeChild(n),t(!0)})})}}).call(this,i(12))},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(36),o=i(61);e.confirm=function(e){var i=e.buttons&&e.buttons[0]?e.buttons[0]:n.default.apply,r=e.buttons&&e.buttons[1]?e.buttons[1]:n.default.reject,s=o.blockScreen(e.blockerCss);return new t(function(t){var n=document.createElement("div");n.className="dhx_widget dhx_alert dhx_alert--confirm"+(e.css?" "+e.css:""),n.innerHTML="\n\t\t"+(e.header?'
'+e.header+"
":"")+"\n\t\t"+(e.text?'
'+e.text+"
":"")+'\n\t\t\t",document.body.appendChild(n),n.querySelector(".dhx_alert__confirm-reject").focus();var o=function(e){"BUTTON"===e.target.tagName&&function(e){s(),n.removeEventListener("click",o),document.body.removeChild(n),t(e)}(e.target.classList.contains("dhx_alert__confirm-aply"))};n.addEventListener("click",o)})}}).call(this,i(12))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(1),r=i(0),s=i(2),a=i(17),c=i(19),l=function(t){function e(e,i){var n=t.call(this,e,o.extend({navigationType:"click"},i))||this;n._currentRoot=null;return n.mount(e,r.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.getState=function(){var t={};for(var e in this.data.eachChild(this.data.getRoot(),function(e){e.twoState&&!e.group?t[e.id]=e.active:e.type!==a.ItemType.input&&e.type!==a.ItemType.selectButton||(t[e.id]=e.value)},!1),this._groups)this._groups[e].active&&(t[e]=this._groups[e].active);return t},e.prototype.setState=function(t){for(var e in t)if(this._groups&&this._groups[e])this._groups[e].active&&(this.data.update(this._groups[e].active,{active:!1}),this._groups[e].active=t[e],this.data.update(t[e],{active:!0}));else{var i=this.data.getItem(e);i.type===a.ItemType.input||i.type===a.ItemType.selectButton?this.data.update(e,{value:t[e]}):this.data.update(e,{active:t[e]})}},e.prototype._customHandlers=function(){var t=this;return{input:function(e){var i=s.locate(e);t.data.update(i,{value:e.target.value})},tooltip:function(e){var i=s.locateNode(e);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);o.tooltip&&c.tooltip(o.tooltip,{node:i,position:c.Position.bottom})}}}},e.prototype._getFactory=function(){return a.createFactory({widget:this,defaultType:a.ItemType.navItem,allowedTypes:[a.ItemType.button,a.ItemType.customHTMLButton,a.ItemType.imageButton,a.ItemType.input,a.ItemType.selectButton,a.ItemType.separator,a.ItemType.spacer,a.ItemType.title,a.ItemType.navItem,a.ItemType.menuItem,a.ItemType.customHTML],widgetName:"toolbar"})},e.prototype._draw=function(){var t=this;return r.el("nav.dhx_widget.dhx_toolbar",{class:this.config.css?this.config.css:""},[r.el("ul.dhx_navbar.dhx_navbar--horizontal",{dhx_widget_id:this._uid,tabindex:0,onclick:this._handlers.onclick,onmousedown:this._handlers.onmousedown,oninput:this._handlers.input,onmouseover:this._handlers.tooltip,_hooks:{didInsert:function(e){e.el.addEventListener("keyup",function(e){if(9===e.which){var i=s.locateNode(document.activeElement);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);o.tooltip&&c.tooltip(o.tooltip,{node:i,position:c.Position.bottom,force:!0})}}},!0)}}},this.data.map(function(e){return t._factory(e)},this.data.getRoot(),!1))])},e.prototype._getMode=function(t,e){return t.id===e?"bottom":"right"},e.prototype._close=function(e){this._activePosition=null,this._currentRoot=null,t.prototype._close.call(this,e)},e.prototype._setRoot=function(t){this.data.getParent(t)===this.data.getRoot()&&(this._currentRoot=t)},e}(a.Navbar);e.Toolbar=l},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i50&&(r-=55),o=setTimeout(s,r)},a=function(){clearTimeout(o),document.removeEventListener("mouseup",a)};s(),document.addEventListener("mouseup",a)}}}},this._customHandlers())},e.prototype._initEvents=function(){var t=this,e=null;this.data.events.on(h.DataEvents.change,function(){t.paint(),e&&clearTimeout(e),e=setTimeout(function(){var i={};t.data.eachChild(t.data.getRoot(),function(t){t.group&&(t.twoState=!0,function(t,e){t[e.group]?(e.active&&(t[e.group].active=e.id),t[e.group].elements.push(e.id)):t[e.group]={active:e.active?e.id:null,elements:[e.id]}}(i,t))},!0),t._groups=i,t._resetHotkeys(),e=null,t.paint()},100)}),this.events.on(h.NavigationBarEvents.click,function(e){var i=t.data.getItem(e),n=t.data.getItem(i.parent);if(n&&n.type===h.ItemType.selectButton&&t.data.update(i.parent,{value:i.value,icon:i.icon}),i.group){var o=t._groups[i.group];o.active&&t.data.update(o.active,{active:!1}),o.active=i.id,t.data.update(i.id,{active:!0})}}),this._customInitEvents()},e.prototype._getMode=function(t,e,i){return void 0===i&&(i=!1),t.parent===e?"bottom":"right"},e.prototype._drawMenuItems=function(t,e){var i=this;return void 0===e&&(e=!0),this.data.map(function(t){return i._factory(t,e)},t,!1)},e.prototype._setRoot=function(t){},e.prototype._getParents=function(t,e){var i=[],n=!1,o=this.data.getItem(t),r=o&&o.disabled;return this.data.eachParent(t,function(t){t.id===e?(i.push(t.id),n=!0):n||i.push(t.id)},!r),this._isContextMenu&&this._activePosition&&i.push(e),i},e.prototype._listenOuterClick=function(){this._documentHaveListener||(document.addEventListener("click",this._documentClick,!0),this._documentHaveListener=!0)},e.prototype._customInitEvents=function(){},e.prototype._drawPopups=function(){var t=this,e=this._activeMenu;if(!this._isContextMenu&&!e)return null;var i=this._currentRoot;if(this._isContextMenu&&!this._activePosition)return null;var n=this._getParents(e,i);return this._activeParents=n,n.forEach(function(e){return t.data.exists(e)&&t.data.update(e,{$activeParent:!0},!1)}),n.map(function(e){if(!t.data.haveItems(e))return null;var n=t.data.getItem(e)||t._rootItem;return t._popupActive=!0,s.el("ul",{class:"dhx_widget dhx_menu"+(t.config.menuCss?" "+t.config.menuCss:""),_key:e,_hooks:{didInsert:function(o){var r=o.el.getBoundingClientRect(),s=r.width,a=r.height,l=t._isContextMenu&&t._activePosition&&e===i?t._activePosition:n.$position,u=t._getMode(n,i,l===t._activePosition),d=c.calculatePosition(l,{mode:u,width:s,height:a});n.$style=d,o.patch({style:d})},didRecycle:function(o,r){if(t._isContextMenu&&t._activePosition&&e===i){var s=r.el.getBoundingClientRect(),a=s.width,l=s.height,u=c.calculatePosition(t._activePosition,{mode:t._getMode(n,i,!0),width:a,height:l});n.$style=u,r.patch({style:u})}}},tabindex:0,style:n.$style||{position:"absolute"}},t._drawMenuItems(e))}).reverse()},e.prototype._onMenuItemClick=function(t,e){var i=this.data.getItem(t);i.disabled||(i.twoState&&this.data.update(i.id,{active:!i.active}),this.events.fire(h.NavigationBarEvents.click,[t,e]),this._close(e))},e.prototype._activeItemChange=function(t,e){var i=this;if(this._activeParents){var n=this._getParents(t,this._currentRoot);this._activeParents.forEach(function(t){i.data.exists(t)&&-1===n.indexOf(t)&&i.data.update(t,{$activeParent:!1},!1)})}t&&!this._documentHaveListener&&this._listenOuterClick(),t&&this.data.haveItems(t)?(this._activeMenu===t&&this._popupActive||this.events.fire(h.NavigationBarEvents.openMenu,[t]),this._activeMenu=t,clearTimeout(this._currentTimeout),this.paint()):(clearTimeout(this._currentTimeout),this._currentTimeout=setTimeout(function(){return i.paint()},400))},e.prototype._resetHotkeys=function(){var t=this;l.keyManager.removeHotKey(null,this),this.data.map(function(e){e.hotkey&&l.keyManager.addHotKey(e.hotkey,function(){return t._onMenuItemClick(e.id,null)},t)})},e.prototype._setProp=function(t,e,i){var n,o=this;Array.isArray(t)?t.forEach(function(t){var n;return o.data.update(t,((n={})[e]=i,n))}):this.data.update(t,((n={})[e]=i,n))},e}(u.View);e.Navbar=f},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(111),o=i(112),r=i(113),s=i(114),a=i(115),c=i(116),l=i(117),u=i(118),d=i(119),h=i(23),f=i(24);e.createFactory=function(t){for(var e=t.defaultType,i=t.allowedTypes,p=t.widgetName,_=t.widget,v=new Set,g=0,m=i;g0&&o.getCount(t,r,i),t.value&&t.$openIcon?n.el("span.dhx_button__icon.dhx_button__icon--menu.dxi.dxi-menu-right"):null,t.loading&&n.el("span.dhx_button__loading",[n.el("span.dhx_button__loading-icon.dxi.dxi-loading")])])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(24);e.navItem=function(t,e,i){var r=" dhx_"+e+"-button";return n.el("button",{class:"dhx_button"+r+(t.active||t.$activeParent?r+"--active":"")+(t.disabled?r+"--disabled":"")+(t.$openIcon?r+"--select":"")+(t.circle?r+"--circle":"")+(t.size?" "+r+"--"+t.size:"")+(!t.value&&t.icon?r+"--icon":"")+(t.css?" "+t.css:""),dhx_id:t.id,disabled:t.disabled,type:"button"},[t.icon&&n.el("span",{class:t.icon+r+"__icon"}),t.html&&n.el("div",{class:r.trim()+"__html",".innerHTML":t.html}),!t.html&&t.value&&n.el("span",{class:r.trim()+"__text"},t.value),t.count>0&&o.getCount(t,r+"__count",i),t.$openIcon&&n.el("span.dxi.dxi-menu-right",{class:r+"__caret"})])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0);e.customHTMLButton=function(t,e,i){var o=i?" dhx_button dhx_menu-button":" dhx_button dhx_nav-menu-button";return n.el("button",{class:"dhx_custom-button"+o+(t.$activeParent?o+"--active":""),dhx_id:t.id,type:"button",".innerHTML":t.html},t.html?"":t.value)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(24);e.imageButton=function(t,e){var i="dhx_"+e+"-button-image",r="ribbon"===e;return n.el("button.dhx_button",{class:i+(t.size?" "+i+"--"+t.size:"")+(!t.value&&t.src?" "+i+"--icon":"")+(r&&t.$openIcon?" "+i+"--select":"")+(t.active?" "+i+"--active":""),dhx_id:t.id,type:"button"},[r&&t.value&&t.$openIcon&&n.el("span.dxi.dxi-menu-right",{class:i+"__caret"}),t.html?n.el("div",{class:i+"__text",".innerHTML":t.html}):t.value&&n.el("span",{class:i+"__text"},t.value),t.src&&n.el("span",{class:i+"__image",style:{backgroundImage:"url("+t.src+")"}}),t.count>0&&o.getCount(t,i+"__count",!0)])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(23);function r(t,e){t.fire(o.NavigationBarEvents.inputBlur,[e])}function s(t,e){t.fire(o.NavigationBarEvents.inputFocus,[e])}e.input=function(t,e,i){return n.el(".dhx_form-group.dhx_form-group--no-message-holder.dhx_form-group--label_sr.dhx_"+i+"__input",{style:{width:t.width?t.width:"200px"}},[n.el("label.dhx_label",{for:t.id},t.label),n.el(".dhx_input__wrapper",[n.el("input.dhx_input",{placeholder:t.placeholder,class:t.icon?"dhx_input--icon-padding":"",value:t.value,onblur:[r,e,t.id],onfocus:[s,e,t.id],dhx_id:t.id,_hooks:{didInsert:function(i){e&&e.fire(o.NavigationBarEvents.inputCreated,[t.id,i.el])}},_key:t.id}),t.icon?n.el(".dhx_input__icon",{class:t.icon}):null])])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(24);e.menuItem=function(t,e,i){var r=i?" dhx_menu-button":" dhx_nav-menu-button";return n.el("button",{class:"dhx_button"+r+(t.disabled?r+"--disabled":"")+(t.active||t.$activeParent?r+"--active":""),disabled:t.disabled,dhx_id:t.id,type:"button"},i?[t.icon||t.value||t.html?n.el("span.dhx_menu-button__block.dhx_menu-button__block--left",[t.icon&&n.el("span.dhx_menu-button__icon",{class:t.icon}),t.html?n.el("div.dhx_menu-button__text",{".innerHTML":t.html}):t.value&&n.el("span.dhx_menu-button__text",t.value)]):null,t.count>0||t.hotkey||t.items?n.el("span.dhx_menu-button__block.dhx_menu-button__block--right",[t.count>0&&o.getCount(t," dhx_menu-button__count",!1),t.hotkey&&n.el("span.dhx_menu-button__hotkey",t.hotkey),t.items&&n.el("span.dhx_menu-button__caret.dxi.dxi-menu-right")]):null]:[t.icon&&n.el("span.dhx_menu-button__icon",{class:t.icon}),t.html?n.el("div.dhx_menu-button__text",{".innerHTML":t.html}):t.value&&n.el("span.dhx_nav-menu-button__text",t.value)])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.separator=function(t,e){return null}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.spacer=function(t,e){return null}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0);e.title=function(t,e){return n.el("span",{class:"dhx_navbar-title dhx_navbar-title--"+e,".innerHTML":t.html},t.html?null:t.value)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.layoutConfig={css:"vault-layout",rows:[{id:"topbar",css:"vault-topbar"},{id:"vault",css:"vault-file-grid"}]},e.layoutConfigWithoutTopbar={css:"vault-layout",rows:[{id:"vault",css:"vault-file-grid"}]}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(37),o=["byte","kilobyte","megabyte","gigabyte"];e.getBasis=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),t<1024?t+" "+n.default[o[e]]:this.getBasis(Math.round(t/1024),e+1)};var r,s=13;function a(t){return{extension:t.name.split(".").pop()||"none",mime:t.file?t.file.type:""}}function c(t,e){switch(t){case"jpg":case"jpeg":case"gif":case"png":case"bmp":case"tiff":case"pcx":case"svg":case"ico":return r.image;case"avi":case"mpg":case"mpeg":case"rm":case"move":case"mov":case"mkv":case"flv":case"f4v":case"mp4":case"3gp":case"wmv":case"webm":case"vob":return r.video;case"rar":case"zip":case"tar":case"tgz":case"arj":case"gzip":case"bzip2":case"7z":case"ace":case"apk":case"deb":case"zipx":case"cab":case"tar-gz":case"rpm":case"xar":return r.archive;case"xlr":case"xls":case"xlsm":case"xlsx":case"ods":case"csv":case"tsv":return r.table;case"doc":case"docx":case"docm":case"dot":case"dotx":case"odt":case"wpd":case"wps":case"pages":return r.document;case"wav":case"aiff":case"au":case"mp3":case"aac":case"wma":case"ogg":case"flac":case"ape":case"wv":case"m4a":case"mid":case"midi":return r.audio;case"pot":case"potm":case"potx":case"pps":case"ppsm":case"ppsx":case"ppt":case"pptx":case"pptm":case"odp":return r.presentation;case"html":case"htm":case"eml":return r.web;case"exe":return r.application;case"dmg":return r.apple;case"pdf":case"ps":case"eps":return r.pdf;case"psd":return r.psd;case"txt":case"djvu":case"nfo":case"xml":return r.text;default:switch(e.split("/")[0]){case"image":return r.image;case"audio":return r.audio;case"video":return r.video;default:return r.other}}}e.truncateWord=function(t,e){var i,n;if(void 0===e&&(e=s),t.length<=e)return t;var o=t.lastIndexOf(".");if(-1===o)n=t.substr(t.length-4),i=t.substr(0,e-7);else{var r=o-3;n=t.substr(r),i=t.substr(0,e-(t.length-r))}return i+"..."+n},e.calculateCover=function(t){var e,i,n,o,r=t.width,s=t.height,a=r/s;return a>1?(e=s,n=(r-(i=s))/2,o=0):a<1?(i=r,n=0,o=(s-(e=r))/2):(e=r,i=r,n=0,o=0),{sx:n,sy:o,sWidth:i,sHeight:e,dx:0,dy:0}},function(t){t.image="image",t.video="video",t.archive="archive",t.table="table",t.document="document",t.presentation="presentation",t.application="application",t.web="web",t.apple="apple",t.pdf="pdf",t.psd="psd",t.audio="audio",t.other="other",t.text="text"}(r=e.FileType||(e.FileType={})),e.getFileType=c,e.getFileClassName=function(t){var e=a(t),i=e.mime,n=e.extension;return c(n,i)+" extension-"+n},e.isImage=function(t){var e=a(t),i=e.mime;return c(e.extension,i)===r.image}},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(4),s=i(37),a=i(27),c=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=e,n._progress=0;return n.mount(null,o.create({render:function(){return n._draw()}})),n._abortUpload=function(){n.events.fire(a.ProgressBarEvents.cancel)},n}return n(e,t),e.prototype.setState=function(t,e){this._progress=t,this.config.template?this._progressText=this.config.template(t,e):this._progressText=this._progress.toFixed(1)+"%",this.paint()},e.prototype._draw=function(){return o.el(".progress-bar",{_key:this._uid},[o.el(".progress-indicator",{style:{width:this._progress+"%"}}),o.el(".progress-text",{".innerHTML":this._progressText}),o.el("button",{class:"dhx_btn dhx_btn--flat dhx_btn_small action-abort-all",onclick:this._abortUpload},s.default.cancel)])},e}(r.View);e.ProgressBar=c},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this._readerStack=[],this._isActive=!1,this._data=t}return t.prototype.add=function(t,e){void 0===e&&(e=!1),this._readerStack.push(t),e||this.read()},t.prototype.read=function(){var t=this;if(this._readerStack.length&&!this._isActive){var e=this._readerStack.shift();this._isActive=!0;var i=new FileReader;i.readAsDataURL(e.file),i.onload=function(i){var n=new Image;n.src=i.target.result,n.onload=function(){t._data.exists(e.id)&&t._data.update(e.id,{image:n}),t._isActive=!1,t.read()}},i.onerror=function(){t._isActive=!1,t.read()}}},t.prototype.stop=function(){this._readerStack=[]},t}();e.ReadStackPreview=n},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ithis.data.getLength()-1)){this._focusIndex=t;var e=this.getRootView();if(e&&e.node&&e.node.el){var i=this.getRootNode();if(i){if(this.config.virtual){var n=t*v.defineValue(this.config.itemHeight);(n>=v.defineValue(this._visibleHeight)+this._topOffset||n=i.scrollTop+i.clientHeight-o.clientHeight?i.scrollTop=o.offsetTop-i.clientHeight+o.clientHeight:o.offsetTope-v.defineValue(this._visibleHeight)&&(t=e-v.defineValue(this._visibleHeight));var i=Math.floor(v.defineValue(this._visibleHeight)/v.defineValue(this.config.itemHeight))+5,n=Math.floor(t/v.defineValue(this.config.itemHeight));this._range=[n,i+n],this._topOffset=t,this.paint()},e.prototype._getHeight=function(){return this.data.getLength()*v.defineValue(this.config.itemHeight)},e.prototype._getHotkeys=function(){var t=this;if(this.config.keyNavigation)if(this._edited)this._navigationDestructor&&this._navigationDestructor();else{var e=this.config.keyNavigation;"function"!=typeof this.config.keyNavigation&&(this._widgetInFocus=!1,e=function(){return t._widgetInFocus},this._documentClickDestuctor=r.detectWidgetClick(this._uid,function(e){return t._widgetInFocus=e}));var i=function(t){return function(e){e.preventDefault(),t()}},n={arrowDown:i(function(){return t.setFocusIndex(t._focusIndex+1)}),arrowUp:i(function(){return t.setFocusIndex(t._focusIndex-1)}),enter:function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i),t.events.fire(p.ListEvents.click,[i,e])},"enter+shift":function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i,!1,!0),t.events.fire(p.ListEvents.click,[i,e])},"enter+ctrl":function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i,!0,!1),t.events.fire(p.ListEvents.click,[i,e])}};f.isIE()&&(delete(n=o({up:n.arrowUp,down:n.arrowDown},n)).arrowUp,delete n.arrowDown),this._navigationDestructor=l.addHotkeys(n,e)}},e.prototype._lazyLoad=function(t){var e=t.target.scrollTop,i=Math.round(e/v.defineValue(this.config.itemHeight)),n=this.config.height/v.defineValue(this.config.itemHeight),o=this.data.dataProxy;o&&o.config&&!this.data.isDataLoaded(i,n+i+o.config.prepare)&&(o.updateUrl(null,{from:i,limit:o.config.limit}),this.data.load(o))},e}(d.View);e.List=g},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(126);e.getEditor=function(t,e){return new n.InputEditor(t,e)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(39),r=function(){function t(t,e){var i=this;this._list=e,this._config=e.config,this._item=t,this._list.events.on(o.ListEvents.focusChange,function(t,e){i._mode&&e!==i._item.id&&i.endEdit()}),this._initHandlers()}return t.prototype.endEdit=function(){if(this._input){var t=this._input.value;this._list.events.fire(o.ListEvents.beforeEditEnd,[t,this._item.id])?(this._input.removeEventListener("blur",this._handlers.onBlur),this._input.removeEventListener("change",this._handlers.onChange),this._handlers={},this._mode=!1,this._list.events.fire(o.ListEvents.afterEditEnd,[t,this._item.id])):this._input.focus()}},t.prototype.toHTML=function(){this._mode=!0;var t=this._config.itemHeight;return n.el(".dhx_input__wrapper",{},[n.el("div.dhx_input__container",{},[n.el("input.dhx_input",{class:this._item.css?" "+this._item.css:"",style:{height:t,width:"100%",padding:"8px, 12px"},_hooks:{didInsert:this._handlers.didInsert},_key:this._item.id,dhx_id:this._item.id})])])},t.prototype._initHandlers=function(){var t=this;this._handlers={onBlur:function(){t.endEdit()},onChange:function(){t.endEdit()},didInsert:function(e){var i=e.el;t._input=i,i.focus(),i.value=t._item.value,i.setSelectionRange(0,i.value.length),i.addEventListener("change",t._handlers.onChange),i.addEventListener("blur",t._handlers.onBlur)}}},t}();e.InputEditor=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.defineValue=function(t){if(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return parseInt(e.split(/\D+/g)[0],null)}},e.defineUnit=function(t){if(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return e.slice(e.split(/\D+/g)[0].length)}}},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=o&&t<=r&&s(t)}),this.config.disabledDates&&this._linkedCalendar.config.disabledDates||(this.config.disabledDates=function(t){if(r)return t>r},this._linkedCalendar.config.disabledDates=function(t){if(o)return t=t&&r<=i&&u()}},u=function(){return d.DateHelper.isSameDay(e._selected[0],e._selected[1])?null:"dhx_calendar-day--in-range"};h.config.$rangeMark=c}if(i&&n&&s.push("dhx_calendar-day--weekend"),n||(h.config.thisMonthOnly?(a++,s.push("dhx_calendar-day--hidden")):s.push("dhx_calendar-day--muffled")),h.config.mark){var f=h.config.mark(r);f&&s.push(f)}h.config.$rangeMark&&((c=h.config.$rangeMark(r))&&s.push(c));o&&(i?s.push("dhx_calendar-day--weekend-disabled"):s.push("dhx_calendar-day--disabled")),h._selected.forEach(function(t,i){if(t&&d.DateHelper.isSameDay(t,r)){var n="dhx_calendar-day--selected";e.config.range&&(n+=" dhx_calendar-day--selected-"+(0===i?"first ":"last")),s.push(n)}}),l.push({date:r,day:r.getDate(),css:s.join(" ")}),r=d.DateHelper.addDay(r)},h=this;c--;)u();n.push({weekNumber:s,days:l,disabledWeekNumber:7===a})}return n},e.prototype._drawCalendar=function(){for(var t,e=this._currentDate,i=this.config,n=i.weekStart,s=i.thisMonthOnly,c=i.css,l=i.timePicker,u=i.width,d=("monday"===n?r(p.default.daysShort.slice(1),[p.default.daysShort[0]]):p.default.daysShort).map(function(t){return a.el(".dhx_calendar-weekday",t)}),h=[],f=[],_=0,v=this._getData(e);_t._hoursSlider.config.max||(12===t.config.timeFormat?(t._time.AM=e<12,t._time.hour=e%12||12):t._time.hour=e,t.events.fire(f.TimepickerEvents.change,[t.getValue()]),t._inputsView.paint())}),this._minutesSlider.events.on(u.SliderEvents.change,function(e){et._minutesSlider.config.max||(t._time.minute=e,t.events.fire(f.TimepickerEvents.change,[t.getValue()]),t._inputsView.paint())})},e.prototype._draw=function(){return s.el(".dhx_timepicker-inputs",o({},this._handlers),[s.el("input.dhx_timepicker-input.dhx_timepicker-input--hour",{_key:"hour",value:this._time.hour<10?"0"+this._time.hour:this._time.hour}),s.el("span.dhx_timepicker-delimer",":"),s.el("input.dhx_timepicker-input.dhx_timepicker-input--minutes",{_key:"minute",value:this._time.minute<10?"0"+this._time.minute:this._time.minute}),12===this.config.timeFormat?s.el(".dhx_timepicker-ampm",this._time.AM?"AM":"PM"):null])},e}(c.View);function _(t,e){return isNaN(t)?0:Math.min(e,Math.max(0,t))}e.Timepicker=p},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(1),r=i(0),s=i(3),a=i(13),c=i(4),l=i(11),u=i(65);function d(t,e,i){return ti?i:t}var h=function(t){function e(e,i){var n=t.call(this,e,o.extend({mode:u.Direction.horizontal,min:0,max:100,step:1,tooltip:!0},i))||this;n._disabled=!1,n.config.helpMessage=n.config.helpMessage||n.config.help,void 0!==n.config.thumbLabel&&(n.config.tooltip=n.config.thumbLabel),n.config.labelInline&&(n.config.labelPosition="left"),n.events=new s.EventSystem(n),n._axis=n.config.mode===u.Direction.horizontal?"clientX":"clientY",n._initStartPosition(),n._initHotkeys();var a=r.create({render:function(){return n._draw()},hooks:{didMount:function(){return n._calcSliderPosition()},didRedraw:function(){return n._calcSliderPosition()}}});return n._initHandlers(),n.mount(e,a),n}return n(e,t),e.prototype.disable=function(){this._disabled=!0,this.paint()},e.prototype.enable=function(){this._disabled=!1,this.paint()},e.prototype.isDisabled=function(){return this._disabled},e.prototype.focus=function(t){this.getRootView().refs[t?"extraRunner":"runner"].el.focus()},e.prototype.getValue=function(){var t;if(this.config.range){var e=this._getValue(this._currentPosition),i=this._getValue(this._extraCurrentPosition);t=e1){var i=this._getValue(this._extraCurrentPosition);this._setValue(t[0],!1),this.events.fire(u.SliderEvents.change,[t[0],e,!1]),this._setValue(t[1],!0),this.events.fire(u.SliderEvents.change,[t[1],i,!0])}else{if(t=parseFloat(t),isNaN(t))throw new Error("Wrong value type, for more info check documentation https://docs.dhtmlx.com/suite/slider__api__slider_setvalue_method.html");this._setValue(t),this.events.fire(u.SliderEvents.change,[t,e,!1])}this.paint()},e.prototype.destructor=function(){this._hotkeysDestructor(),this.unmount()},e.prototype._calcSliderPosition=function(){var t=this.getRootView();if(t){var e=t.refs.track.el.getBoundingClientRect();this._offsets={left:e.left+window.pageXOffset,top:e.top+window.pageYOffset},this._length=this.config.mode===u.Direction.horizontal?e.width:e.height}},e.prototype._initHotkeys=function(){var t=this;this._hotkeysDestructor=a.addHotkeys({arrowleft:function(e){t.config.mode!==u.Direction.vertical&&(e.preventDefault(),t._move(-t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowright:function(e){t.config.mode!==u.Direction.vertical&&(e.preventDefault(),t._move(t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowup:function(e){t.config.mode!==u.Direction.horizontal&&(e.preventDefault(),t._move(t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowdown:function(e){t.config.mode!==u.Direction.horizontal&&(e.preventDefault(),t._move(-t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))}},function(){var e=document.activeElement,i=t.getRootView().refs;if(!i)return!1;var n=i.runner;return!(!n||n.el!==e)||!(!t.config.range||!i.extraRunner||i.extraRunner.el!==e)})},e.prototype._move=function(t,e){this.config.inverse&&(t=-t);var i=this.config,n=i.max,o=i.min,r=e?this._getValue(this._extraCurrentPosition):this._getValue(this._currentPosition),s=r+t;this._setValue(r+t,e),(s>n||s=o/2?o:0;return+(Number(i)+Number(r)-s+a).toFixed(5)},e.prototype._setValue=function(t,e){void 0===e&&(e=!1);var i=this.config,n=i.max,o=i.min;if(t>n||tt._currentPosition?t._possibleRange=[t._currentPosition,100]:t._possibleRange=[0,t._currentPosition],t._findNewDirection=null}t._inSide(i)&&t._updatePosition(i,t._isExtraActive),t.paint()},i=function(n){t.events.fire(u.SliderEvents.mouseup,[n]),setTimeout(function(){t._isMouseMoving=!1,t.paint()},4),document.removeEventListener("mouseup",i),document.removeEventListener("mousemove",e)};this.config.helpMessage&&(this._helper=new l.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.helpMessage)),this._handlers={showHelper:function(e){e.preventDefault(),e.stopPropagation(),t._helper.show(e.target)},onmousedown:function(n){if(!t._disabled&&3!==n.which){var o;if(t.events.fire(u.SliderEvents.mousedown,[n]),t._isMouseMoving=!0,n.target.classList.contains("dhx_slider__thumb--extra")?(t._isExtraActive=!0,o=t._extraCurrentPosition):(t._isExtraActive=!1,o=t._currentPosition),t._findNewDirection=null,t.config.range){var r=t._currentPosition>t._extraCurrentPosition?[t._currentPosition,t._extraCurrentPosition]:[t._extraCurrentPosition,t._currentPosition],s=r[0],a=r[1];t._currentPosition===t._extraCurrentPosition?(t._findNewDirection=o,t._possibleRange=[0,100]):t._possibleRange=oe[1])||(this._updatePosition(e[1],this._isExtraActive),!1)},e.prototype._updatePosition=function(t,e){void 0===e&&(e=!1),t>100&&(t=100),t<0&&(t=0);var i=this.config,n=i.max,o=i.min,r=e?this._extraCurrentPosition:this._currentPosition,s=this._getValue(r),a=this._getValue(t);if(s!==a){var c=(a-o)/(n-o)*100,l=this._isInverse()?100-c:c;e?this._extraCurrentPosition=l:this._currentPosition=l,this.events.fire(u.SliderEvents.change,[a,s,e])}},e.prototype._getRunnerStyle=function(t){var e;void 0===t&&(t=!1);var i=this.config.mode===u.Direction.horizontal?"left":"top",n=t?this._extraCurrentPosition:this._currentPosition;return(e={})[i]=n+"%",e},e.prototype._isInverse=function(){return this.config.inverse&&this.config.mode===u.Direction.horizontal||!this.config.inverse&&this.config.mode===u.Direction.vertical},e.prototype._getRunnerCss=function(t){return void 0===t&&(t=!1),"dhx_slider__thumb"+(t?" dhx_slider__thumb--extra":"")+(this._isMouseMoving&&(t&&this._isExtraActive||!t&&!this._isExtraActive)?" dhx_slider__thumb--active":"")+(this._disabled?" dhx_slider__thumb--disabled":"")+(this._isNullable(t?this._extraCurrentPosition:this._currentPosition)&&!this.config.range?" dhx_slider__thumb--nullable":"")},e.prototype._draw=function(){var t=this.config,e=t.labelPosition,i=t.labelWidth,n=t.mode,o=t.label,s=t.hiddenLabel,a=t.tick,c=t.majorTick,l=t.css,u=t.helpMessage,d="left"===e&&i?i:"";return r.el("div",{class:"dhx_slider dhx_slider--mode_"+n+(o&&"left"===e?" dhx_slider--label-inline":"")+(s?" dhx_slider--label_sr":"")+(a?" dhx_slider--ticks":"")+(c?" dhx_slider--major-ticks":"")+(l?" "+l:"")+(this._disabled?" dhx_slider--disabled":"")},[o?r.el("label.dhx_label.dhx_slider__label",{style:{minWidth:d,maxWidth:d},class:u?"dhx_label--with-help":"",onclick:this._handlers.onlabelClick},u?[r.el("span.dhx_label__holder",o),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:o):null,this._drawSlider()])},e.prototype._drawSlider=function(){return r.el(".dhx_widget.dhx_slider__track-holder",{dhx_widget_id:this._uid},[r.el(".dhx_slider__track",{_ref:"track",onmouseover:this._handlers.onmouseover,onmouseout:this._handlers.onmouseout,onclick:this._handlers.onclick},[this._getDetector(),r.el("div",{_ref:"runner",class:this._getRunnerCss(),onmousedown:this._handlers.onmousedown,onmousemove:this._handlers.onmousemove,onfocus:this._handlers.onfocus,onblur:this._handlers.onblur,style:this._getRunnerStyle(),tabindex:0}),this.config.tooltip&&(this._mouseIn||this._focusIn||this._isMouseMoving)?this._drawTooltip():null,this.config.tooltip&&this.config.range&&(this._mouseIn||this._focusIn||this._isMouseMoving)?this._drawTooltip(!0):null,this.config.range?r.el("div",{_ref:"extraRunner",class:this._getRunnerCss(!0),onmousedown:this._handlers.onmousedown,onmousemove:this._handlers.onmousemove,onfocus:this._handlers.onfocus,onblur:this._handlers.onblur,style:this._getRunnerStyle(!0),tabindex:0}):null]),this.config.tick?this._drawTicks():null])},e.prototype._getDetector=function(){var t,e,i;if(this._disabled)return r.el(".dhx_slider__range");var n=this.config.mode===u.Direction.horizontal?"left":"top",o=this.config.mode===u.Direction.horizontal?"width":"height";if(this.config.range){var s=this._currentPosition>this._extraCurrentPosition?[this._currentPosition,this._extraCurrentPosition]:[this._extraCurrentPosition,this._currentPosition],a=s[0],c=s[1];return r.el(".dhx_slider__range",{style:(t={},t[n]=c+"%",t[o]=a-c+"%",t)})}return this._isInverse()?r.el(".dhx_slider__range",{style:(e={},e[n]=this._currentPosition+"%",e[o]=100-this._currentPosition+"%",e)}):r.el(".dhx_slider__range",{style:(i={},i[n]=0,i[o]=this._currentPosition+"%",i)})},e.prototype._drawTooltip=function(t){var e;void 0===t&&(t=!1);var i=t?this._extraCurrentPosition:this._currentPosition,n=this.config.mode===u.Direction.horizontal?"left":"top",o=this.config.mode===u.Direction.horizontal?".dhx_slider__thumb-label--horizontal":".dhx_slider__thumb-label--vertical";(t&&this._isExtraActive||!t&&!this._isExtraActive)&&(o+=".dhx_slider__thumb-label--active");var s=((e={})[n]=i+"%",e);return r.el(".dhx_slider__thumb-label"+o,{style:s},this._getValue(i))},e.prototype._getTicks=function(){for(var t=this.config,e=t.max,i=t.min,n=t.step,o=t.tick,r=t.majorTick,s=e-i,a=n*o/s,c=[],l=0,u=0;l<1;){var d=+(Number(i)+l*s).toFixed(5),h=u%r==0;c.push({position:(this._isInverse()?100*(1-l):100*l)+"%",isMultiple:h,label:h&&"function"==typeof this.config.tickTemplate?this.config.tickTemplate(d):null}),l+=a,u++}return c.push({position:(this._isInverse()?0:100)+"%",isMultiple:!0,label:"function"==typeof this.config.tickTemplate?this.config.tickTemplate(e):null}),c},e.prototype._drawTicks=function(){var t=this.config.mode===u.Direction.horizontal?"left":"top";return r.el(".dhx_slider__ticks-holder",this._getTicks().map(function(e){var i;return r.el("div",{class:"dhx_slider__tick"+(e.isMultiple?" dhx_slider__tick--major":""),style:(i={},i[t]=e.position,i)},void 0!==e.label?[r.el(".dhx_slider__tick-label",e.label)]:null)}))},e.prototype._isNullable=function(t){return this._isInverse()?100===t:0===t},e}(c.View);e.Slider=h},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;io?o:e,i=i<0?0:i>r?r:i;var s=Math.round(i/(r/100)),a=100-Math.round(e/(o/100));this._pickerState.hsv.s=s/100,this._pickerState.hsv.v=a/100}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.calculatePaletteGrip=function(t,e,i){var n=t.height,o=t.width;return e=e<0?0:e>n?n:e,i=i<0?0:i>o?o:i,{s:Math.round(i/(o/100))/100,v:(100-Math.round(e/(n/100)))/100}},e.calculateRangeGrip=function(t,e){var i=t.width;return e=e<0?0:e>i?i:e,{h:Math.round(e/i*360),rangeLeft:e}}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(140)),n(i(6))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0&&u<=n._width-s-i&&d>=0&&d<=n._height-r-o?n.events.fire(h.ChartEvents.chartMouseMove,[u,d,n._left+i,n._top+o]):n.events.fire(h.ChartEvents.chartMouseLeave)},onmouseleave:function(){return n.events.fire(h.ChartEvents.chartMouseLeave)}},n._layers=new l.ComposeLayer,n.setConfig(i),n._initEvents();return n.mount(e,r.create({render:function(t,e){if(!n.data.getLength())return r.el("div");var o=[r.resizer(function(t,e){n._width=t,n._height=e||400;var i=n.getRootView();if(i&&i.node&&i.node.el){var o=i.node.el.getBoundingClientRect();n._left=o.left+window.pageXOffset,n._top=o.top+window.pageYOffset}n.events.fire(h.ChartEvents.resize,[{width:n._width,height:n._height}]),n.paint()})];return n._width&&n._height&&o.push(n._layers.toVDOM(n._width,n._height)),r.el(".dhx_widget.dhx_chart",{class:i.css?i.css:"",onmousemove:n._globalHTMLHandlers.onmousemove,onmouseleave:n._globalHTMLHandlers.onmouseleave},o)}})),n}return n(e,t),e.prototype.getSeries=function(t){return this._series[t]},e.prototype.eachSeries=function(t){var e=[];for(var i in this._series)e.push(t.call(this,this._series[i]));return e},e.prototype.destructor=function(){this._tooltip.destructor(),this.events.clear(),this.unmount()},e.prototype.setConfig=function(t){var e,i=this;if(this.config=t,this._layers.clear(),this._series={},this._scales={},t.scales)for(var n in t.scales){var r=o({},t.scales[n]);void 0!==t.scales[n].min&&(e=t.scales[n].min),r.type=r.type||this._detectScaleType(r,n),t.scales.radial&&"radial"!==n&&(r.hidden=!0),this._setScale(r,n)}var s=new _.default;if(this._layers.add(s),t.series.forEach(function(n){void 0!==n.baseLine&&n.baseLine1&&"radial"!==l[0]?l:"radial"===l[0]?l:[h.ScaleType.bottom,h.ScaleType.left]).forEach(function(t){var e=i._scales[t];e&&(c.addScale(t,e),r.stacked?e.add(s):e.add(c))}),i._series[c.id]=c,r.stacked?s.add(c):i._layers.add(c)}),t.legend){var a=o({},t.legend);a.series&&(a.$seriesInfo=a.series.map(function(t){return i._series[t]}));var c=new u.Legend(this.data,a,this.events);this._layers.add(c)}this._tooltip=new d.Tooltip(document.body,{chart:this}),this.paint()},e.prototype._setScale=function(t,e){var i=new f.default[t.type](this.data,t,e);i.config.grid&&"radial"!==i.config.type&&this._layers.add(i.scaleGrid()),this._layers.add(i),this._scales[e]=i},e.prototype._detectScaleType=function(t,e){return"radial"===e?e:t.text?"text":"numeric"},e.prototype._initEvents=function(){var t=this;this.events.on(h.ChartEvents.toggleSeries,function(e,i){if(i){var n=t._series[Object.keys(t._series)[0]];n&&(n.toggle(e),t.paint())}else t._series[e]&&(t._series[e].toggle(),t.paint())},this),this.events.on(c.DataEvents.change,function(){return t.paint()})},e}(a.View);e.Chart=g},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(142),r=function(){function t(){this._data=[],this._sizes={left:20,right:20,top:10,bottom:10}}return t.prototype.add=function(t){this._data.push(t)},t.prototype.clear=function(){this._data.forEach(function(t){return t.destructor&&t.destructor()}),this._data=[]},t.prototype.getSizes=function(){return this._sizes},t.prototype.toVDOM=function(t,e){var i={left:20,right:20,top:10,bottom:10},r=this._data.filter(function(t){return!t.dataReady||t.dataReady().length});this._data.forEach(function(t){return!t.scaleReady||t.scaleReady(i)});var s=0,a=0;r.forEach(function(t){t.seriesShift&&(s+=t.seriesShift(),a++)});var c=s/a;s=a?(c-s)/2:0,r.forEach(function(t){t.seriesShift&&(t.seriesShift(s),s+=c)}),this._sizes=i;var l=n.sv("g",{transform:"translate("+i.left+", "+i.top+")"},[n.sv("rect.dhx_chart-graph_area",{width:t-i.left-i.right,height:e-i.top-i.bottom,fill:"transparent"}),r.map(function(n){return n.paint(t-(i.left+i.right),e-(i.top+i.bottom))})]),u=n.sv("defs",[o.dropShadow(),o.shadow()]);return n.sv("svg",{width:t,height:e},[u,l])},t}();e.ComposeLayer=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0);e.shadow=function(){return n.sv("filter",{id:"shadow"},[n.sv("feDiffuseLighting",{in:"SourceGraphic",result:"light","lighting-color":"white"},[n.sv("feDistantLight",{azimuth:90,elevation:25})]),n.sv("feComposite",{in:"SourceGraphic",in2:"light",operator:"arithmetic",k1:"1",k2:"0",k3:"0",k4:"0"})])},e.dropShadow=function(){return n.sv("filter",{id:"dropshadow",x:"-100%",y:"-100%",width:"300%",height:"300%"},[n.sv("feGaussianBlur",{in:"SourceAlpha",stdDeviation:2}),n.sv("feOffset",{dx:0,dy:0,result:"offsetblur"}),n.sv("feOffset",{dx:0,dy:0,result:"offsetblur"}),n.sv("feFlood",{"flood-color":"rgba(85,85,85,0.5)"}),n.sv("feComposite",{in2:"offsetblur",operator:"in"}),n.sv("feMerge",[n.sv("feMergeNode"),n.sv("feMergeNode",{in:"SourceGraphic"})])])}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;in[0]&&(s[0]=n[0],s[1]=n[1],s[2]=n[2],s[3]=n[3],s[4]=i.id)});var a=n._chart.getSeries(s[4]);if(a){var c=r.calcPointRef(s[3],s[4]);if(c===n._lastPointRef)return;var l=a.getTooltipText(s[3]);if(l){var u=a.getTooltipType(s[3],s[1],s[2]);n._enableActivePoint(c),n._state.leftOffset=i,n._state.topOffset=o,n._state.value=l,n._state.x=s[1],n._state.y=s[2],n._state.type=u,n._state.chartType=a.config.type,n._state.isVisible=!0,n.paint()}}},n),n._chart.events.on(s.ChartEvents.chartMouseLeave,function(){return n._hide()},n),n}return n(e,t),e.prototype.destructor=function(){this._chart.events.detach(s.ChartEvents.chartMouseLeave,this),this._chart.events.detach(s.ChartEvents.chartMouseMove,this),this.unmount()},e.prototype._hide=function(){this._disableLastActivePoint(),this._state.isVisible=!1,this.paint()},e.prototype._enableActivePoint=function(t){var e=this._chart.getRootView(),i=e&&e.refs&&e.refs[t];i&&(this._disableLastActivePoint(),this._lastPointRef=t,i.patch({class:i.attrs.class+" active-figure"}))},e.prototype._disableLastActivePoint=function(){if(this._lastPointRef){var t=this._chart.getRootView(),e=t&&t.refs&&t.refs[this._lastPointRef];e&&e.patch({class:e.attrs.class.replace(" active-figure","")}),this._lastPointRef=null}},e.prototype._draw=function(){var t,e=this._state,i=e.value,n=e.x,a=e.y,c=e.type,l=e.chartType,u=e.isVisible;if(u&&""!==i){var d=r.getFontStyle("tooltip-text");t=function(t,e,i,n,o){var r=o===s.ChartType.bar?5:0;switch(n){case s.TooltipType.top:return{d:"M0 0 l4 -4 h"+(a=(t+20-8-4)/2)+" a2 2 0 0 0 2 -2 v-18 a2 2 0 0 0 -2 -2 h"+-(t+20-4)+" a2 2 0 0 0 -2 2 v18 a2 2 0 0 0 2 2 h"+a+" Z",left:e,top:i-6+r,textX:0,textY:-15};case s.TooltipType.bot:var a;return{d:"M0 0 l4 4 h"+(a=(t+20-8-4)/2)+" a2 2 0 0 1 2 2 v18 a2 2 0 0 1 -2 2 h"+-(t+20-4)+" a2 2 0 0 1 -2 -2 v-18 a2 2 0 0 1 2 -2 h"+a+" Z",left:e,top:i+6-r,textX:0,textY:15};case s.TooltipType.right:return{d:"M0 0 l4 -4 v-5 a2 2 0 0 1 2 -2 h"+(c=t+20-4)+" a2 2 0 0 1 2 2 v18 a2 2 0 0 1 -2 2 h"+-c+" a2 2 0 0 1 -2 -2 v-5 Z",left:e+1,top:i,textX:c/2+6,textY:0};case s.TooltipType.left:return{d:"M0 0 l-4 -4 v-5 a2 2 0 0 0 -2 -2 h"+-(c=t+20-4)+" a2 2 0 0 0 -2 2 v18 a2 2 0 0 0 2 2 h"+c+" a2 2 0 0 0 2 -2 v-5 Z",left:e-1,top:i,textX:-c/2-6,textY:0};case s.TooltipType.simple:var c;return{d:"M0 0 v-4 a2 2 0 0 1 2 -2 h"+(c=t+20-4)+" a2 2 0 0 1 2 2 v18 a2 2 0 0 1 -2 2 h"+-c+" a2 2 0 0 1 -2 -2 v-6 Z",left:e-c/2-2,top:i-5,textX:c/2+2,textY:6}}}(r.getTextWidth(i,d),n,a,c||s.TooltipType.top,l)}else t={textX:0,textY:0,d:null,left:0,top:0};return o.el(".dhx_chart.tooltip-container",{style:{pointerEvents:"none",width:0,height:0,visibility:u?"visible":"hidden",position:"absolute",left:t.left+this._state.leftOffset+"px",top:t.top+this._state.topOffset+"px"}},u?[o.sv("svg",[o.sv("path",{d:t.d,class:"tooltip-form"}),o.sv("text",{x:t.textX,y:t.textY,class:"tooltip-text"},[r.verticalCenteredText(i)])])]:null)},e}(i(4).View);e.Tooltip=a},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(147),o=i(45),r=i(149),s={radial:n.RadialScale,text:r.TextScale,numeric:o.Scale};e.default=s},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(26),r=i(6),s=function(t){function e(e,i){return t.call(this,e,i,r.ScaleType.radial)||this}return n(e,t),e.prototype.paint=function(t,e){var i=this;if(this.config.hidden)return null;var n=this.config.zebra,r=this.config.value,s=this.config.showAxis?this._axis.steps:null,a=this._axis.steps.map(function(t){return i.point(t)}),c={scales:this._data.map(function(t){return t[r]}),axis:a,realAxis:s,zebra:n};return o.radarScale(c,t,e)},e.prototype.point=function(t){return(t-this._axis.min)/(this._axis.max-this._axis.min)},e}(i(45).Scale);e.RadialScale=s},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i0;e--)t.push(-Math.pow(10,e));t.push(0)}if(this.config.max>0){var i=Math.ceil(r.log10(this.config.max));for(e=1;e<=i;e++)t.push(Math.pow(10,e))}return t},t.prototype._addPadding=function(){this.config.min-=this.config.padding},t}();e.AxisCreator=a},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ie?o.TooltipType.left:o.TooltipType.right},e.prototype.getClosest=function(t,e){for(var i=[1/0,null,null,null],n=0,o=this._points;ns&&(i[0]=s,i[1]=r[1],i[2]=r[0],i[3]=r[2])}return i},e.prototype._getText=function(t){return t[4].toString()},e.prototype._getClosestDist=function(t,e,i,n){return this.config.stacked&&t>i?1/0:Math.abs(e-n)},e.prototype._path=function(t,e){return t[0]+=this._shift,"\nM "+e+" "+(t[0]-this.config.barWidth/2)+"\nH "+t[1]+"\nv "+this.config.barWidth+"\nH "+e},e.prototype._base=function(t){var e=this.config.baseLine;return this._baseLinePosition=void 0!==e?this.yScale.point(e)*t:0},e.prototype._text=function(t,e,i){var n=(e+t[1])/2,o=t[0];return{x:n,y:o,class:"bar-text",transform:i&&!isNaN(i)?"rotate("+i+" "+n+" "+o+")":""}},e}(i(72).default);e.default=r},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(26),s=i(5),a=i(6),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.paint=function(t,e){var i=this,n=e/2,c=-.25,l=[],u=[],d=[];return this._points.forEach(function(h){var f=h[0],p=h[1],_=h[2],v=h[3],g=h[4],m=0===f||1===f?-1e-6:0,y=r.getCoordinates(c,n,n),b=y[0],x=y[1],w=c+f/2;c+=f+m;var k=r.getCoordinates(c,n,n),C=k[0],E=k[1],S=f>.5?1:0,O=r.getCoordinates(w,n,n),M=w>-.25&&w<.25,T=w>.5||w<0;switch(i.config.subType){case a.NoScaleSubType.basic:var I=M?"donut-value-title start-text":"donut-value-title end-text",D=10,P=T?2*-D:D,V=r.getCoordinates(w,n+10,n+10),L=M?"donut-value start-text":"donut-value end-text",j=o.sv("text",{x:V[0],y:V[1]+P,class:I},[s.verticalCenteredText(v.toString())]),H=o.sv("text",{x:V[0],y:V[1]+P+16,class:L},[s.verticalCenteredText(p.toString())]);u.push(j),u.push(H);break;case a.NoScaleSubType.valueOnly:I=M?"donut-value start-text":"donut-value end-text",D=10,P=T?-D:D,V=r.getCoordinates(w,n+10,n+10);var A=o.sv("text",{x:V[0],y:V[1]+P,class:I},[s.verticalCenteredText(v.toString())]);u.push(A);break;case a.NoScaleSubType.percentOnly:var R=o.sv("text",{x:7*O[0]/9,y:7*O[1]/9,class:"pie-inner-value"},[s.verticalCenteredText(Math.round(100*f)+"%")]);u.push(R)}var F="M "+b+" "+x+" A "+n+" "+n+" 0 "+S+" 1 "+C+" "+E+" L 0 0",B=r.getCoordinates(w,4,4),z=B[0],N=B[1],$=o.sv("path",{d:F,_key:_,fill:g,class:"chart donut",onclick:[i._handlers.onclick,h[1],h[2]],onmouseout:[r.pieLikeHandlers.onmouseout],onmouseover:[r.pieLikeHandlers.onmouseover,z,N]});l.push($),1===i._points.length?d.push([t/2,e/2]):d.push([.8*O[0]+t/2,.8*O[1]+e/2])}),this._center=[t/2,e/2],this._tooltipData=d,l.push(o.sv("circle",{cx:0,cy:0,r:5*n/9,fill:"#FFFFFF"})),l=l.concat(u),o.sv("g",{transform:"translate("+t/2+", "+e/2+")"},l)},e}(i(48).default);e.default=c},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i-.25&&A<.25?"pie-value start-text":"pie-value end-text";if(f){w.push(s.sv("path",{d:"M"+W[0]+" "+W[1]+" L"+U[0]+" "+U[1]+" h "+R,class:"pie-value-connector"}));var Y=s.sv("text",{x:U[0],y:U[1],dx:R/2+R>0?10:-10,class:G},[c.verticalCenteredText(O.toString())]);w.push(Y)}else{var q=A>.5||A<0?-5:5;Y=s.sv("text",{x:W[0],y:W[1]+q,class:G},[c.verticalCenteredText(O.toString())]);w.push(Y)}if(p||_){var X=s.sv("text",{x:.7*F[0],y:.7*F[1],class:"pie-inner-value"},[_?c.verticalCenteredText(_(E.toString())):c.verticalCenteredText(E.toString())]);w.push(X)}if(v===l.NoScaleSubType.percentOnly){var K=s.sv("text",{x:.5*F[0],y:.5*F[1],class:"pie-inner-value"},[c.verticalCenteredText(Math.round(100*b)+"%")]);w.push(K)}m+=b+T;var J=a.getCoordinates(m,g,g),Z=J[0],Q=J[1],tt="M "+j+" "+H+" A "+g+" "+g+" 0 "+(b>.5?1:0)+" 1 "+Z+" "+Q+" L 0 0",et=a.getCoordinates(A,4,4),it=et[0],nt=et[1],ot=s.sv("path",{d:tt,class:"chart pie",_key:S,fill:I,onclick:[i._handlers.onclick,n[1],n[2]],onmouseover:[a.pieLikeHandlers.onmouseover,it,nt],onmouseout:[a.pieLikeHandlers.onmouseout]});if(k.push(ot),i._points.length>1&&u){var rt={"stroke-width":d,stroke:u},st=s.sv("path",o({d:"M0 0 L"+Z+" "+Q,fill:"none"},rt));C.push(st)}1===i._points.length?y.push([t/2,e/2]):y.push([.7*F[0]+t/2,.7*F[1]+e/2])}),this._center=[t/2,e/2],this._tooltipData=y,b.push(s.sv("defs",x)),b=(b=(b=b.concat(k)).concat(C)).concat(w),s.sv("g",{transform:"translate("+t/2+", "+e/2+")"},b)},e}(i(48).default);e.default=u},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(26),s=i(5),a=i(6),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.paint=function(t,e){var i=this,n=this.config,c=n.subType,l=n.useLines,u=n.showText,d=n.showTextTemplate,h=e/2,f=.5*h,p=h/5,_=[],v=-.25,g=[],m=[];return this._points.forEach(function(n){var y=n[0],b=n[1],x=n[2],w=n[3],k=n[4],C=0===y||1===y?-1e-6:0,E=r.getCoordinates(v,h,f),S=E[0],O=E[1],M=v+y/2,T=M<.25?5:-5,I=r.getCoordinates(M,h,f),D=0;M>0&&M<.5&&(D=p*Math.sin(2*Math.PI*M));var P=r.getCoordinates(M,h+5+D,f+5+D),V=r.getCoordinates(M,h+30+D,f+30+D),L=v+y+C,j=r.getCoordinates(L,h,f),H=j[0],A=j[1],R=y>.5?1:0,F=M>-.25&&M<.25?"pie-value start-text":"pie-value end-text";if(l){m.push(o.sv("path",{d:"M"+P[0]+" "+P[1]+" L"+V[0]+" "+V[1]+" h "+T,class:"pie-value-connector"}));var B=o.sv("text",{x:V[0],y:V[1],dx:T/2+T>0?10:-10,class:F},[s.verticalCenteredText(w.toString())]);m.push(B)}else{var z=M>.5||M<0?-10:10;B=o.sv("text",{x:P[0],y:P[1]+z,class:F},[s.verticalCenteredText(w.toString())]);m.push(B)}if(u||d){B=o.sv("text",{x:.7*I[0],y:.7*I[1],class:"pie-inner-value"},[d?s.verticalCenteredText(d(b)):s.verticalCenteredText(b.toString())]);m.push(B)}if(c===a.NoScaleSubType.percentOnly){var N=o.sv("text",{x:.6*I[0],y:.6*I[1],class:"pie-inner-value"},[s.verticalCenteredText(Math.round(100*y)+"%")]);m.push(N)}var $="";if(v<=0&&L>=.5?$="M "+h+" 0 v "+p+" A "+h+" "+f+" 0 1 1 "+-h+" "+p+" v "+-p:v<=0&&L<.5?$="M "+h+" 0 v "+p+" A "+h+" "+f+" 0 0 1 "+H+" "+(A+p)+" v "+-p:v>0&&v<=.5&&L>=.5?$="M "+S+" "+O+" v "+p+" A "+h+" "+f+" 0 0 1 "+-h+" "+p+" v "+-p:v>0&&L<.5&&($="M "+S+" "+O+" v "+p+" A "+h+" "+f+" 0 0 1 "+H+" "+(A+p)+" v "+-p),$){var W=o.sv("path",{_key:x+"__shadow__",d:$,fill:k,onclick:[i._handlers.onclick,n[1],n[2]],class:"chart pie3d addition",stroke:"none",filter:"url(#shadow)"});g.push(W)}var U="M "+S+" "+O+" A "+h+" "+f+" 0 "+R+" 1 "+H+" "+A+" L 0 0";g.push(o.sv("path",{d:U,_key:x,fill:k,stroke:"none",onclick:[i._handlers.onclick,n[1],n[2]],class:"chart pie3d"})),1===i._points.length?_.push([t/2,e/2]):_.push([.7*I[0]+t/2,.7*I[1]+e/2]),v=L}),this._center=[t/2,e/2],this._tooltipData=_,g=g.concat(m),o.sv("g",{transform:"translate("+t/2+", "+e/2+")"},g)},e}(i(48).default);e.default=c},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i '+t.value+"":t.src?' '+t.value+"":''+t.value+""},b=function(t){function e(e,i){var n=t.call(this,e,r.extend({template:y,listHeight:224,itemHeight:32,disabled:!1},i))||this;n.config.itemsCount=n.config.itemsCount||n.config.showItemsCount,n.config.helpMessage=n.config.helpMessage||n.config.help,n.config.cellHeight&&32===n.config.itemHeight&&(n.config.itemHeight=n.config.cellHeight),n.config.labelInline&&(n.config.labelPosition="left"),Array.isArray(n.config.data)?(n.events=new a.EventSystem(n),n.data=new d.DataCollection({},n.events),n.data.parse(n.config.data)):n.config.data?(n.data=n.config.data,n.events=n.data.events,n.events.context=n):(n.events=new a.EventSystem(n),n.data=new d.DataCollection({},n.events)),n.popup=new p.Popup,n.popup.events.on(p.PopupEvents.afterShow,function(){n.paint()}),n.popup.events.on(p.PopupEvents.afterHide,function(){n.config.multiselection&&(n._state.value=""),n.paint()}),n.popup.events.on(p.PopupEvents.beforeHide,function(t){if(t){if(!n.events.fire(m.ComboboxEvents.beforeClose))return;n.events.fire(m.ComboboxEvents.afterClose),n.events.fire(m.ComboboxEvents.close)}}),n.config.readonly&&(n._keyListener=new _.KeyListener),n._state={value:"",ignoreNext:!1,canDelete:!1,unselectActive:!1,currentState:m.ComboState.default},n._initHandlers(),n._createLayout(),n._initEvents();var o=s.create({render:function(){return n._draw()},hooks:{didRedraw:function(){n.popup.isVisible()&&(n.focus(),n._configurePopup())}}});return n.mount(e,o),n}return n(e,t),e.prototype.focus=function(){if(this.config.disabled)return!1;this.getRootView().refs.input.el.focus()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.isDisabled=function(){return this.config.disabled},e.prototype.clear=function(){if(this.config.disabled)return!1;this.list.selection.remove(),this._state.value="",this._filter(),this.paint()},e.prototype.getValue=function(t){var e=this.list.selection.getId();return t?r.wrapBox(e):Array.isArray(e)?e.join(","):e},e.prototype.setValue=function(t){var e=this;if(this.config.disabled)return!1;if(this._filter(),this.list.selection.remove(),this._state.value="",this.config.multiselection)"string"==typeof t&&(t=t.split(",")),t.forEach(function(t){return e.list.selection.add(t)});else{var i=r.unwrapBox(t);this.list.selection.add(i);var n=this.data.getItem(i);n&&(this._state.value=this._getItemText(n))}this.paint()},e.prototype.destructor=function(){this.popup.destructor(),this.events.clear(),this.list.destructor(),this._layout.config=null,this._layout.destructor(),this.unmount()},e.prototype.setState=function(t){switch(t){case"success":this._state.currentState=m.ComboState.success;break;case"error":this._state.currentState=m.ComboState.error;break;default:this._state.currentState=m.ComboState.default}this.paint()},e.prototype._createLayout=function(){var t=this,e=this.list=new f.List(null,{template:this.config.template,virtual:this.config.virtual,keyNavigation:function(){return t.popup.isVisible()},multiselection:this.config.multiselection,itemHeight:this.config.itemHeight,height:this.config.listHeight,data:this.data}),i=this._layout=new h.Layout(this.popup.getContainer(),{css:"dhx_combobox-options dhx_combobox__options",rows:[{id:"select-unselect-all",hidden:!this.config.multiselection||!this.config.selectAllButton},{id:"list",css:"dhx_layout-cell--gravity"},{id:"not-found",hidden:!0}],on:{click:{".dhx_combobox__action-select-all":this._handlers.selectAll}}});i.getCell("list").attach(e),this.config.multiselection&&this.config.selectAllButton&&i.getCell("select-unselect-all").attach(g.selectAllView)},e.prototype._initHandlers=function(){var t=this;this.config.helpMessage&&(this._helper=new p.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.helpMessage)),this._handlers={showHelper:function(e){e.preventDefault(),e.stopPropagation(),t._helper.show(e.target)},selectAll:function(){t.list.selection.remove(),t._state.unselectActive?(t.data.filter(),t.list.selection.getId().forEach(function(e){t.list.selection.remove(e)}),t.config.selectAllButton&&(t._layout.getCell("select-unselect-all").attach(g.selectAllView),t._state.unselectActive=!1)):(t.data.filter(),t.list.selection.add(),t.config.selectAllButton&&(t._layout.getCell("select-unselect-all").attach(g.unselectAllView),t._state.unselectActive=!0)),t.paint()},onkeydown:function(e){var i;(t.popup.isVisible()||e.which!==l.KEY_CODES.DOWN_ARROW||t._showOptions(),t.popup.isVisible()&&e.which===l.KEY_CODES.RIGHT_ARROW)&&(t.config.readonly&&!t.config.multiselection&&(i=t.list.getFocusIndex())>=0&&i<=t.data.getLength()&&(e.preventDefault(),t.list.setFocusIndex(i+1)));t.popup.isVisible()&&e.which===l.KEY_CODES.LEFT_ARROW&&(t.config.readonly&&!t.config.multiselection&&(i=t.list.getFocusIndex())>=0&&i<=t.data.getLength()&&(e.preventDefault(),t.list.setFocusIndex(i-1)));t.popup.isVisible()&&e.which===l.KEY_CODES.ESC&&t._hideOptions(),t.popup.isVisible()&&e.which===l.KEY_CODES.ENTER&&t.setValue(t.list.data.getId(t.list.getFocusIndex()))},onkeyup:function(e){if(t.config.multiselection&&!t.config.itemsCount)if(t._state.ignoreNext)t._state.ignoreNext=!1;else if(e.which===l.KEY_CODES.BACKSPACE&&t._state.canDelete&&t.list.selection.getId().length){var i=t.list.selection.getId(),n=i[i.length-1];t.list.selection.remove(n),t.paint(),t.paint()}},oninput:function(e){if(!t.config.disabled){var i=e.target.value;t.events.fire(m.ComboboxEvents.input,[i]),t._state.value=i,t._filter(),i.length?t._state.canDelete=!1:(t._state.ignoreNext=!0,t._state.canDelete=!0),t.config.multiselection||(t.list.selection.remove(),t.paint()),t.popup.isVisible()||t._showOptions()}},oninputclick:function(e){if(!t.config.disabled){if(t.focus(),e.target.classList.contains("dhx_combobox__action-remove")){var i=c.locate(e);if(!i)return;return t.list.selection.remove(i),void t.paint()}if(e.target.classList.contains("dhx_combobox__action-clear-all"))return t.list.selection.getId().forEach(function(e){return t.list.selection.remove(e)}),t.config.selectAllButton&&t._state.unselectActive&&(t._layout.getCell("select-unselect-all").attach(g.selectAllView),t._state.unselectActive=!1),void t.paint();e.preventDefault(),t.popup.isVisible()?t.focus():t._showOptions()}},toggleIcon:function(){t.focus(),t.popup.isVisible()?t._hideOptions():t._showOptions()}}},e.prototype._initEvents=function(){var t=this;this.list.events.on(f.ListEvents.click,function(){t.config.multiselection||t._hideOptions()}),this.data.events.on(d.DataEvents.change,function(e,i,n){n&&n.hasOwnProperty("$selected")&&t._updateSelectedItem(e)}),this.config.readonly&&this.popup.events.on(p.PopupEvents.afterShow,function(){if(t._state.value){var e=t.list.selection.getId();t.list.setFocus(e)}else t.list.setFocus(t.data.getId(0));t._keyListener.startNewListen(function(e){return t._findBest(e)})})},e.prototype._showOptions=function(){this._state.value.length&&(this._state.canDelete=!0),this._filter(),this._configurePopup()&&this.events.fire(m.ComboboxEvents.open)},e.prototype._configurePopup=function(){var t=this.getRootView();if(!t||!t.refs||!t.refs.holder)return!1;if(!this.popup.isVisible()){var e=t.refs.holder.el;this.popup.getContainer().style.width=e.offsetWidth+"px",this.popup.show(e,{mode:c.Position.bottom})}return!0},e.prototype._hideOptions=function(){this.events.fire(m.ComboboxEvents.beforeClose)&&(this.config.readonly&&this._keyListener.endListen(),this.list.setFocus(this.data.getId(0)),this.config.multiselection||this.config.readonly||this.list.selection.contains()||(this._state.value=""),this.popup.hide(),this.paint(),this.events.fire(m.ComboboxEvents.afterClose),this.events.fire(m.ComboboxEvents.close))},e.prototype._filter=function(){var t=this;if(!this.config.readonly){if(this.data.filter(function(e){return t.config.filter?t.config.filter(e,t._state.value):r.isEqualString(t._state.value,t._getItemText(e))}),this.config.multiselection)this.list.setFocus(this.data.getId(0));else{var e=this.data.getIndex(this.list.selection.getId());this.list.setFocus(this.data.getId(e>-1?e:0))}0===this.data.getLength()?(this.config.multiselection&&this.config.selectAllButton&&this._layout.getCell("select-unselect-all").hide(),this._layout.getCell("list").hide(),this._layout.getCell("not-found").attach(g.emptyListView),this._layout.getCell("not-found").show()):(this.config.multiselection&&this.config.selectAllButton&&this._layout.getCell("select-unselect-all").show(),this._layout.getCell("not-found").isVisible()&&(this._layout.getCell("list").show(),this._layout.getCell("not-found").hide()))}},e.prototype._findBest=function(t){var e=this,i=this.data.find(function(i){return r.isEqualString(t,e._getItemText(i))});i&&this.list.selection.getId()!==i.id&&(this.list.setFocus(i.id),this.list.selection.add(i.id),this.paint())},e.prototype._draw=function(){var t=this.config,e=t.multiselection,i=t.labelPosition,n=t.labelWidth,r=t.hiddenLabel,a=t.required,c=t.disabled,l=t.css,u=t.label,d=t.helpMessage,h=t.readonly,f=t.placeholder,p=e?null:this.data.getItem(this.list.selection.getId()),_=!this.list.selection.getId()||0===this.list.selection.getId().length,v="left"===i&&n?n:"";return s.el(".dhx_widget.dhx_combobox"+("left"===i?".dhx_combobox--label-inline":"")+(r?".dhx_combobox--sr_only":"")+(a?".dhx_combobox--required":"")+(c?".dhx_combobox--disabled":"")+(l?"."+l:""),{dhx_widget_id:this._uid,onkeydown:this._handlers.onkeydown,onkeyup:this._handlers.onkeyup},[u?s.el("label.dhx_label.dhx_combobox__label",{style:{minWidth:v,maxWidth:v},class:d?"dhx_label--with-help":"",onclick:this._handlers.oninputclick},d?[s.el("span.dhx_label__holder",u),s.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:u):null,s.el("div.dhx_combobox-input-box"+(c?".dhx_combobox-input-box--disabled":"")+(h?".dhx_combobox-input-box--readonly":"")+(this._state.currentState===m.ComboState.error?".dhx_combobox-input-box--state_error":"")+(this._state.currentState===m.ComboState.success?".dhx_combobox-input-box--state_success":""),{_ref:"holder"},[s.el("div.dhx_combobox-input__icon",{onclick:this._handlers.toggleIcon},[s.el("span"+(this.popup.isVisible()?".dxi.dxi-menu-up":".dxi.dxi-menu-down"))]),s.el("div.dhx_combobox-input-list-wrapper",{onclick:this._handlers.oninputclick},[s.el("ul.dhx_combobox-input-list",o(this._drawSelectedItems(),[s.el("li.dhx_combobox-input-list__item.dhx_combobox-input-list__item--input",[s.el("input.dhx_combobox-input",{oninput:this._handlers.oninput,_ref:"input",_key:this._uid,type:"text",placeHolder:_&&f?f:void 0,value:h&&p?this._getItemText(p):this._state.value,readOnly:h||c,required:a})])]))])])])},e.prototype._drawSelectedItems=function(){var t=this;if(!this.config.multiselection)return[];if(this.config.itemsCount){var e=this.list.selection.getId().length;return e?[s.el("li.dhx_combobox-input-list__item.dhx_combobox-tag",[s.el("span.dhx_combobox-tag__value",function(t,e){return"function"==typeof e?e(t):t+" "+v.default.selectedItems}(e,this.config.itemsCount)),s.el("button.dhx_button.dhx_combobox-tag__action.dhx_combobox__action-clear-all",[s.el("span.dhx_button__icon.dxi.dxi-close-circle")])])]:[]}return this.list.selection.getId().map(function(e){var i=t.data.getItem(e);return i?s.el("li.dhx_combobox-input-list__item.dhx_combobox-tag",{dhx_id:e},[t._drawImageOrIcon(i),s.el("span.dhx_combobox-tag__value",t._getItemText(i)),s.el("button.dhx_button.dhx_button--icon.dhx_combobox-tag__action.dhx_combobox__action-remove",{type:"button"},[s.el("span.dhx_button__icon.dxi.dxi-close-circle")])]):null})},e.prototype._drawImageOrIcon=function(t){return t.src?s.el("img.dhx_combobox-tag__image",{src:t.src}):t.icon?s.el("span.dhx_combobox-tag__icon",{class:t.icon}):null},e.prototype._getItemText=function(t){return t?t.value:null},e.prototype._updateSelectedItem=function(t){if(this.config.multiselection)return this.data.getItem(t).$selected?this.config.selectAllButton&&!this._state.unselectActive&&this.data.getLength()===this.list.selection.getId().length&&(this._layout.getCell("select-unselect-all").attach(g.unselectAllView),this._state.unselectActive=!0):this.config.selectAllButton&&this._state.unselectActive&&(this._layout.getCell("select-unselect-all").attach(g.selectAllView),this._state.unselectActive=!1),this._state.value.length||(this._state.canDelete=!0),void this.paint();this._state.value=this._getItemText(this.data.getItem(t))||"",this.paint()},e}(u.View);e.Combobox=b},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KEY_CODES={BACKSPACE:8,ENTER:13,ESC:27,DOWN_ARROW:40,LEFT_ARROW:37,RIGHT_ARROW:39}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){var t=this;this._sequence="",document.addEventListener("keydown",function(e){if(t._isActive){var i=e.key;"Backspace"===i&&t._sequence.length>0&&(t._sequence=t._sequence.slice(0,t._sequence.length-1),t._change()),i.length<2&&(t._sequence+=i,t._change())}})}return t.prototype.startNewListen=function(t){this._isActive=!0,this._sequence="",this._currentAction=t},t.prototype.endListen=function(){this._currentAction=null,this.reset(),this._isActive=!1},t.prototype.reset=function(){this._sequence=""},t.prototype._change=function(){this._currentAction(this._sequence),this._addClearTimeout()},t.prototype._addClearTimeout=function(){var t=this;this._clearTimeout&&clearTimeout(this._clearTimeout),this._clearTimeout=setTimeout(function(){t.reset(),t._clearTimeout=null},2e3)},t}();e.KeyListener=n},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(50);e.selectAllView=function(){return n.el(".dhx_list-item.dhx_combobox-options__item.dhx_combobox-options__item--select-all.dhx_combobox__action-select-all",o.default.selectAll)},e.unselectAllView=function(){return n.el(".dhx_list-item.dhx_combobox-options__item.dhx_combobox-options__item--select-all.dhx_combobox__action-select-all",o.default.unselectAll)},e.emptyListView=function(){return n.el("ul.dhx_list",[n.el("li.dhx_list-item.dhx_combobox-options__item",{},o.default.notFound)])}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(166)),n(i(51))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ie.offsetHeight,n=t.node.attrs.class.replace(" dhx_dataview--has-scroll",""),o=i?n+" dhx_dataview--has-scroll":n;t.node.patch({class:o})}}});return n.mount(e,l),n}return n(e,t),e.prototype.editItem=function(t){this._edited=t,this.data.getItem(this._edited)&&this.events.fire(p.DataViewEvents.beforeEditStart,[t])?(this._getHotkeys(),this.paint(),this.events.fire(p.DataViewEvents.afterEditStart,[t])):this._edited=null},e.prototype.getFocusItem=function(){return this.data.getItem(this.data.getId(this._focusIndex))},e.prototype.setItemInRow=function(t){this.config.itemsInRow=t,this.paint()},e.prototype.setFocus=function(t){var e=this.data.getIndex(t);this._setFocusIndex(e)},e.prototype.getFocus=function(){var t=this.data.getItem(this.data.getId(this._focusIndex));if(t)return t.id},e.prototype.destructor=function(){this.events.clear(),this._navigationDestructor&&this._navigationDestructor(),this._documentClickDestuctor&&this._documentClickDestuctor(),this.unmount()},e.prototype.getFocusIndex=function(){return this._focusIndex},e.prototype.setFocusIndex=function(t){this._setFocusIndex(t)},e.prototype.edit=function(t){this.editItem(t)},e.prototype._setFocusIndex=function(t){if(!(t<0||t>this.data.getLength()-1)){this._focusIndex=t;var e=this.getRootNode();if(e&&e.parentNode){var i=e.children[Math.floor(this._focusIndex/this.config.itemsInRow)];if(i){var n=i.children[this._focusIndex%this.config.itemsInRow],o=parseInt(this.config.gap.toString().replace("px",""),null);n.offsetTop>=e.clientHeight+e.scrollTop-n.clientHeight?e.scrollTop=n.offsetTop-e.clientHeight+n.clientHeight+o:n.offsetTop0;return this.config.$validationStatus=t?p.ValidationStatus.success:p.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=p.ValidationStatus.pre,this.paint()},e.prototype.clear=function(){this.data.removeAll(),this.paint()},e.prototype.getValue=function(){return this.data.map(function(t){return t.file})||[]},e.prototype.getWidget=function(){return this._uploader},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!h.isEmptyObj(t)){for(var i in this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.config.labelInline&&(this.config.labelPosition="left"),this.config.helpMessage=this.config.helpMessage||this.config.help,this.events.on(p.BaseElementEvent.change,function(){e.validate(),e.paint()}),this.events.fire(p.BaseElementEvent.configUpdate,[this.config]),this.paint()}},e.prototype._draw=function(){var t=this;this.config.helpMessage&&(this._helper?this._helper.attachHTML(this.config.helpMessage):(this._helper=new d.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.helpMessage)));var e=this.data.getLength()?r.el("ul.dhx_simplevault__files.dhx_simplevault-files",{class:this.config.$vaultHeight?"":"dhx_simplevault-files__fixed"},this.data.map(function(e){return r.el("li.dhx_simplevault-files__item",[r.el("span.dhx_simplevault-files__item-name",e.file.name),r.el(".dhx_button.dhx_simplevault-files__delete.dhx_button--icon.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle",{dhx_id:e.id,onclick:t._handlers.remove},[r.el("span.dxi.dxi-delete-forever")])])})):null,i=this.config,n=i.id,o=i.labelPosition,s=i.label,a=i.labelWidth,c=i.helpMessage,l=i.disabled,u=i.required,p=i.validation,_="left"===o&&a?a:"";return r.el(".dhx_form-group.dhx_form-group--simplevault",{class:h.getFormItemCss(this.config,Boolean(u)||Boolean(p))},[r.el("label.dhx_label",{for:n||this._uid,style:{minWidth:_,maxWidth:_},class:c?"dhx_label--with-help":"",onclick:this._handlers.add},c?[r.el("span.dhx_label__holder",s),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:s),r.el(".dhx_input__wrapper",[r.el("div",{_hooks:{didInsert:function(e){t._uploader.linkDropArea(e.el)}},ondragover:this._handlers.ondragover,class:"dhx_simplevault"+(this._dragover?" dhx_simplevault--on-drag":"")},[r.el("div.dhx_simplevault-loader",[r.el("span.dhx_simplevault__icon.dxi.dxi-vault")]),r.el(".dhx_simplevault__drop-area",[r.el("input.dhx_simplevault__input",{type:"file",id:n,disabled:l}),r.el("span.dhx_simplevault__icon.dxi.dxi-vault"),r.el("span.dhx_simplevault__title",[r.el("span",f.default.simpleVaultText),r.el("br"),r.el("label.dhx_simplevault__label",{onclick:this._handlers.add,for:n}," "+f.default.simpleVaultLabel)])]),e]),h.getValidationMessage(this.config)&&r.el("span.dhx_input__caption",{},h.getValidationMessage(this.config))])])},e}(c.View);e.SimpleVault=_},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(30),r=i(0),s=i(18),a=i(11),c=i(3),l=i(8),u=i(9),d=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=new c.EventSystem,n._initView(i);return n.mount(e,r.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.isDisabled=function(){return this.config.disabled},e.prototype.validate=function(){var t,e=this.config,i=e.required,n=e.value;return t=e.validation?this.config.validation(n):!i||Boolean(n),this.config.$validationStatus=t?l.ValidationStatus.success:l.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=l.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.timepicker.setValue(t),this.config.controls&&this.timepicker.events.fire(o.TimepickerEvents.apply,[]),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.clear=function(){12===this.config.timeFormat?this.timepicker.setValue("12:00AM"):this.timepicker.setValue("00:00"),this.config.value=""},e.prototype.getWidget=function(){return this.timepicker},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!u.isEmptyObj(t)){for(var i in this.timepicker&&this.timepicker.destructor(),this._popup&&this._popup.destructor(),this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1,editable:!1,value:""},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.config.editable=this.config.editable||this.config.editing,this._popup=new a.Popup({css:"dhx_widget--border-shadow"}),this.timepicker=new o.Timepicker(null,t),this._popup.attach(this.timepicker),this.config.value&&(this.timepicker.setValue(this.config.value),this.config.value=this.timepicker.getValue()),this.config.controls?(this.timepicker.events.on(o.TimepickerEvents.close,function(){e._popup.hide()}),this.timepicker.events.on(o.TimepickerEvents.apply,function(){e.config.value=e.timepicker.getValue(),e.validate(),e._popup.hide()}),this._popup.events.on(a.PopupEvents.afterHide,function(){var t=e.config.value;t&&t!==e.timepicker.getValue()&&e.timepicker.setValue(t),""===t&&e.clear(),e.paint()})):(this.timepicker.events.on(o.TimepickerEvents.change,function(){e.config.value=e.timepicker.getValue(),e.validate()}),this._popup.events.on(a.PopupEvents.afterHide,function(){e.paint()})),this.events.on(l.BaseElementEvent.change,function(t){var i=12===e.config.timeFormat?7:5;if(t.length>=i){var n=e._inputValidate(t);e._inputValidate(t)?e.timepicker.setValue(n):e.validate()}}),this.events.fire(l.BaseElementEvent.configUpdate,[this.config]),this.clearValidate()}},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onkeyup:function(e){var i=e.target.value.trim();t.config.controls||13!==e.keyCode||(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur());(e.which>=48&&e.which<=57||e.which>=65&&e.which<=90||e.which>=96&&e.which<=105)&&t.events.fire(l.BaseElementEvent.change,[i])}}},e.prototype._inputValidate=function(t){var e=this.config.timeFormat;return u.isTimeFormat(t,e)?t:""},e.prototype._draw=function(){var t=this.config,e=t.value,i=t.required,n=t.disabled,o=t.placeholder,s=t.name,a=t.id,c=t.validation,l=t.editable;return r.el("div.dhx_form-group",{class:u.getFormItemCss(this.config,Boolean(i)||Boolean(c))},[this._drawLabel(),r.el(".dhx_input__wrapper",[r.el("div.dhx_input__container",{},[r.el(".dhx_input__icon.dxi.dxi-clock-outline"),r.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:e,type:"text",_ref:"input",required:i,disabled:n,placeholder:o||"",name:s||"",id:a||this._uid,onfocus:this._handlers.onfocus,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!l})]),u.getValidationMessage(this.config)&&r.el("span.dhx_input__caption",{},u.getValidationMessage(this.config))])])},e}(s.Label);e.TimeInput=d},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(31),r=i(3),s=i(0),a=i(18),c=i(11),l=i(8),u=i(9),d=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=new r.EventSystem,n._initView(i);return n.mount(e,s.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.isDisabled=function(){return this.config.disabled},e.prototype.validate=function(){var t,e=this.config,i=e.required,n=e.value;return t=e.validation?this.config.validation(n):!i||Boolean(n),this.config.$validationStatus=t?l.ValidationStatus.success:l.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=l.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.config.value=t,this.colorpicker.setValue(t),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.clear=function(){this.config.value="",this.paint()},e.prototype.getWidget=function(){return this.colorpicker},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!u.isEmptyObj(t)){for(var i in this.colorpicker&&this.colorpicker.destructor(),this._popup&&this._popup.destructor(),this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1,editable:!1,value:""},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.config.editable=this.config.editable||this.config.editing,this._popup=new c.Popup({css:"dhx_widget--border-shadow"}),this.colorpicker=new o.Colorpicker(null,t),this._popup.attach(this.colorpicker),this.config.value&&(this.colorpicker.setValue(this.config.value),this.config.value=this.colorpicker.getValue()),this.colorpicker.events.on(o.ColorpickerEvents.change,function(){e.config.value=e.colorpicker.getValue(),e._popup.hide(),e.validate()}),this.events.on(l.BaseElementEvent.change,function(t){var i=e._inputValidate(t);e._inputValidate(t)?e.setValue(i):e.validate()}),this.events.fire(l.BaseElementEvent.configUpdate,[this.config]),this.clearValidate()}},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onchange:function(e){var i=e.target.value;t.events.fire(l.BaseElementEvent.change,[i])},onkeyup:function(e){13===e.keyCode&&(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur())}}},e.prototype._inputValidate=function(t){return o.isHex(t)?t:""},e.prototype._draw=function(){var t=this.config,e=t.required,i=t.value,n=t.icon,o=t.disabled,r=t.placeholder,a=t.name,c=t.id,l=t.editable;return s.el("div.dhx_form-group",{class:u.getFormItemCss(this.config,Boolean(e)||Boolean(this.config.validation))},[this._drawLabel(),s.el(".dhx_input__wrapper",[s.el("div.dhx_input__container",{},[s.el(".dhx_input__icon",{class:n||"dxi dxi-eyedropper-variant"+(i?" dhx_input__icon--color-selected":""),style:{"background-color":i||"transparent"}}),s.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:i,type:"text",_ref:"input",required:e,disabled:o,placeholder:r||"",name:a||"",id:c||this._uid,onfocus:this._handlers.onfocus,onchange:this._handlers.onchange,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!l})]),u.getValidationMessage(this.config)&&s.el("span.dhx_input__caption",{},u.getValidationMessage(this.config))])])},e}(a.Label);e.ColorpickerInput=d},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(185)),n(i(10)),n(i(54)),n(i(53)),n(i(20))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0&&(this._currentData[o].$css=i.$css),this.paint()}},e.prototype.removeRowCss=function(t,e){var i=this.data.getItem(t),n=i.$css?i.$css.replace(e,""):"";i.$css=n},e.prototype.addCellCss=function(t,e,i){var n=this._getColumn(e);n&&(n.$cellCss[t]?n.$cellCss[t]+=n.$cellCss[t].match(new RegExp(i,"g"))?"":" "+i:this.data.getItem(t)&&(n.$cellCss[t]=i+" "),this.paint())},e.prototype.removeCellCss=function(t,e,i){var n=this._getColumn(e);n&&(n.$cellCss[t]?(n.$cellCss[t]=n.$cellCss[t].replace(i,""),this.paint()):this.data.getItem(t)&&(n.$cellCss[t]=""))},e.prototype.showColumn=function(t){var e=this._getColumn(t);e&&e.hidden&&(e.hidden=!1,this.config.$totalWidth+=e.width,this.paint())},e.prototype.hideColumn=function(t){var e=this._getColumn(t);e&&!e.hidden&&(e.hidden=!0,this.config.$totalWidth-=e.width,this.paint())},e.prototype.isColumnHidden=function(t){var e=this._getColumn(t);if(e)return!!e.hidden},e.prototype.getScrollState=function(){return{x:this._scroll.left,y:this._scroll.top}},e.prototype.scroll=function(t,e){var i=this.getRootView().refs.grid_body.el;i.scrollLeft="number"==typeof t?t:i.scrollLeft,i.scrollTop="number"==typeof e?e:i.scrollTop},e.prototype.scrollTo=function(t,e){var i=g.findIndex(this.config.columns,function(t){return t.id===e}),n=this.config.splitAt?this.config.columns.slice(0,this.config.splitAt).reduce(function(t,e){return t+e.width},0):0,o=this.config.columns.slice(0,i).reduce(function(t,e){return t+e.width},0)-n,r=this.data.getIndex(t)*this.config.rowHeight,s=this.getScrollState(),a=this.config.width+s.x,c=this.config.height+s.y-this.config.headerRowHeight*this.config.$headerLevel,l=r-s.y-this.config.rowHeight,u=o-s.x-this.config.columns[i].width,d=r+2*this.config.rowHeight+18-c,h=o+2*this.config.columns[i].width+18-a,f=l>0&&d<0?0:l<0?l:d,p=u>0&&h<0?0:u<0?u:h;this.scroll(p+s.x,f+s.y)},e.prototype.adjustColumnWidth=function(t,e){var i=this;void 0===e&&(e=!0);var n=g.findIndex(this.config.columns,function(e){return e.id===t}),o=this.config.columns[n],r=[];"header"!==e&&!0!==e||o.header.forEach(function(t){r.push(h.getStrWidth(h.removeHTMLTags(t.text))+(h.isSortable(i.config,o)?40:20))}),"data"!==e&&!0!==e||this.data.map(function(t){"string"!=typeof t[o.id]&&"number"!=typeof t[o.id]||r.push(h.getStrWidth(h.removeHTMLTags(t[o.id]))+20)}),r.length>0&&(this.config.$totalWidth=this.config.columns.reduce(function(t,e,i){return i===n&&(e.width=Math.max.apply(Math,r)),t+(e.hidden?0:e.width)},0),this.paint())},e.prototype.getCellRect=function(t,e){var i=g.findIndex(this.config.columns,function(t){return t.id===e}),n=this._getRowIndex(t);return{x:this.config.columns.slice(0,i).reduce(function(t,e){return t+e.width},0),y:n*this.config.rowHeight,height:this.config.rowHeight,width:this.config.columns[i].width}},e.prototype.getColumn=function(t){var e=g.findIndex(this.config.columns,function(e){return e.id===t});if(e>=0)return this.config.columns[e]},e.prototype.addSpan=function(t){this.config.spans=this.config.spans||[];var e=g.findIndex(this.config.spans,function(e){return""+e.row==""+t.row&&""+e.column==""+t.column});e>=0?this.config.spans[e]=t:this.config.spans.push(t)},e.prototype.getSpan=function(t,e){if(this.config.spans){var i=g.findIndex(this.config.spans,function(i){return""+i.row==""+t&&""+i.column==""+e});return this.config.spans[i]}},e.prototype.removeSpan=function(t,e){if(this.config.spans){var i=g.findIndex(this.config.spans,function(i){return""+i.row==""+t&&""+i.column==""+e});this.config.spans.splice(i,1)}},e.prototype.editCell=function(t,e,i){void 0===i&&(i=_.EditorType.input);var n=this.data.getItem(t),o=this.getColumn(e);n&&void 0!==n[e]?this.events.fire(_.GridEvents.beforeEditStart,[n,o,i])&&("date"===o.type&&(i=_.EditorType.datepicker),"boolean"===o.type&&(i=_.EditorType.checkbox),this.config.$editable&&this.config.$editable.row===t&&this.config.$editable.col===e&&this.config.$editable.editorType===i||(this.config.$editable={row:t,col:e,editorType:i},this.selection&&this.selection.setCell(t.toString(),e.toString()),this.paint(),this.events.fire(_.GridEvents.afterEditStart,[n,o,i]))):l.dhxWarning("item not found")},e.prototype.editEnd=function(t){this.config.$editable&&this.config.$editable.editor&&this.config.$editable.editor.endEdit(t)},e.prototype.getSortingState=function(){return{dir:this._sortDir,by:this._sortBy}},e.prototype.edit=function(t,e,i){void 0===i&&(i=_.EditorType.input),this.editCell(t,e,i)},e.prototype._parseColumns=function(){var t=this.config.columns;d.normalizeColumns(t),d.countColumns(this.config,t)},e.prototype._parseData=function(){this.data.getId(0)&&(this.config.columns.length&&this._checkColumns(),this._currentData=this.data.serialize()||[]),this._checkFilters(),this._checkMarks(),this._render()},e.prototype._checkColumns=function(){this._detectColsTypes()},e.prototype._createCollection=function(t){this.data=new l.DataCollection({prep:t},this.events)},e.prototype._getRowIndex=function(t){return this.data.getIndex(t)},e.prototype._setEventHandlers=function(){var t=this,e=function(e){return function(i,n){n&&n instanceof Array?n.map(function(i){return t.data.exists(i)&&t.data.update(i,e)}):t.data.exists(i)&&t.data.update(i,e)}};this.data.events.on(l.DataEvents.load,function(){t._parseData()}),this.data.events.on(l.DataEvents.change,function(e,i,n){if("remove"!==i||!n.$emptyRow){if(t._currentData=t.data.map(function(t){return t})||[],t._detectColsTypes(),t._checkMarks(),t._adjustColumns(),t.config.autoEmptyRow){var o=t.data.find({by:"$emptyRow",match:!0});o?t.data.move(o.id,t.data.getLength()-1):t._addEmptyRow()}t._render()}}),this.data.events.on(l.DataEvents.removeAll,function(){t.config.columns.map(function(t){t.header.map(function(e){!e.content||"selectFilter"!==e.content&&"comboFilter"!==e.content||(t.$uniqueData=[])})})}),this.events.on(l.DragEvents.canDrop,e({$drophere:!0})),this.events.on(l.DragEvents.cancelDrop,e({$drophere:void 0})),this.events.on(l.DragEvents.dragStart,e({$dragtarget:!0})),this.events.on(l.DragEvents.dragEnd,e({$dragtarget:void 0})),this.events.on(_.GridEvents.sort,function(e){e&&t._sort(e)}),this.events.on(_.GridEvents.cellMouseDown,function(e,i,n){if(t.config.dragMode&&"row"===t.config.dragItem&&!t.config.$editable){var o=a.locateNode(n,"dhx_id"),r=o&&o.getAttribute("dhx_id");return l.dragManager.onMouseDown(n,[r],[o])}}),this.events.on(_.GridEvents.headerInput,function(e,i,n){if(t.config.autoEmptyRow){var o=t.data.find({by:"$emptyRow",match:!0});o&&t.data.remove(o.id)}t.data.filter({by:i,match:e,compare:t.content[n].match},{multiple:!0})}),this.events.on(_.GridEvents.filterChange,function(e,i,n){if(t.config.autoEmptyRow){var o=t.data.find({by:"$emptyRow",match:!0});o&&t.data.remove(o.id)}t.data.filter({by:i,match:e,compare:t.content[n].match},{multiple:!0})}),this.events.on(_.GridEvents.scroll,function(e){t._scroll={top:e.y,left:e.x},t.paint()}),this.events.on(_.GridEvents.cellDblClick,function(e,i){(!1!==i.editable&&t.config.editable||i.editable)&&t.editCell(e.id,i.id,i.editorType)}),this.events.on(_.GridEvents.afterEditEnd,function(e,i,n){var r,s,a;t.config.$editable?(s=t.config.$editable.row,a=t.config.$editable.col):(s=i.id,a=n.id);var c=t.data.getItem(s);delete c.$emptyRow,void 0!==e&&t.data.update(s,o(o({},c),((r={})[a]=e,r))),t.config.$editable=null,t._checkFilters(),t.paint()}),this.events.on(_.GridEvents.headerCellMouseDown,function(e,i){var n=i.target.getAttribute("dhx_resized");n&&t.events.fire(_.GridEvents.beforeResizeStart,[e,i])&&b.startResize(t,n.toString(),i,function(){t.paint(),t.config.$resizing=null,t.events.fire(_.GridEvents.afterResizeEnd,[e,i])})})},e.prototype._addEmptyRow=function(){var t=this.data.getId(this.data.getLength()-1),e=this.data.getItem(t);h.isRowEmpty(e)||this.data.add(this.config.columns.reduce(function(t,e){return t[e.id]="",t},{$emptyRow:!0}))},e.prototype._sort=function(t,e){var i=this;e?this._sortDir=e:this._sortBy===t?this._sortDir="asc"===this._sortDir?"desc":"asc":this._sortDir="desc",this._sortBy=t,this.data.sort({by:t,dir:this._sortDir,as:function(e){var n=i.getColumn(t);return e&&"date"===n.type?""+m.stringToDate(e,n.dateFormat).getTime():e?""+e:""}})},e.prototype._getColumn=function(t){for(var e=0,i=this.config.columns;en.length?n.forEach(function(t){-1===e.$uniqueData.indexOf(t)&&e.$uniqueData.push(t)}):e.$uniqueData=n}})})},e.prototype._destroyContent=function(){for(var t in this.content)"comboFilter"===t&&this.content[t].destroy()},e.prototype._render=function(){this.paint()},e.prototype._lazyLoad=function(t){var e=t.target.scrollTop;if(this.getScrollState().y!==e){var i=Math.round(e/this.config.rowHeight),n=(this.config.height-this.config.headerRowHeight)/this.config.rowHeight,o=this.data.dataProxy;o&&o.config&&!this.data.isDataLoaded(i,n+i+o.config.prepare)&&(o.updateUrl(null,{from:i,limit:o.config.limit}),this.data.load(o))}},e}(c.View);e.Grid=x},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i0){var a=this._grid.data.getIndex(this._oldSelectedCell.row.id),c=this._grid.data.getIndex(t.id);if(a>c){var l=a;a=c,c=l}if(this._selectedCells=[this._oldSelectedCell],"cell"===this._type){var u=this._grid.config.columns.map(function(t){return t.id}),d=u.indexOf(s.column.id),h=u.indexOf(e.id);if(-1!==d&&-1!==h){if(d>h){l=d;d=h,h=l}var f=this._grid.config.columns.slice(d,h+1);this._grid.data.mapRange(a,c,function(t){f.forEach(function(e){var i={row:t,column:e};-1===r._findIndex(i)&&r._selectedCells.push(i)})})}}else this._grid.data.mapRange(a,c,function(t){var i={row:t,column:e};-1===r._findIndex(i)&&r._selectedCells.push({row:t,column:e})})}else if(i&&!o){var p=this._findIndex();-1===p?this._selectedCells.push(this._selectedCell):this._selectedCells.splice(p,1)}else this._selectedCells=[this._selectedCell];else this._selectedCells=[this._selectedCell]}else this._selectedCell=void 0,this._selectedCells=[];n.awaitRedraw().then(function(){r._grid.paint()})}},t.prototype.getCell=function(){return this._selectedCell},t.prototype.getCells=function(){if(this._multiselection)return this._selectedCells},t.prototype.toHTML=function(){var t=this;if(!this._isUnselected()){if(this._multiselection){var e=[];return this._selectedCells.forEach(function(i,n,o){e.push(t._toHTML(i.row,i.column,n===o.length-1||"cell"===t._type))}),e}return this._toHTML(this._selectedCell.row,this._selectedCell.column,!0)}},t.prototype._init=function(){var t=this;this._grid.events.on(r.GridEvents.cellClick,function(e,i,n){t.setCell(e,i,n.ctrlKey||n.metaKey,n.shiftKey)}),this._grid.data.events.on(s.DataEvents.beforeRemove,function(e){if(e&&t._selectedCell&&t._selectedCell.row){var i=t._grid.data.getIndex(String(t._selectedCell.row.id)),n=t._grid.data.getId(i+1);if(n)t.setCell(n);else{var o=t._grid.data.getId(i-1);o&&t.setCell(o)}t._grid.paint()}}),this._outerClick=function(e){if(!t._grid.config.$editable){for(var i=t._grid.getRootView().data.getRootNode(),n=e.target,o=!1;n;){if(n===i)return void(o=!0);n=n.parentNode}!o&&t._selectedCell&&t._selectedCells&&t.setCell()}},document.addEventListener("click",this._outerClick)},t.prototype._toHTML=function(t,e,i){void 0===i&&(i=!1);var o,r=(this._grid.config.splitAt?this._grid.config.columns.slice(0,this._grid.config.splitAt):[]).map(function(t){return t.id}),s=this._grid.getCellRect(t.id,e.id);if(-1!==r.indexOf(e.id)&&i){var a=this._grid.getScrollState();o=n.el(".dhx_grid-selected-cell",{style:{width:this._grid.config.splitAt===r.indexOf(e.id)+1?s.width-1:s.width,height:s.height,top:s.y,left:s.x+a.x,position:"absolute",zIndex:10}})}var c=this._grid.config.$totalWidth;return n.el(".dhx_grid-selection",{},[("row"===this._type||"complex"===this._type)&&n.el(".dhx_grid-selected-row",{style:{width:c,height:s.height-1,top:s.y,left:0,position:"absolute"}}),("cell"===this._type||"complex"===this._type)&&o||("cell"===this._type||"complex"===this._type)&&i&&n.el(".dhx_grid-selected-cell",{style:{width:s.width-1,height:s.height-1,top:s.y,left:s.x+1,position:"absolute"}})])},t.prototype._isUnselected=function(){return!this._selectedCell||!this._selectedCell.row||!this._selectedCell.column||0===this._selectedCells.length},t.prototype._findIndex=function(t){var e=this;void 0===t&&(t=this._selectedCell);var i=-1;return this._selectedCells.some(function(n,r){if("cell"===e._type){if(o.compare(n.row,t.row)&&o.compare(n.column,t.column))return i=r,!0}else if("row"===e._type&&o.compare(n.row,t.row))return i=r,!0}),i},t}();e.Selection=a},function(t,e,i){"use strict";var n=this;Object.defineProperty(e,"__esModule",{value:!0});var o=i(13),r=i(10),s=i(2),a={focusedID:void 0,isFocus:function(t){return n.focusedID===t},getFocusState:function(){return n.focusedID},setFocusState:function(t){return n.focusedID=t}};function c(t){return"cell"===t||"complex"===t}function l(t,e,i,n,o,r,s){if(void 0===o&&(o=!1),void 0===r&&(r=!1),void 0===s&&(s=!1),!e.config.$editable&&e.config.selection){t&&t.preventDefault();var a=e.selection.getCell();if(a)if("vertical"===i)if(o){var c=1===n?e.data.getItem(e.data.getId(e.data.getLength()-1)):e.data.getItem(e.data.getId(0));e.selection.setCell(c.id,a.column.id,r,s),e.scrollTo(c.id,a.column.id.toString())}else{if((l=e.data.getIndex(a.row.id.toString()))+n>=0&&l+n=0&&l+n=0&&n=0){var o=t.data.getIndex(i.row.id.toString())+1;o=0&&n=0&&(t.selection.setCell(t.data.getId(o),t.config.columns[t.config.columns.length-1].id),t.scrollTo(t.data.getId(o),t.config.columns[t.config.columns.length-1].id.toString()))}}}}),d(u.arrowUp,function(e){l(e,t,"vertical",-1)}),d("ctrl+"+u.arrowUp,function(e){l(e,t,"vertical",-1,!0)}),d("shift+"+u.arrowUp,function(e){t.config.multiselection&&l(e,t,"vertical",-1,!1,!1,!0)}),d("ctrl+shift+"+u.arrowUp,function(e){t.config.multiselection&&l(e,t,"vertical",-1,!0,!1,!0)}),d(u.arrowDown,function(e){l(e,t,"vertical",1)}),d("ctrl+"+u.arrowDown,function(e){l(e,t,"vertical",1,!0)}),d("shift+"+u.arrowDown,function(e){t.config.multiselection&&l(e,t,"vertical",1,!1,!1,!0)}),d("ctrl+shift+"+u.arrowDown,function(e){t.config.multiselection&&l(e,t,"vertical",1,!0,!1,!0)}),d(u.arrowRight,function(e){l(e,t,"horizontal",1)}),d("ctrl+"+u.arrowRight,function(e){l(e,t,"horizontal",1,!0)}),d("shift+"+u.arrowRight,function(e){t.config.multiselection&&l(e,t,"horizontal",1,!1,!1,!0)}),d("ctrl+shift+"+u.arrowRight,function(e){t.config.multiselection&&l(e,t,"horizontal",1,!0,!1,!0)}),d(u.arrowLeft,function(e){l(e,t,"horizontal",-1)}),d("ctrl+"+u.arrowLeft,function(e){l(e,t,"horizontal",-1,!0)}),d("shift+"+u.arrowLeft,function(e){t.config.multiselection&&l(e,t,"horizontal",-1,!1,!1,!0)}),d("ctrl+shift+"+u.arrowLeft,function(e){t.config.multiselection&&l(e,t,"horizontal",-1,!0,!1,!0)})}}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=b.height-m.headerRowHeight?r.getScrollbarWidth():0;m.$totalWidth=b.width-h-x;var w=m.columns.reduce(function(t,e){return e.hidden?t:t+e.width},0),k=m.$totalWidth/w,C=m.columns.reduce(function(t,e){var i=k>0?e.width*k:20;return!a.isAutoWidth(m,e)||e.maxWidth&&e.maxWidthi?t+e.width:t},0),E=(m.$totalWidth-C)/(w-C);m.$totalWidth=0,m.columns.map(function(t){var e=E>0?t.width*E:20,i=!a.isAutoWidth(m,t)||t.maxWidth&&t.maxWidthe;t.width=i?t.maxWidth||t.minWidth||t.width:e,m.$totalWidth+=t.hidden?0:t.width})}m.width=b.width,m.height=b.height;var S=function(t,e,i){var o=t.config,r=s.calculatePositions(i.width,i.height,t._scroll,o);return n(n({},o),{data:e,scroll:t._scroll,$positions:r,headerHeight:o.$headerLevel*o.headerRowHeight,footerHeight:o.$footerLevel*o.footerRowHeight,firstColId:o.columns[0].id,events:t.events,currentColumns:o.columns.slice(r.xStart,r.xEnd),sortBy:t._sortBy,sortDir:t._sortDir})}(e,i,b);S.selection=_,S.datacollection=e.data;var O=c.getShifts(S),M=a.isCssSupport("position","sticky"),T=function(t,e,i){var n=i.height-h;n=e?n:n-t.headerHeight;var o=t.$footer,s=t.$totalHeight+h=0&&a.getRows(n(n({},t),{currentColumns:t.columns.slice(0,t.splitAt),$positions:n(n({},t.$positions),{xStart:0,xEnd:t.splitAt})}),n(n({},e),{name:"header",position:"top"})),v=t.splitAt>=0&&a.getRows(n(n({},t),{currentColumns:t.columns.slice(0,t.splitAt),$positions:n(n({},t.$positions),{xStart:0,xEnd:t.splitAt})}),n(n({},e),{name:"footer",position:"bottom"})),g=_&&o.el(".dhx_"+f.name+"-fixed-cols",{style:{position:"absolute",top:0,left:0,zIndex:999999}},_),m=h?v&&o.el(".dhx_"+p.name+"-fixed-cols",{style:{position:"absolute",bottom:0,left:0,zIndex:999999}},v):null,y=t.$positions;return o.el(".dhx_grid-fixed-cols-wrap",{style:{height:l,paddingTop:t.headerHeight,overflow:"hidden",width:t.fixedColumnsWidth}},[g,o.el(".dhx_grid-fixed-cols",n({style:{top:-t.scroll.top+t.headerHeight-1+"px",paddingTop:e.shifts.y,height:t.$totalHeight,position:"absolute"},_flags:o.KEYED_LIST},s.getHandlers(y.yStart,y.xStart,t)),d),t.$footer&&m,o.el(".dhx_frozen-cols-border")])}}},function(t,e,i){"use strict";var n=this&&this.__spreadArrays||function(){for(var t=0,e=0,i=arguments.length;et.config.height?s.getScrollbarWidth():0;if(!(t.config.splitAt===a+1&&u>=t.config.width-d-2)){l=l||t.config.columns[a].width;var h,f=t.config.columns[a].minWidth||20,p=t.config.columns[a].maxWidth,_=i.clientX-c,v=n(t.config.columns),g=l+_;p&&g>=p||g<=f?(g<=f&&(h=f),g>=p&&(h=p)):h=g,v[a].width=h,t.events.fire(r.GridEvents.resize,[t.config.columns[a],i]),t.paint()}},d=function(){document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",d),a()};document.addEventListener("mousemove",u),document.addEventListener("mouseup",d),t.paint()}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(199)),n(i(200));var o=i(17);e.ItemType=o.ItemType,e.NavigationBarEvents=o.NavigationBarEvents},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(2),r=i(17),s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._isContextMenu=!0,e}return n(e,t),e.prototype.showAt=function(t,e){if(void 0===e&&(e="bottom"),t instanceof MouseEvent)this._changeActivePosition({left:window.pageXOffset+t.x+1,right:window.pageXOffset+t.x+1,top:window.pageYOffset+t.y,bottom:window.pageYOffset+t.y},e);else{var i=o.toNode(t);this._changeActivePosition(o.getRealPosition(i),e)}},e.prototype._getFactory=function(){return r.createFactory({widget:this,defaultType:r.ItemType.menuItem,allowedTypes:[r.ItemType.menuItem,r.ItemType.spacer,r.ItemType.separator,r.ItemType.customHTML,r.ItemType.customHTMLButton],widgetName:"context-menu"})},e.prototype._close=function(e){t.prototype._close.call(this,e),this._activeMenu=null,this._changeActivePosition(null,null)},e.prototype._getMode=function(t,e,i){return i?this._mode:"right"},e.prototype._changeActivePosition=function(t,e){this._activePosition=t,this._mode=e,this._listenOuterClick(),this.paint()},e}(r.Navbar);e.ContextMenu=s},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(17),s=function(t){function e(e,i){var n=t.call(this,e,i)||this;return n.mount(e,o.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype._getFactory=function(){return r.createFactory({widget:this,defaultType:r.ItemType.menuItem,allowedTypes:[r.ItemType.menuItem,r.ItemType.spacer,r.ItemType.separator,r.ItemType.customHTML,r.ItemType.customHTMLButton],widgetName:"menu-nav"})},e.prototype._draw=function(){return o.el("ul.dhx_widget",{dhx_widget_id:this._uid,onmousemove:this._handlers.onmousemove,onmouseleave:this._handlers.onmouseleave,onclick:this._handlers.onclick,onmousedown:this._handlers.onmousedown,class:"dhx_menu-nav "+(this.config.css?this.config.css:"")},this._drawMenuItems(this.data.getRoot(),!1))},e}(r.Navbar);e.Menu=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}(i(202))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(29),s=i(17),a=i(1),c=i(2),l=i(19),u=function(t){function e(e,i){var n=t.call(this,e,a.extend({navigationType:"click"},i))||this;n._listeners={input:function(t){var e=c.locate(t);n.data.update(e,{value:t.target.value})},tooltip:function(t){var e=c.locateNode(t);if(e){var i=e.getAttribute("dhx_id"),o=n.data.getItem(i);o.tooltip&&l.tooltip(o.tooltip,{node:e,position:l.Position.bottom})}}},n._currentRoot=null;return n.mount(e,o.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.getState=function(){var t={};for(var e in this.data.eachChild(this.data.getRoot(),function(e){e.twoState&&!e.group?t[e.id]=e.active:e.type!==r.ItemType.input&&e.type!==r.ItemType.selectButton||(t[e.id]=e.value)},!0),this._groups)this._groups[e].active&&(t[e]=this._groups[e].active);return t},e.prototype.setState=function(t){for(var e in t)if(this._groups&&this._groups[e])this._groups[e].active&&(this.data.update(this._groups[e].active,{active:!1}),this._groups[e].active=t[e],this.data.update(t[e],{active:!0}));else{var i=this.data.getItem(e);i.type===r.ItemType.input||i.type===r.ItemType.selectButton?this.data.update(e,{value:t[e]}):this.data.update(e,{active:t[e]})}},e.prototype._getFactory=function(){return s.createFactory({widget:this,defaultType:r.ItemType.navItem,allowedTypes:[r.ItemType.navItem,r.ItemType.button,r.ItemType.customHTMLButton,r.ItemType.customHTML,r.ItemType.imageButton,r.ItemType.input,r.ItemType.selectButton,r.ItemType.separator,r.ItemType.spacer,r.ItemType.title],widgetName:"ribbon"})},e.prototype._getMode=function(t,e){return t.id===e?"bottom":"right"},e.prototype._close=function(e){this._activePosition=null,this._currentRoot=null,t.prototype._close.call(this,e)},e.prototype._draw=function(){var t=this;return o.el("ul.dhx_ribbon.dhx_widget",{dhx_widget_id:this._uid,class:this.config.css?this.config.css:"",tabindex:0,onclick:this._handlers.onclick,onmousedown:this._handlers.onmousedown,oninput:this._listeners.input,onmouseover:this._listeners.tooltip,_hooks:{didInsert:function(e){e.el.addEventListener("keyup",function(e){if(9===e.which){var i=c.locateNode(document.activeElement);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);o.tooltip&&l.tooltip(o.tooltip,{node:i,position:l.Position.bottom,force:!0})}}},!0)}}},[o.el("li",{class:"dhx_ribbon-block dhx_ribbon-block--root"},[o.el("ul.dhx_ribbon-content.dhx_ribbon-content--full-width",this.data.map(function(e){return"block"===e.type?t._drawBlock(e,!0):t._factory(e)},this.data.getRoot(),!1))])])},e.prototype._setRoot=function(t){var e=this.data.getParent(t);this.data.getItem(e).type===r.ItemType.block&&(this._currentRoot=t)},e.prototype._drawBlock=function(t,e){var i=this;if(!t||t.hidden)return null;var n="dhx_ribbon-block dhx_ribbon-block"+("col"===t.direction?"--col":"--row")+(t.title?" dhx_ribbon-block--title":"")+(t.css?" "+t.css:"")+(e?" dhx_ribbon-block--indented":""),s=this.data.map(function(t){return t.type===r.ItemType.block?i._drawBlock(t):t.type!==r.ItemType.separator&&t.type!==r.ItemType.spacer?i._factory(t):null},t.id,!1);return o.el("li",{class:n},[o.el("ul.dhx_ribbon-content",s),t.title?o.el("span.dhx_ribbon-content-label-wrapper",[o.el("span.dhx_ribbon-content-label",t.title)]):null])},e}(s.Navbar);e.Ribbon=u},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(204)),n(i(79))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(2),s=i(79),a=i(19),c=i(17),l=i(1),u=function(t){function e(e,i){var n=t.call(this,e,l.extend({navigationType:"click",width:"200",minWidth:"44",collapsed:!1},i))||this;n._currentRoot=null;return n.mount(e,o.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.toggle=function(){this.config.collapsed?this.expand():this.collapse(),this.events.fire(s.SidebarEvents.toggle,[this.config.collapsed]),this.paint()},e.prototype.collapse=function(){this.events.fire(s.SidebarEvents.beforeCollapse,[])&&(this.config.collapsed=!0,this.events.fire(s.SidebarEvents.afterCollapse,[]),this.paint())},e.prototype.expand=function(){this.events.fire(s.SidebarEvents.beforeExpand,[])&&(this.config.collapsed=!1,this.events.fire(s.SidebarEvents.afterExpand,[]),this.paint())},e.prototype.isCollapsed=function(){return this.config.collapsed},e.prototype._getFactory=function(){return c.createFactory({widget:this,defaultType:c.ItemType.navItem,allowedTypes:[c.ItemType.navItem,c.ItemType.menuItem,c.ItemType.customHTMLButton,c.ItemType.customHTML,c.ItemType.separator,c.ItemType.spacer,c.ItemType.title],widgetName:"sidebar"})},e.prototype._close=function(e){this._activePosition=null,this._currentRoot=null,t.prototype._close.call(this,e)},e.prototype._setRoot=function(t){this.data.getParent(t)===this.data.getRoot()&&(this._currentRoot=t)},e.prototype._customHandlers=function(){var t=this;return{tooltip:function(e){var i=r.locateNode(e);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);(o.tooltip||t.config.collapsed&&o.value)&&a.tooltip(o.tooltip||o.value,{node:i,position:a.Position.right})}}}},e.prototype._draw=function(){var t=this,e=this.config,i=e.width,n=e.minWidth,s=this.config.collapsed?n:i;return o.el("nav.dhx_widget.dhx_sidebar",{class:(this.config.css?this.config.css:"")+(this.config.collapsed?" dhx_sidebar--minimized":""),style:{width:s+"px"}},[o.el("ul.dhx_navbar.dhx_navbar--vertical",{dhx_widget_id:this._uid,tabindex:0,onclick:this._handlers.onclick,onmousedown:this._handlers.onmousedown,oninput:this._handlers.input,onmouseover:this._handlers.tooltip,_hooks:{didInsert:function(e){e.el.addEventListener("keyup",function(e){if(9===e.which){var i=r.locateNode(document.activeElement);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);(o.tooltip||t.config.collapsed&&o.value)&&a.tooltip(o.tooltip||o.value,{node:i,position:a.Position.right,force:!0})}}},!0)}}},this.data.map(function(e){return t._factory(e)},this.data.getRoot(),!1))])},e.prototype._getMode=function(){return"right"},e.prototype._customInitEvents=function(){var t=this;this.events.on(c.NavigationBarEvents.inputBlur,function(){t._waitRestore&&(t.toggle(),t._waitRestore=!1)}),this.events.on(c.NavigationBarEvents.inputFocus,function(){t.config.collapsed&&(t._waitRestore=!0,t.toggle())})},e}(c.Navbar);e.Sidebar=u},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(206)),n(i(80))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i'+(e.text||e.value)+""}),this.events.on(d.DragEvents.canDrop,function(e,i){var n;n=t.config.dropBehaviour===d.DropBehaviour.complex?i===d.DropPosition.top?"dhx_tree-drop--top":i===d.DropPosition.bot?"dhx_tree-drop--bottom":"dhx_tree-drop--in-folder":t.config.dropBehaviour===d.DropBehaviour.child?"dhx_tree-drop--in-folder":"dhx_tree-drop--bottom",t.data.exists(e)&&t.data.update(e,{$drophere:n})}),this.events.on(d.DragEvents.cancelDrop,function(e){t.data.exists(e)&&t.data.update(e,{$drophere:null})}),this.events.on(d.DragEvents.dropComplete,function(e,i){(t.config.dropBehaviour===d.DropBehaviour.child||t.config.dropBehaviour===d.DropBehaviour.complex&&i===d.DropPosition.in)&&t.expand(e)}),this.events.on(d.DragEvents.dragStart,function(){t._isSelectionActive=!1,t.paint()}),this.events.on(d.DragEvents.dragEnd,function(){t._isSelectionActive=!0,t.paint()}),this.events.on(l.SelectionEvents.afterSelect,function(e){return t._focusId=e}),this.config.editable&&this.events.on(p.TreeEvents.itemDblClick,function(e){return t.editItem(e)})},e.prototype._initHandlers=function(){var t=this;this._handlers={onmouseleave:function(t){d.dragManager._cancelCanDrop()},onclick:function(e){var i=c.locate(e);i&&(e.target.classList.contains("dhx_tree-toggle-button")?t.toggle(i):e.target.classList.contains("dhx_tree-checkbox")?t.data.getItem(i).$mark===p.SelectStatus.unselected?t.checkItem(i):t.uncheckItem(i):(t.events.fire(p.TreeEvents.itemClick,[i,e]),t.data.exists(i)&&t.selection.add(i)))},ondblclick:function(e){var i=c.locate(e);t.events.fire(p.TreeEvents.itemDblClick,[i,e])},ondragstart:function(t){t.preventDefault()},onmousedown:function(e){t.config.dragMode&&t.config.dragMode!==d.DragMode.target&&d.dragManager.onMouseDown(e)},oncontextmenu:function(e){var i=c.locate(e);i&&(t.events.fire(p.TreeEvents.itemRightClick,[i,e]),t.events.fire(p.TreeEvents.itemContextMenu,[i,e]))}}},e.prototype._drawItems=function(t,e){var i=this;return void 0===e&&(e=0),this.data.map(function(t){if(t){var n,r,a,c=!!i.config.isFolder&&i.config.isFolder(t);if((t.$autoload||i.data.haveItems(t.id))&&(c=!0,n=s.el("div",{class:"dxi dxi-menu-right dhx_tree-toggle-button"},""),t.opened&&(n=s.el("div",{class:"dxi dxi-menu-down dhx_tree-toggle-button dhx_tree-toggle-button--open"},""),r=i._drawItems(t.id,e+1))),t.checkbox){var l=t.$mark===p.SelectStatus.indeterminate?"dxi-minus-box":t.$mark===p.SelectStatus.selected?"dxi-checkbox-marked":"dxi-checkbox-blank-outline";a=s.el("div",{class:"dhx_tree-checkbox dxi "+l})}var u,d=g(c,t.opened),h=(t.icon||i.config.icon)[d]||i.config.icon[d];return u=t.$edit?i._editor.edit(i._uid,o({item:t},t.$editConfig)):s.el("span",{class:"dhx_tree-list-item__text"},t.text||t.value),c?s.el("li",{class:"dhx_tree-list-item dhx_tree-list-item--parent"+(t.css?" "+t.css:""),dhx_id:t.id,_key:t.id},[s.el("div.dhx_tree-folder",{class:(t.id===i._focusId?" dhx_tree-folder--focused":"")+(t.$selected?" dhx_tree-folder--selected":"")+(t.$drophere?" "+t.$drophere:""),style:{left:-_(e)+"px",right:-_(e)+"px","margin-left":_(e)+"px"}},[n,s.el("div.dhx_tree-list-item__content",[a,s.el("div",{class:"dhx_tree-list-item__icon "+h}),u])]),r&&s.el("ul.dhx_tree-list",r)]):s.el("li",{class:"dhx_tree-list__item dhx_tree-list-item"+(t.id===i._focusId?" dhx_tree-list-item--focused":"")+(t.$selected?" dhx_tree-list-item--selected":"")+(t.$drophere?" "+t.$drophere:"")+(c?"dhx_tree-list-item--folder":""),style:{left:-_(e)+"px",right:-_(e)+"px","margin-left":_(e)+"px"},dhx_id:t.id,level:e},[n,s.el("div",{class:"dhx_tree-list-item__content"},[a,s.el("div",{class:"dhx_tree-list-item__icon "+h}),u])])}},t,!1)},e.prototype._updateItemCheck=function(t,e){this.data.update(t,{$mark:e}),this.data.eachChild(t,function(t){return t.$mark=e}),this._updateParents(t)},e.prototype._updateParents=function(t,e){var i=this;void 0===e&&(e=!1),t!==this._root&&this.data.eachParent(t,function(t){var e=0,n=0;i.data.eachChild(t.id,function(t){if(t.checkbox)switch(t.$mark){case p.SelectStatus.unselected:n++;break;case p.SelectStatus.selected:e++}},!0),t.$mark=0!==e&&0!==n?p.SelectStatus.indeterminate:0===e&&0!==n?p.SelectStatus.unselected:p.SelectStatus.selected},e)},e}(u.View);function g(t,e){return t?e?p.ItemIcon.openFolder:p.ItemIcon.folder:p.ItemIcon.file}e.Tree=v},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),o=i(2),r=i(13),s=function(){function t(){this._store={},this._keyManager=r.keyManager,this._listen=!1,this._blocked=!1}return t.prototype.add=function(t,e){this._listen||(this._listen=!0,this._initKeys(),this._addListeners()),this._store[t]=e},t.prototype.block=function(t){this._blocked=t},t.prototype._initKeys=function(){var t=this;this._keyManager.addHotKey("arrowleft",function(e){if(!t._blocked){e.preventDefault();var i=t._store[t._activeTarget];if(i){var n=t._getFocused(),o=i.data.getParent(n);if(i.data.getRoot()!==o)!i.data.getItem(n).opened?i.focusItem(o):n!==i.data.getRoot()&&i.collapse(n);else i.collapse(n)}}}),this._keyManager.addHotKey("arrowright",function(e){if(!t._blocked){e.preventDefault();var i=t._store[t._activeTarget];if(i){var n=t._getFocused();i.data.haveItems(n)&&i.expand(n)}}}),this._keyManager.addHotKey("arrowup",function(e){if(!t._blocked){e.preventDefault();var i=t._store[t._activeTarget];if(i){var n=t._getFocused(),o=i.data,r=t._getClosestTop(n,o);r&&i.focusItem(r)}}}),this._keyManager.addHotKey("arrowdown",function(e){if(!t._blocked){e.preventDefault();var i=t._store[t._activeTarget];if(i){var n=t._getFocused(),o=i.data,r=t._getClosestBot(n,o);r&&i.focusItem(r)}}}),this._keyManager.addHotKey("enter",function(){if(!t._blocked){var e=t._store[t._activeTarget];if(e){var i=t._getFocused();i&&e.selection.add(i)}}})},t.prototype._getFocused=function(){var t=this._store[this._activeTarget],e=t._focusId;if(e)return e;var i=t.data.getRoot();return t.data.getItems(i)[0].id},t.prototype._addListeners=function(){var t=this;document.addEventListener("click",function(e){var i=o.locate(e,"dhx_widget_id");i in t._store&&(t._activeTarget=i)}),r.keyManager.addHotKey("tab",function(e){var i=o.locate(e,"dhx_widget_id");i in t._store&&(t._activeTarget=i)},this)},t.prototype._getClosestBot=function(t,e,i){void 0===i&&(i=!1);var o=e.getItem(t);if(e.haveItems(t)&&o.opened&&!i)return e.getItems(t)[0].id;var r=e.getParent(t),s=e.getItems(r),a=n.findIndex(s,function(e){return e.id===t});return a+10){var o=e.getItems(n)[i-1];if(!e.haveItems(o.id)||!o.opened)return o.id;for(;e.haveItems(o.id)&&o.opened;){var r=e.getItems(o.id);o=r[r.length-1]}return o.id}return n===e.getRoot()?null:n},t}();e.keyNavigation=new s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}(i(211))},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),o=i(0),r=i(3),s=i(13),a=i(14),c=i(29),l=i(212),u=i(213);function d(e){return new t(function(t){var i=setTimeout(function(){n()},1e3),n=function(){document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",n),t(!1)},o=function(r){(Math.abs(r.pageX-e.pageX)>4||Math.abs(r.pageY-e.pageY)>4)&&(document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",n),clearTimeout(i),t({x:e.pageX,y:e.pageY}))};document.addEventListener("mousemove",o),document.addEventListener("mouseup",n)})}var h=function(){function t(t){this.config=n.extend({movable:!1,resizable:!1,header:!1,closable:t.modal},t),this.config.node&&"string"==typeof this.config.node?this.config.node=document.getElementById(this.config.node):this.config.node||(this.config.node=document.body),this._uid=n.uid(),this.events=new r.EventSystem(this),(this._popup=document.createElement("div")).tabIndex=1,this.config.modal||u.default.add(this._uid,this._popup),this._isActive=!1,this._initHandlers(),this._initUI(),this.config.html&&this.attachHTML(this.config.html)}return t.prototype.paint=function(){this._layout.paint()},t.prototype.setFullScreen=function(){this.setSize(window.innerWidth,window.innerHeight),this.setPosition(window.pageXOffset,window.pageYOffset)},t.prototype.setSize=function(t,e){var i={width:this._popup.offsetWidth,height:this._popup.offsetHeight},o={width:i.width,height:i.height};n.isDefined(t)&&(this.config.width=o.width=t),n.isDefined(e)&&(this.config.height=o.height=e),this._popup.style.width=o.width+"px",this._popup.style.height=o.height+"px",this.events.fire(l.WindowEvents.resize,[o,i,{left:!0,top:!0,bottom:!0,right:!0}])},t.prototype.getSize=function(){return{width:this._popup.offsetWidth,height:this._popup.offsetHeight}},t.prototype.setPosition=function(t,e){var i={left:this._popup.offsetLeft,top:this._popup.offsetTop},o={left:i.left,top:i.top};n.isDefined(t)&&(this.config.left=o.left=t),n.isDefined(e)&&(this.config.top=o.top=e),this._popup.style.left=o.left+"px",this._popup.style.top=o.top+"px",this.events.fire(l.WindowEvents.resize,[o,i,{left:!0,top:!0,bottom:!0,right:!0}])},t.prototype.getPosition=function(){return{left:this._popup.offsetLeft,top:this._popup.offsetTop}},t.prototype.show=function(t,e){if(void 0===t&&(t=this.config.left),void 0===e&&(e=this.config.top),this.events.fire(l.WindowEvents.beforeShow,[t,e])){this._popup.className="dhx_popup dhx_widget dhx_popup--window"+(this.config.modal?" dhx_popup--window_modal":"")+(this.config.css?" "+this.config.css:""),this._popup.style.position=this.config.modal?"fixed":"absolute";var i=this._getContainerParams(),o=i.containerInnerWidth,r=i.containerInnerHeight,s=i.containerXOffset,a=i.containerYOffset,c=this.config.width=this.config.width||this.config.minWidth||o/2,d=this.config.height=this.config.height||this.config.minHeight||r/2;if(this.config.left=t=n.isDefined(t)?t:(o-c)/(this.config.modal?2:2+s),this.config.top=e=n.isDefined(e)?e:(r-d)/(this.config.modal?2:2+a),this._isActive)return this._popup.style.left=t+"px",void(this._popup.style.top=e+"px");this.config.viewportOverflow&&u.default.openFreeWindow(this.config.node),this.config.modal&&this._blockScreen(),this._popup.style.width=c+"px",this._popup.style.height=d+"px",this._popup.style.left=t+"px",this._popup.style.top=e+"px",this.config.node.appendChild(this._popup),this._popup.focus(),this._isActive=!0,this.events.fire(l.WindowEvents.afterShow,[])}},t.prototype.hide=function(){this._isActive&&this.events.fire(l.WindowEvents.beforeHide,[])&&(this.config.viewportOverflow&&u.default.closeFreeWindow(this.config.node),this._blocker&&(this.config.node.removeChild(this._blocker),this.config.closable&&s.keyManager.removeHotKey(null,this),this._blocker=null),this.config.node.removeChild(this._popup),this._isActive=!1,this.events.fire(l.WindowEvents.afterHide,[]))},t.prototype.isVisible=function(){return this._isActive},t.prototype.getWidget=function(){return this._layout.getCell("content").getWidget()},t.prototype.getContainer=function(){return this.getRootView().data._container},t.prototype.attach=function(t,e){this._layout.getCell("content").attach(t,e)},t.prototype.attachHTML=function(t){this._layout.getCell("content").attach(function(){return o.el(".dhx_window__inner-html-content",{".innerHTML":t})})},t.prototype.getRootView=function(){return this._layout.getRootView()},t.prototype.destructor=function(){this._isActive&&this.hide(),this.header&&this.header.destructor(),this.footer&&this.footer.destructor(),this._layout.destructor(),this._popup=null},t.prototype.fullScreen=function(){this.setFullScreen()},t.prototype._initHandlers=function(){var t=this;this._handlers={headerDblClick:function(){return t.events.fire(l.WindowEvents.headerDoubleClick,[])},move:function(e){3!==e.which&&(e.preventDefault(),u.default.setActive(t._uid),d(e).then(function(e){e&&t._startDrag(e.x,e.y)}))},resize:{".dhx_window-resizer":function(e){3!==e.which&&(e.preventDefault(),u.default.setActive(t._uid),d(e).then(function(i){if(i){var n=e.target.classList;n.contains("dhx_window-resizer--left")?t._startResize({left:!0}):n.contains("dhx_window-resizer--right")?t._startResize({right:!0}):n.contains("dhx_window-resizer--top")?t._startResize({top:!0}):n.contains("dhx_window-resizer--bottom")?t._startResize({bottom:!0}):n.contains("dhx_window-resizer--bottom_left")?t._startResize({left:!0,bottom:!0}):n.contains("dhx_window-resizer--bottom_right")?t._startResize({bottom:!0,right:!0}):n.contains("dhx_window-resizer--top_left")?t._startResize({top:!0,left:!0}):n.contains("dhx_window-resizer--top_right")&&t._startResize({top:!0,right:!0})}}))}},setActive:function(){u.default.setActive(t._uid)}}},t.prototype._initUI=function(){var t=this,e=[],i=this.config.header||this.config.title||this.config.closable||this.config.movable;i&&e.push({id:"header",gravity:!1,css:"dhx_window-header "+(this.config.movable?"dhx_window-header--movable":""),on:{mousedown:this.config.movable&&this._handlers.move,dblclick:this._handlers.headerDblClick}}),e.push({id:"content",css:i?"dhx_window-content":"dhx_window-content-without-header"}),this.config.footer&&e.push({id:"footer",gravity:!1,css:"dhx_window-footer"}),this.config.resizable&&e.push({id:"resizers",gravity:!1,css:"resizers"});var n=this._layout=new a.Layout(this._popup,{css:"dhx_window"+(this.config.modal?" dhx_window--modal":""),rows:e,on:{click:this._handlers.setActive}});if(i){var o=this.header=new c.Toolbar;this.config.title&&this.header.data.add({type:c.ItemType.title,value:this.config.title,id:"title"}),this.config.closable&&(this.header.data.add({type:c.ItemType.spacer}),this.header.data.add({id:"close",type:c.ItemType.button,view:"link",size:"medium",color:"secondary",circle:!0,icon:"dxi dxi-close"}),o.events.on(c.NavigationBarEvents.click,function(e){"close"===e&&t.hide()})),n.getCell("header").attach(o)}if(this.config.footer){var r=this.footer=new c.Toolbar;n.getCell("footer").attach(r)}this.config.resizable&&n.getCell("resizers").attach(function(){return t._drawResizers()})},t.prototype._drawResizers=function(){return o.el(".dhx-resizers",{onmousedown:this._handlers.resize},[o.el(".dhx_window-resizer.dhx_window-resizer--left"),o.el(".dhx_window-resizer.dhx_window-resizer--right"),o.el(".dhx_window-resizer.dhx_window-resizer--bottom"),o.el(".dhx_window-resizer.dhx_window-resizer--top"),o.el(".dhx_window-resizer.dhx_window-resizer--bottom_right"),o.el(".dhx_window-resizer.dhx_window-resizer--bottom_left"),o.el(".dhx_window-resizer.dhx_window-resizer--top_right"),o.el(".dhx_window-resizer.dhx_window-resizer--top_left")])},t.prototype._startDrag=function(t,e){var i=this;this.config.node.classList.add("dhx_window--stop_selection");var n=t-this._popup.offsetLeft,o=e-this._popup.offsetTop,r=this._popup.offsetWidth,s=this._popup.offsetHeight,a=function(t){var e={left:i._popup.offsetLeft,top:i._popup.offsetTop},a=t.pageX-n,c=t.pageY-o;if(!i.config.viewportOverflow){var u=i._getContainerParams(),d=u.containerXOffset,h=u.containerYOffset,f=u.containerInnerWidth,p=u.containerInnerHeight;ad+f-r&&(a=d+f-r),ch+p-s&&(c=h+p-s)}i.config.left=a,i.config.top=c,i._popup.style.left=a+"px",i._popup.style.top=c+"px";var _={left:a,top:c};i.events.fire(l.WindowEvents.move,[_,e,{left:!0,top:!0,bottom:!0,right:!0}])},c=function(){document.removeEventListener("mouseup",c),document.removeEventListener("mousemove",a),i.config.node.classList.remove("dhx_window--stop_selection")};document.addEventListener("mouseup",c),document.addEventListener("mousemove",a)},t.prototype._startResize=function(t){var e,i=this,n=100|this.config.minWidth,o=100|this.config.minHeight,r=this._popup.offsetLeft,s=this._popup.offsetTop,a=this._popup.offsetWidth,c=this._popup.offsetHeight;switch(!0){case t.bottom&&t.left:e="dhx_window-body-pointer--bottom_left";break;case t.bottom&&t.right:e="dhx_window-body-pointer--bottom_right";break;case t.top&&t.left:e="dhx_window-body-pointer--top_left";break;case t.top&&t.right:e="dhx_window-body-pointer--top-right";break;case t.top:e="dhx_window-body-pointer--top";break;case t.bottom:e="dhx_window-body-pointer--bottom";break;case t.left:e="dhx_window-body-pointer--left";break;case t.right:e="dhx_window-body-pointer--right"}this.config.node.classList.add("dhx_window--stop_selection"),this.config.node.classList.add(e);var u=function(e){var u=i._getContainerParams(),d=u.containerInnerWidth,h=u.containerInnerHeight,f=u.containerXOffset,p=u.containerYOffset,_={width:i._notInNode()?e.pageX-r:e.pageX-i.config.node.offsetLeft-r,height:i._notInNode()?e.pageY-s:e.pageY-i.config.node.offsetTop-s,left:i._notInNode()?e.pageX:e.pageX-i.config.node.offsetLeft,top:i._notInNode()?e.pageY:e.pageY-i.config.node.offsetTop};t.right&&(_.widthf+d-r&&(_.width=f+d-r),i._popup.style.width=_.width+"px"),t.bottom&&(_.heightp+h-s&&(_.height=p+h-s),i._popup.style.height=_.height+"px"),t.left&&(r+a-_.left - - - - + + + + @@ -33,8 +33,8 @@

-
- Basic initialization. +
+ Basic initialization.

- +
-
- - - + + + + +
@@ -33,8 +34,8 @@

-
- Localized Calendar. +
+ Localized Calendar.

-
+
diff --git a/samples/calendar/01_init/03_date_picker.html b/samples/calendar/01_init/03_date_picker.html index 8454bba..dda552f 100644 --- a/samples/calendar/01_init/03_date_picker.html +++ b/samples/calendar/01_init/03_date_picker.html @@ -6,10 +6,10 @@ - - - - + + + + @@ -33,8 +33,8 @@

-
- You can use dhtmlxCalendar as a date picker by putting it inside a popup. +
+ You can use dhtmlxCalendar as a date picker by putting it inside a popup.

- +
diff --git a/samples/calendar/01_init/04_intervals.html b/samples/calendar/01_init/04_intervals.html index 6bbe70e..2a974b3 100644 --- a/samples/calendar/01_init/04_intervals.html +++ b/samples/calendar/01_init/04_intervals.html @@ -7,10 +7,10 @@ - - - - + + + +
@@ -45,8 +33,8 @@

-
- There is a possibility to specify the format of dates in the calendar via the dateFormat property. +
+ There is a possibility to specify the format of dates in the calendar via the dateFormat property.

-
+
-
- -
- - + + +
-
+ \ No newline at end of file diff --git a/samples/calendar/02_configuration/07_date_initialization.html b/samples/calendar/02_configuration/07_date_initialization.html index 7da71de..a4401ff 100644 --- a/samples/calendar/02_configuration/07_date_initialization.html +++ b/samples/calendar/02_configuration/07_date_initialization.html @@ -6,24 +6,12 @@ - - - - + + + + -
@@ -45,8 +33,8 @@

-
- It is possible to determine the date that will be opened when creating a calendar. +
+ It is possible to determine the date that will be opened when creating a calendar.

-
-
-
-
- + +
+
+
+ \ No newline at end of file diff --git a/samples/calendar/02_configuration/08_value_initialization.html b/samples/calendar/02_configuration/08_value_initialization.html index c341f32..df4e6f4 100644 --- a/samples/calendar/02_configuration/08_value_initialization.html +++ b/samples/calendar/02_configuration/08_value_initialization.html @@ -6,24 +6,12 @@ - - - - + + + + -
@@ -45,8 +33,8 @@

-
- It is possible to set the value during initialization. +
+ It is possible to set the value during initialization.

-
+
diff --git a/samples/calendar/02_configuration/09_week_start.html b/samples/calendar/02_configuration/09_week_start.html index f225307..f040889 100644 --- a/samples/calendar/02_configuration/09_week_start.html +++ b/samples/calendar/02_configuration/09_week_start.html @@ -6,24 +6,12 @@ - - - - + + + + -
@@ -45,8 +33,8 @@

-
- It is possible to set the day to start the week. +
+ It is possible to set the day to start the week.

-
+
diff --git a/samples/calendar/02_configuration/10_range.html b/samples/calendar/02_configuration/10_range.html new file mode 100644 index 0000000..131b268 --- /dev/null +++ b/samples/calendar/02_configuration/10_range.html @@ -0,0 +1,61 @@ + + + + + Range - DHTMLX Calendar + + + + + + + + + + + +
+
+ +

+
+ You can set date range selection. + +
+

+
+
+
+
+
+ + + + diff --git a/samples/calendar/02_configuration/index.html b/samples/calendar/02_configuration/index.html index a6db600..08a032e 100644 --- a/samples/calendar/02_configuration/index.html +++ b/samples/calendar/02_configuration/index.html @@ -4,25 +4,24 @@ - + Configuration - DHTMLX Calendar -
+

@@ -38,7 +37,7 @@

  • - + Calendar modes
  • @@ -77,6 +76,11 @@

    Week start +
  • + + Range + +
  • diff --git a/samples/calendar/03_usage/01_get_value.html b/samples/calendar/03_usage/01_get_value.html index 54d823f..cbb0c78 100644 --- a/samples/calendar/03_usage/01_get_value.html +++ b/samples/calendar/03_usage/01_get_value.html @@ -6,10 +6,10 @@ - - - - + + + + @@ -33,8 +33,8 @@

    -
    - To get the selected date, call the getValue() method. +
    + To get the selected date, call the getValue() method.

    -
    +
    - - + +
    -
    diff --git a/samples/calendar/03_usage/02_set_value.html b/samples/calendar/03_usage/02_set_value.html index acd62ad..c73fc50 100644 --- a/samples/calendar/03_usage/02_set_value.html +++ b/samples/calendar/03_usage/02_set_value.html @@ -6,10 +6,10 @@ - - - - + + + + @@ -33,8 +33,8 @@

    -
    - To select a date in a calendar, call the setValue() method. +
    + To select a date in a calendar, call the setValue() method.

    - +
    -
    - - - + + + + @@ -33,8 +33,8 @@

    -
    - Sets the date that should be shown in the calendar or/and opens the calendar in one of the specified modes. +
    + Sets the date that should be shown in the calendar or/and opens the calendar in one of the specified modes.

    - +
    -
    - - - + + + + @@ -33,8 +33,8 @@

    -
    - Removes a calendar instance and releases occupied resources. +
    + Removes a calendar instance and releases occupied resources.

    - +
    - +
    -
    + + + + + + + +
    +
    + +

    +
    + Get current mode. +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + diff --git a/samples/calendar/03_usage/06_clear_value.html b/samples/calendar/03_usage/06_clear_value.html new file mode 100644 index 0000000..132cf34 --- /dev/null +++ b/samples/calendar/03_usage/06_clear_value.html @@ -0,0 +1,67 @@ + + + + + Clear value - DHTMLX Calendar + + + + + + + + + + + +
    +
    + +

    +
    + Clear value. +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + diff --git a/samples/calendar/03_usage/index.html b/samples/calendar/03_usage/index.html index 33d6e4a..246f660 100644 --- a/samples/calendar/03_usage/index.html +++ b/samples/calendar/03_usage/index.html @@ -4,25 +4,24 @@ - + Usage - DHTMLX Calendar -
    +

    @@ -52,6 +51,16 @@

    Destructor +
  • + + Get current mode + +
  • +
  • + + Clear value + +
  • diff --git a/samples/calendar/04_customization/01_custom_styles.html b/samples/calendar/04_customization/01_custom_styles.html index c3814c1..562626b 100644 --- a/samples/calendar/04_customization/01_custom_styles.html +++ b/samples/calendar/04_customization/01_custom_styles.html @@ -6,12 +6,17 @@ - - - - + + + + +
    @@ -33,8 +38,8 @@

    -
    - Adding custom styles. +
    + Adding custom styles.

    -
    +
    -
    - + diff --git a/samples/calendar/04_customization/02_custom_selected_and_range_color.html b/samples/calendar/04_customization/02_custom_selected_and_range_color.html index e084ee8..9317877 100644 --- a/samples/calendar/04_customization/02_custom_selected_and_range_color.html +++ b/samples/calendar/04_customization/02_custom_selected_and_range_color.html @@ -6,12 +6,20 @@ - - - - + + + + +
    @@ -33,8 +41,8 @@

    -
    - Custom styles for selected date. +
    + Custom styles for selected date.

    -
    +
    - diff --git a/samples/calendar/04_customization/03_marked.html b/samples/calendar/04_customization/03_marked.html index 9a36bc4..25b79f9 100644 --- a/samples/calendar/04_customization/03_marked.html +++ b/samples/calendar/04_customization/03_marked.html @@ -6,12 +6,22 @@ - - - - + + + + +
    @@ -33,8 +43,8 @@

    -
    - Adds a CSS class to specific days. +
    + Adds a CSS class to specific days.

    -
    +
    -
    - - diff --git a/samples/calendar/04_customization/04_blocked.html b/samples/calendar/04_customization/04_blocked.html index 20be860..a0565d8 100644 --- a/samples/calendar/04_customization/04_blocked.html +++ b/samples/calendar/04_customization/04_blocked.html @@ -6,10 +6,10 @@ - - - - + + + + @@ -33,8 +33,8 @@

    -
    - Allows disabling some date intervals, day labels are dimmed. +
    + Allows disabling some date intervals, day labels are dimmed.

    - +
    -
    + + + + + + + +
    +
    + +

    +
    + Allows disabling some date intervals, day labels are dimmed. + +
    +

    +
    +
    +
    +
    +
    + + + diff --git a/samples/calendar/04_customization/05_width.html b/samples/calendar/04_customization/05_width.html index 17cfcd0..b45e814 100644 --- a/samples/calendar/04_customization/05_width.html +++ b/samples/calendar/04_customization/05_width.html @@ -6,10 +6,10 @@ - - - - + + + + @@ -33,8 +33,8 @@

    -
    - Sets the width of the calendar. +
    + Sets the width of the calendar.

    - +
    -
    - - - + + + + @@ -33,8 +33,8 @@

    -
    - Use the calendar to display events. +
    + Use the calendar to display events.

    - +
    -
    +
    - - - - + + + + + @@ -34,7 +34,7 @@

    - Bar chart. + Bar chart.
    - + + +
    -
    - diff --git a/samples/combobox/03_usage/03_clear.html b/samples/combobox/03_usage/03_clear.html index 1215884..502a8e4 100644 --- a/samples/combobox/03_usage/03_clear.html +++ b/samples/combobox/03_usage/03_clear.html @@ -6,17 +6,12 @@ - - - - - + + + + + -
    @@ -38,12 +33,14 @@

    - Clear. +
    + Clear. +

    - +
    diff --git a/samples/combobox/03_usage/04_get_value.html b/samples/combobox/03_usage/04_get_value.html index 48d6c4e..6ade999 100644 --- a/samples/combobox/03_usage/04_get_value.html +++ b/samples/combobox/03_usage/04_get_value.html @@ -6,17 +6,12 @@ - - - - - + + + + + -
    @@ -38,7 +33,9 @@

    - Get value. +
    + Get value. +

    @@ -55,9 +52,11 @@

    var combobox = new dhx.Combobox("combobox"); combobox.data.parse(all); function getValue(){ - const id = combobox.getValue(); - const item = combobox.data.getItem(id); - document.querySelector("#value").innerHTML ="id: "+id+", item: "+item.value; + var id = combobox.getValue(); + var item = combobox.data.getItem(id); + if (item) { + document.querySelector("#value").innerHTML ="id: "+id+", item: "+item.value; + } } diff --git a/samples/combobox/03_usage/05_set_value.html b/samples/combobox/03_usage/05_set_value.html index 3d7f002..a320e4f 100644 --- a/samples/combobox/03_usage/05_set_value.html +++ b/samples/combobox/03_usage/05_set_value.html @@ -6,17 +6,12 @@ - - - - - + + + + + -
    @@ -38,12 +33,14 @@

    - Set value. +
    + Set value. +

    - +
    @@ -54,7 +51,7 @@

    var combobox = new dhx.Combobox("combobox"); combobox.data.parse(all); function setValue(){ - const id = combobox.data.getId(3); + var id = combobox.data.getId(3); combobox.setValue(id); } diff --git a/samples/combobox/03_usage/06_add_remove.html b/samples/combobox/03_usage/06_add_remove.html index bbb2ea2..d830c5c 100644 --- a/samples/combobox/03_usage/06_add_remove.html +++ b/samples/combobox/03_usage/06_add_remove.html @@ -6,17 +6,12 @@ - - - - - + + + + + -
    @@ -38,7 +33,9 @@

    - Add/remove. +
    + Add/remove. +

    @@ -48,7 +45,6 @@

    -
    diff --git a/samples/combobox/03_usage/07_update.html b/samples/combobox/03_usage/07_update.html index 7169494..673b86e 100644 --- a/samples/combobox/03_usage/07_update.html +++ b/samples/combobox/03_usage/07_update.html @@ -6,17 +6,12 @@ - - - - - + + + + + -
    @@ -38,7 +33,9 @@

    - Update. +
    + Update. +

    diff --git a/samples/combobox/03_usage/08_list.html b/samples/combobox/03_usage/08_list.html index 8c0c675..d4b858c 100644 --- a/samples/combobox/03_usage/08_list.html +++ b/samples/combobox/03_usage/08_list.html @@ -6,19 +6,16 @@ - - - - - + + + + + @@ -41,7 +38,9 @@

    - List. +
    + List. +

    @@ -61,7 +60,7 @@

    var combobox = new dhx.Combobox("combobox"); combobox.data.load("../common/countries.json"); document.querySelector("#get-selected-index").addEventListener("click", function () { - const selected = combobox.list.data.getIndex(combobox.list.selection.getId()); + var selected = combobox.list.data.getIndex(combobox.list.selection.getId()); if (selected >= 0) { document.querySelector("#selected_index").value = selected; } diff --git a/samples/combobox/03_usage/09_popup.html b/samples/combobox/03_usage/09_popup.html index 58d9b75..a81d710 100644 --- a/samples/combobox/03_usage/09_popup.html +++ b/samples/combobox/03_usage/09_popup.html @@ -6,17 +6,12 @@ - - - - - + + + + + -
    @@ -38,12 +33,14 @@

    - Popup. +
    + Popup. +

    - +
    diff --git a/samples/combobox/03_usage/index.html b/samples/combobox/03_usage/index.html index 8d769ad..8ae06c1 100644 --- a/samples/combobox/03_usage/index.html +++ b/samples/combobox/03_usage/index.html @@ -4,25 +4,24 @@ - + Usage - DHTMLX Combobox -
    +

    diff --git a/samples/combobox/04_customization/01_custom_css.html b/samples/combobox/04_customization/01_custom_css.html index ab5ef8f..904f7b3 100644 --- a/samples/combobox/04_customization/01_custom_css.html +++ b/samples/combobox/04_customization/01_custom_css.html @@ -6,17 +6,12 @@ - - - - - + + + + + -
    @@ -38,7 +33,9 @@

    - Template. +
    + Template. +

    diff --git a/samples/combobox/04_customization/03_custom_filter.html b/samples/combobox/04_customization/03_custom_filter.html index fdbb08a..90eaeaf 100644 --- a/samples/combobox/04_customization/03_custom_filter.html +++ b/samples/combobox/04_customization/03_custom_filter.html @@ -6,17 +6,12 @@ - - - - - + + + + + -
    @@ -38,7 +33,9 @@

    - Custom filter. +
    + Custom filter. +

    diff --git a/samples/combobox/04_customization/index.html b/samples/combobox/04_customization/index.html index e9e3aac..451b4cc 100644 --- a/samples/combobox/04_customization/index.html +++ b/samples/combobox/04_customization/index.html @@ -4,25 +4,24 @@ - + Customization - DHTMLX Combobox -
    +

    diff --git a/samples/combobox/05_events/01_events.html b/samples/combobox/05_events/01_events.html index ae89fd8..bc03d5d 100644 --- a/samples/combobox/05_events/01_events.html +++ b/samples/combobox/05_events/01_events.html @@ -6,23 +6,12 @@ - - - - - + + + + + -
    @@ -44,7 +33,9 @@

    - Events. +
    + Events. +

    @@ -53,9 +44,8 @@

    -
    +
    - - diff --git a/samples/combobox/05_events/02_popup_events.html b/samples/combobox/05_events/02_popup_events.html index c100eaa..8bd4196 100644 --- a/samples/combobox/05_events/02_popup_events.html +++ b/samples/combobox/05_events/02_popup_events.html @@ -6,23 +6,12 @@ - - - - - + + + + + -
    @@ -44,16 +33,18 @@

    - Popup events. +
    + Popup events. +

    -
    +
    -
    +
    - diff --git a/samples/combobox/05_events/index.html b/samples/combobox/05_events/index.html index 496ed63..2c7ce81 100644 --- a/samples/combobox/05_events/index.html +++ b/samples/combobox/05_events/index.html @@ -4,25 +4,24 @@ - + Events - DHTMLX Combobox -
    +

    diff --git a/samples/combobox/common/combobox.css b/samples/combobox/common/combobox.css new file mode 100644 index 0000000..ebdde1c --- /dev/null +++ b/samples/combobox/common/combobox.css @@ -0,0 +1,7 @@ +.dhx_sample-container > div:not(#events) { + max-width: 300px; +} + +.dhx_sample-container > div:not(:last-child) { + padding-right: 12px; +} \ No newline at end of file diff --git a/samples/combobox/common/countries.json b/samples/combobox/common/countries.json index e34551d..f3009a6 100644 --- a/samples/combobox/common/countries.json +++ b/samples/combobox/common/countries.json @@ -1 +1,110 @@ -[{"value":"Austria","src":"../common/flags/at.png"},{"value":"Belgium","src":"../common/flags/be.png"},{"value":"Bulgaria","src":"../common/flags/bg.png"},{"value":"Cyprus","src":"../common/flags/cy.png"},{"value":"Czech Republic","src":"../common/flags/cz.png"},{"value":"Denmark","src":"../common/flags/dk.png"},{"value":"Estonia","src":"../common/flags/ee.png"},{"value":"Finland","src":"../common/flags/fi.png"},{"value":"France","src":"../common/flags/fr.png"},{"value":"Germany","src":"../common/flags/de.png"},{"value":"Greece","src":"../common/flags/gr.png"},{"value":"Hungary","src":"../common/flags/hu.png"},{"value":"Ireland","src":"../common/flags/ie.png"},{"value":"Italy","src":"../common/flags/it.png"},{"value":"Latvia","src":"../common/flags/lv.png"},{"value":"Lithuania","src":"../common/flags/lt.png"},{"value":"Luxembourg","src":"../common/flags/lu.png"},{"value":"Malta","src":"../common/flags/mt.png"},{"value":"Netherlands","src":"../common/flags/nl.png"},{"value":"Poland","src":"../common/flags/pl.png"},{"value":"Portugal","src":"../common/flags/pt.png"},{"value":"Romania","src":"../common/flags/ro.png"},{"value":"Slovakia","src":"../common/flags/sk.png"},{"value":"Slovenia","src":"../common/flags/si.png"},{"value":"Spain","src":"../common/flags/es.png"},{"value":"Sweden","src":"../common/flags/se.png"},{"value":"United Kingdom","src":"../common/flags/gb.png"}] \ No newline at end of file +[ + { + "value": "Austria", + "src": "../common/flags/at.png" + }, + { + "value": "Belgium", + "src": "../common/flags/be.png" + }, + { + "value": "Bulgaria", + "src": "../common/flags/bg.png" + }, + { + "value": "Cyprus", + "src": "../common/flags/cy.png" + }, + { + "value": "Czech Republic", + "src": "../common/flags/cz.png" + }, + { + "value": "Denmark", + "src": "../common/flags/dk.png" + }, + { + "value": "Estonia", + "src": "../common/flags/ee.png" + }, + { + "value": "Finland", + "src": "../common/flags/fi.png" + }, + { + "value": "France", + "src": "../common/flags/fr.png" + }, + { + "value": "Germany", + "src": "../common/flags/de.png" + }, + { + "value": "Greece", + "src": "../common/flags/gr.png" + }, + { + "value": "Hungary", + "src": "../common/flags/hu.png" + }, + { + "value": "Ireland", + "src": "../common/flags/ie.png" + }, + { + "value": "Italy", + "src": "../common/flags/it.png" + }, + { + "value": "Latvia", + "src": "../common/flags/lv.png" + }, + { + "value": "Lithuania", + "src": "../common/flags/lt.png" + }, + { + "value": "Luxembourg", + "src": "../common/flags/lu.png" + }, + { + "value": "Malta", + "src": "../common/flags/mt.png" + }, + { + "value": "Netherlands", + "src": "../common/flags/nl.png" + }, + { + "value": "Poland", + "src": "../common/flags/pl.png" + }, + { + "value": "Portugal", + "src": "../common/flags/pt.png" + }, + { + "value": "Romania", + "src": "../common/flags/ro.png" + }, + { + "value": "Slovakia", + "src": "../common/flags/sk.png" + }, + { + "value": "Slovenia", + "src": "../common/flags/si.png" + }, + { + "value": "Spain", + "src": "../common/flags/es.png" + }, + { + "value": "Sweden", + "src": "../common/flags/se.png" + }, + { + "value": "United Kingdom", + "src": "../common/flags/gb.png" + } +] \ No newline at end of file diff --git a/samples/combobox/index.html b/samples/combobox/index.html index 4af2462..087f50d 100644 --- a/samples/combobox/index.html +++ b/samples/combobox/index.html @@ -4,19 +4,21 @@ - + Samples - DHTMLX Combobox -
    +

    diff --git a/samples/common/index.css b/samples/common/index.css index 8f0b8ff..c53fc9d 100644 --- a/samples/common/index.css +++ b/samples/common/index.css @@ -4,6 +4,7 @@ body { font-family: "Roboto", sans-serif; } h1,h2,h3,h4,h5 { + color: rgba(0,0,0,.7); font-weight: 500; } [class*="dhx_sample"] { @@ -52,11 +53,14 @@ h1,h2,h3,h4,h5 { justify-content: center; align-items: center; min-height: 60px; + height: 60px; border-bottom: 1px solid #DFDFDF; font-family: Roboto,Arial,Tahoma,Verdana,sans-serif; font-size: 14px; } -.dhx_sample-controls button:not(:last-child) { +.dhx_sample-controls button:not(:last-child), +.dhx_sample-controls input:not(:last-child), +.dhx_sample-controls select:not(:last-child) { margin-right: 12px; } .dhx_sample-header__main { @@ -71,6 +75,9 @@ h1,h2,h3,h4,h5 { height: 60px; font-size: 14px; } +.dhx_sample-header__content { + max-width: 350px; +} .dhx_sample-header-breadcrumbs { padding: 0; margin: 0; @@ -128,7 +135,7 @@ h1,h2,h3,h4,h5 { font-family: Roboto,Arial,Tahoma,Verdana,sans-serif; font-size: 14px; font-weight: 500; - line-height: 24px; + line-height: 20px; position: absolute; top: 50%; @@ -172,17 +179,22 @@ h1,h2,h3,h4,h5 { } .dhx_sample-container__sidebar { --webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - max-width: 350px; + width: 350px; margin-left: 20px; border: 1px solid #DFDFDF; - padding-top: 10px; - padding-bottom: 10px; - max-height: 600px; - padding-left: 10px; - padding-right: 10px; + padding: 10px; + height: 600px; + font-family: Roboto,Arial,Tahoma,Verdana,sans-serif; + font-size: 14px; + line-height: 1.3; + overflow-y: auto; +} +.dhx_sample-textarea { + resize: none; + width: 350px; + border: 1px solid #DFDFDF; + height: 600px; + padding: 10px; font-family: Roboto,Arial,Tahoma,Verdana,sans-serif; font-size: 14px; line-height: 1.3; @@ -236,24 +248,21 @@ h1,h2,h3,h4,h5 { .dhx_sample-input { -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - display: block; - padding: 6px 8px; - margin: 0; - - font-family: Roboto,Arial,Tahoma,Verdana,sans-serif; + -moz-appearance: none; + appearance: none; + display: block; + padding: 6px 8px; + margin: 0; + font-family: Roboto,Arial,Tahoma,Verdana,sans-serif; font-size: 14px; - line-height: 20px; color: rgba(0,0,0,.7); - - background-color: #f7f7f7; - background-clip: padding-box; - -webkit-box-shadow: inset 0px 0px 0px 1px #dfdfdf; - box-shadow: inset 0px 0px 0px 1px #dfdfdf; - border: 0; - border-radius: 0; - outline: 0; + background-color: #f7f7f7; + background-clip: padding-box; + -webkit-box-shadow: inset 0 0 0 1px #dfdfdf; + box-shadow: inset 0 0 0 1px #dfdfdf; + border: 0; + border-radius: 0; + outline: 0; -webkit-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; } @@ -431,9 +440,6 @@ h1,h2,h3,h4,h5 { word-wrap: break-word; white-space: pre-wrap; } -#timepicker { - max-width: 268px; -} @-webkit-keyframes fadeIn{ from{ opacity: 0; @@ -481,4 +487,18 @@ h1,h2,h3,h4,h5 { } .dhx_sample-nav ol li:not(.skip):before { content:counter(listNumber) "."; +} +.icon-pro:after { + content: " "; + background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAAAOCAYAAAChHnWMAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKaSURBVHgBtVRBTBNREJ3fLmgqSAVDIlBTDtoSMWCUg6YX7LnRmyegBzGmJFKiB+NB7UHlYuwFY9SYEk7cMNxIKtFEjXCwB2OLMdqIYDRCCoSSpkvXeb/duq1dEw19zXb3z+z+eTPz5gsywDkbtNtq08OU0/wkyEk7jxiuXNYaSvQ+SOpGoT8ceX1hgNRcWBPCTtVHSiMRinsehrGw4K/z5eCwtq1FqkGgZVdTJbNdkHbPjcQZwj170WlV1LflBGaO36bW3fuL68TmIk0sR2nqxyvq2XuYIkevFH0bapqiqzEa+zJNy5kVaes74KWhgz6qV2zSj2/HFqfLyaTS2Wy7IqzqTbMK6IGB041ddOuQn5YyP4m0vB+E5tc+MNkmCjh81MpZ+9/dpSF+DjCBiW9RmltboJ4Gl1zjs/ulROw2pTaoCAt1kQnWOQMEApCpt+kYnW0+RVPf87Y5JvC04Ed1EAw403ySFjiB0U+Tcv1sJUYdtjbqb/GWk2BoA6wJ0W1GooFLiZ7iQnYAMtfRxnYE9zZ2y3eQNcqPNsaZhBEgXF/YrwQ8hQr9Ba49Dpo5cUdnTG84iK4JACUOkK+Y7ejnSfofKLx30uxMgCawMYS1lFmVdyPgi3Lw8c7L5Kpz0Pr2lnwHV2tZxm72A7pwDYhxO7RxMgE0gfInNr/+QSDv35KbXvsYkUExEQCmAPq42n5OVg13tAxCrYCYUquq4WxNzSVW7j6jR5M/cxi9IDrPrYLwEAgThf73M6k+tskRZbsu1N+baKmcqoTkiel+Mei3WOgJGU7QnQKEuFFoU4VERuKex+Fi0I7n54MWq7heXpGqgCtAQoy89zyKYFmSOU5PPrxu5M8O89E14N8qhyFgDabVunCyN5zSzb8AQjIlfRPjeDgAAAAASUVORK5CYII='); + display: inline-block; + width: 33px; + height: 14px; + line-height: 14px; + top: 2px; + left: 4px; + position: relative; +} +.dhx_sample-container__widget--timepicker { + max-width: 268px; } \ No newline at end of file diff --git a/samples/data/01_datacollection-api/01_parse.html b/samples/data/01_datacollection-api/01_parse.html new file mode 100644 index 0000000..7fd5d14 --- /dev/null +++ b/samples/data/01_datacollection-api/01_parse.html @@ -0,0 +1,95 @@ + + + + + Parse - DHTMLX Data + + + + + + + + + + + + +
    +
    + +

    +
    + Parse. +
    +

    +
    +
    +
    +
    + +
    +
    +
    +
    +

    Array:

    + +
    +
    +

    Parsed data:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/02_load.html b/samples/data/01_datacollection-api/02_load.html new file mode 100644 index 0000000..c9e215a --- /dev/null +++ b/samples/data/01_datacollection-api/02_load.html @@ -0,0 +1,70 @@ + + + + + Load - DHTMLX Data + + + + + + + + + + + +
    +
    + +

    +
    + Load. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + + diff --git a/samples/data/01_datacollection-api/03_add.html b/samples/data/01_datacollection-api/03_add.html new file mode 100644 index 0000000..d8e0594 --- /dev/null +++ b/samples/data/01_datacollection-api/03_add.html @@ -0,0 +1,85 @@ + + + + + + Add - DHTMLX Data + + + + + + + + + + + + +
    +
    + +

    +
    + Add. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + \ No newline at end of file diff --git a/samples/data/01_datacollection-api/04_remove.html b/samples/data/01_datacollection-api/04_remove.html new file mode 100644 index 0000000..dc61512 --- /dev/null +++ b/samples/data/01_datacollection-api/04_remove.html @@ -0,0 +1,72 @@ + + + + + Remove - DHTMLX Data + + + + + + + + + + + +
    +
    + +

    +
    + Remove. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + + diff --git a/samples/data/01_datacollection-api/05_remove_all.html b/samples/data/01_datacollection-api/05_remove_all.html new file mode 100644 index 0000000..9c3bf56 --- /dev/null +++ b/samples/data/01_datacollection-api/05_remove_all.html @@ -0,0 +1,74 @@ + + + + + Remove all - DHTMLX Data + + + + + + + + + + + +
    +
    + +

    +
    + Remove all. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/06_update.html b/samples/data/01_datacollection-api/06_update.html new file mode 100644 index 0000000..aa4e3cb --- /dev/null +++ b/samples/data/01_datacollection-api/06_update.html @@ -0,0 +1,74 @@ + + + + + Update - DHTMLX Data + + + + + + + + + + + +
    +
    + +

    +
    + Update. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + \ No newline at end of file diff --git a/samples/data/01_datacollection-api/07_exists.html b/samples/data/01_datacollection-api/07_exists.html new file mode 100644 index 0000000..5ab4b07 --- /dev/null +++ b/samples/data/01_datacollection-api/07_exists.html @@ -0,0 +1,74 @@ + + + + + Exists - DHTMLX Data + + + + + + + + + + + +
    +
    + +

    +
    + Exists. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + + diff --git a/samples/data/01_datacollection-api/08_get_initial_data.html b/samples/data/01_datacollection-api/08_get_initial_data.html new file mode 100644 index 0000000..d3a1ed7 --- /dev/null +++ b/samples/data/01_datacollection-api/08_get_initial_data.html @@ -0,0 +1,78 @@ + + + + + Get initial data - DHTMLX Data + + + + + + + + + + + +
    +
    + +

    +
    + Get initial data. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/09_get_item.html b/samples/data/01_datacollection-api/09_get_item.html new file mode 100644 index 0000000..faeccea --- /dev/null +++ b/samples/data/01_datacollection-api/09_get_item.html @@ -0,0 +1,80 @@ + + + + + Get item - DHTMLX Data + + + + + + + + + + + + +
    +
    + +

    +
    + Get item. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    +

    Item:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/10_get_index.html b/samples/data/01_datacollection-api/10_get_index.html new file mode 100644 index 0000000..ece616f --- /dev/null +++ b/samples/data/01_datacollection-api/10_get_index.html @@ -0,0 +1,73 @@ + + + + + Get Index - DHTMLX Data + + + + + + + + + + + +
    +
    + +

    +
    + Get Index. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/11_get_length.html b/samples/data/01_datacollection-api/11_get_length.html new file mode 100644 index 0000000..de35c2b --- /dev/null +++ b/samples/data/01_datacollection-api/11_get_length.html @@ -0,0 +1,107 @@ + + + + + Get length - DHTMLX Data + + + + + + + + + + + +
    +
    + +

    +
    + Get length. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + \ No newline at end of file diff --git a/samples/data/01_datacollection-api/12_get_id.html b/samples/data/01_datacollection-api/12_get_id.html new file mode 100644 index 0000000..315f260 --- /dev/null +++ b/samples/data/01_datacollection-api/12_get_id.html @@ -0,0 +1,73 @@ + + + + + Get id - DHTMLX Data + + + + + + + + + + + +
    +
    + +

    +
    + Get id. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/13_filter.html b/samples/data/01_datacollection-api/13_filter.html new file mode 100644 index 0000000..6b9bd8e --- /dev/null +++ b/samples/data/01_datacollection-api/13_filter.html @@ -0,0 +1,76 @@ + + + + + Filter - DHTMLX Data + + + + + + + + + + + +
    +
    + +

    +
    + Filter. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/14_find.html b/samples/data/01_datacollection-api/14_find.html new file mode 100644 index 0000000..6759bcf --- /dev/null +++ b/samples/data/01_datacollection-api/14_find.html @@ -0,0 +1,90 @@ + + + + + Find - DHTMLX Data + + + + + + + + + + + + +
    +
    + +

    +
    + Find. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    +

    Found:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/15_find_all.html b/samples/data/01_datacollection-api/15_find_all.html new file mode 100644 index 0000000..6b637ff --- /dev/null +++ b/samples/data/01_datacollection-api/15_find_all.html @@ -0,0 +1,79 @@ + + + + + Find all - DHTMLX Data + + + + + + + + + + + + +
    +
    + +

    +
    + Find all. +
    +

    +
    +
    +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    +

    Found:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/16_reduce.html b/samples/data/01_datacollection-api/16_reduce.html new file mode 100644 index 0000000..b746df4 --- /dev/null +++ b/samples/data/01_datacollection-api/16_reduce.html @@ -0,0 +1,73 @@ + + + + + Reduce - DHTMLX Data + + + + + + + + + + + +
    +
    + +

    +
    + Reduce. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/17_map.html b/samples/data/01_datacollection-api/17_map.html new file mode 100644 index 0000000..05f0ccd --- /dev/null +++ b/samples/data/01_datacollection-api/17_map.html @@ -0,0 +1,79 @@ + + + + + Map - DHTMLX Data + + + + + + + + + + + + +
    +
    + +

    +
    + Map. +
    +

    +
    +
    +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    +

    Result:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/18_sort.html b/samples/data/01_datacollection-api/18_sort.html new file mode 100644 index 0000000..fe3ac31 --- /dev/null +++ b/samples/data/01_datacollection-api/18_sort.html @@ -0,0 +1,93 @@ + + + + + Sort - DHTMLX Data + + + + + + + + + + + + + +
    +
    + +

    +
    + Sort. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    +

    Result:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/19_serialize.html b/samples/data/01_datacollection-api/19_serialize.html new file mode 100644 index 0000000..49f9de2 --- /dev/null +++ b/samples/data/01_datacollection-api/19_serialize.html @@ -0,0 +1,78 @@ + + + + + Serialize - DHTMLX Data + + + + + + + + + + + + + +
    +
    + +

    +
    + Serialize. +
    +

    +
    +
    +
    +
    + +
    +
    +
    +
    +

    Parsed data:

    + +
    +
    +

    Result:

    + +
    +
    + + + \ No newline at end of file diff --git a/samples/data/01_datacollection-api/20_copy.html b/samples/data/01_datacollection-api/20_copy.html new file mode 100644 index 0000000..7d45e40 --- /dev/null +++ b/samples/data/01_datacollection-api/20_copy.html @@ -0,0 +1,128 @@ + + + + + + Copy - DHTMLX Data + + + + + + + + + + + + +
    +
    + +

    +
    + Copy. +
    +

    +
    +
    +
    +
    + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +

    Source data:

    + +
    +
    +

    Result data:

    + +
    +
    + + + \ No newline at end of file diff --git a/samples/data/01_datacollection-api/21_move.html b/samples/data/01_datacollection-api/21_move.html new file mode 100644 index 0000000..0daf573 --- /dev/null +++ b/samples/data/01_datacollection-api/21_move.html @@ -0,0 +1,113 @@ + + + + + Move - DHTMLX Data + + + + + + + + + + + + +
    +
    + +

    +
    + Move. +
    +

    +
    +
    +
    +
    + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +

    Source data:

    + +
    +
    +

    Result data:

    + +
    +
    + + + + diff --git a/samples/data/01_datacollection-api/22_foreach.html b/samples/data/01_datacollection-api/22_foreach.html new file mode 100644 index 0000000..b7a69fd --- /dev/null +++ b/samples/data/01_datacollection-api/22_foreach.html @@ -0,0 +1,70 @@ + + + + + ForEach - DHTMLX Data + + + + + + + + + + + +
    +
    + +

    +
    + ForEach. +
    +

    +
    +
    +
    + +
    +
    +
    +

    Parsed data:

    + +
    +
    + + + diff --git a/samples/data/01_datacollection-api/index.html b/samples/data/01_datacollection-api/index.html new file mode 100644 index 0000000..cfad462 --- /dev/null +++ b/samples/data/01_datacollection-api/index.html @@ -0,0 +1,147 @@ + + + + + + + + Datacollection-api - DHTMLX Data + + + +
    +
    + +

    + DHTMLX Data Datacollection-api Samples +

    +
    +
    + + + \ No newline at end of file diff --git a/samples/data/02_ajax_helper/01_basic_get.html b/samples/data/02_ajax_helper/01_basic_get.html new file mode 100644 index 0000000..97d66b4 --- /dev/null +++ b/samples/data/02_ajax_helper/01_basic_get.html @@ -0,0 +1,103 @@ + + + + + + Ajax GET - DHTMLX Data + + + + + + + + + + + + + +
    +
    + +

    +
    + Ajax GET. +
    +

    +
    +
    +
    +
    + + +
    +
    + +
    + + +
    +
    +
    +

    Loaded data:

    + +
    +
    + + + + \ No newline at end of file diff --git a/samples/data/02_ajax_helper/02_post.html b/samples/data/02_ajax_helper/02_post.html new file mode 100644 index 0000000..cb30ef8 --- /dev/null +++ b/samples/data/02_ajax_helper/02_post.html @@ -0,0 +1,95 @@ + + + + + Ajax POST - DHTMLX Data + + + + + + + + + + + + +
    +
    + +

    +
    + Ajax POST. +
    +

    +
    +
    +
    +
    + +
    +
    + +
    + +
    + +
    +
    +

    Created data:

    + +
    +
    + + + \ No newline at end of file diff --git a/samples/data/02_ajax_helper/03_put.html b/samples/data/02_ajax_helper/03_put.html new file mode 100644 index 0000000..f071a11 --- /dev/null +++ b/samples/data/02_ajax_helper/03_put.html @@ -0,0 +1,140 @@ + + + + + Ajax PUT - DHTMLX Data + + + + + + + + + + + + +
    +
    + +

    +
    + Ajax PUT. +
    +

    +
    +
    +
    +
    + +
    + + + + +
    + +
    +
    +

    Loaded post:

    + +
    +
    +

    Updated post:

    + +
    +
    + + + + \ No newline at end of file diff --git a/samples/data/02_ajax_helper/04_delete.html b/samples/data/02_ajax_helper/04_delete.html new file mode 100644 index 0000000..0538228 --- /dev/null +++ b/samples/data/02_ajax_helper/04_delete.html @@ -0,0 +1,77 @@ + + + + + + Ajax DELETE - DHTMLX Data + + + + + + + + + + + + + +
    +
    + +

    +
    + Ajax DELETE. +
    +

    +
    +
    +
    +
    + +
    + +
    + +
    + + + + \ No newline at end of file diff --git a/samples/data/02_ajax_helper/05_html_resource.html b/samples/data/02_ajax_helper/05_html_resource.html new file mode 100644 index 0000000..0cd8216 --- /dev/null +++ b/samples/data/02_ajax_helper/05_html_resource.html @@ -0,0 +1,64 @@ + + + + + Ajax HTML - DHTMLX Data + + + + + + + + + + + + +
    +
    + +

    +
    + Ajax HTML. +
    +

    +
    +
    +
    +

    Loaded data:

    + +
    + + + \ No newline at end of file diff --git a/samples/data/02_ajax_helper/index.html b/samples/data/02_ajax_helper/index.html new file mode 100644 index 0000000..681d974 --- /dev/null +++ b/samples/data/02_ajax_helper/index.html @@ -0,0 +1,62 @@ + + + + + + + + Ajax - DHTMLX Data + + + +
    +
    + +

    + DHTMLX Data Ajax Samples +

    +
    +
    + + + \ No newline at end of file diff --git a/samples/data/common/data.css b/samples/data/common/data.css new file mode 100644 index 0000000..338bb51 --- /dev/null +++ b/samples/data/common/data.css @@ -0,0 +1,35 @@ +.dhx_sample-controls > * { + max-width: 240px; +} + +.dhx_sample-result { + max-width: 900px; + margin-left: auto; + margin-right: auto; + display: flex; + justify-content: center; +} + +.dhx_sample-form-group { + width: auto; +} + +.dhx_sample-input { + min-width: 100px; +} + +.icon { + margin-left: 8px; +} + +textarea { + padding: 20px; + width: 400px; + height: 400px; + font-size: 16px; + resize: none; +} + +textarea:focus { + outline: 0; +} \ No newline at end of file diff --git a/samples/data/common/data.json b/samples/data/common/data.json new file mode 100644 index 0000000..12e1fc8 --- /dev/null +++ b/samples/data/common/data.json @@ -0,0 +1,18 @@ +[ + { + "value": "Vilnius", + "id": "1" + }, + { + "value": "Paris", + "id": "2" + }, + { + "value": "London", + "id": "3" + }, + { + "value": "Rome", + "id": "4" + } +] \ No newline at end of file diff --git a/samples/data/common/index.js b/samples/data/common/index.js new file mode 100644 index 0000000..0af6a2a --- /dev/null +++ b/samples/data/common/index.js @@ -0,0 +1,6 @@ +function printData(datacollection, id) { + document.getElementById(id).value = JSON.stringify(datacollection.serialize(), null, 4); +} +function printText(text, id) { + document.getElementById(id).value = text; +} \ No newline at end of file diff --git a/samples/data/index.html b/samples/data/index.html new file mode 100644 index 0000000..bb2fdd8 --- /dev/null +++ b/samples/data/index.html @@ -0,0 +1,44 @@ + + + + + + + + Samples - DHTMLX Data + + + +
    +
    + +

    + DHTMLX data Samples +

    +
    +
    + + + \ No newline at end of file diff --git a/samples/dataview/01_init/01_init.html b/samples/dataview/01_init/01_init.html index d6d5770..3f09a4b 100644 --- a/samples/dataview/01_init/01_init.html +++ b/samples/dataview/01_init/01_init.html @@ -6,27 +6,12 @@ - - - - - + + + + + - -
    @@ -49,7 +34,7 @@

    - Basic initialization. + Basic initialization.

    @@ -64,15 +49,14 @@

    Data parse:

    - - diff --git a/samples/dataview/01_init/02_config_data.html b/samples/dataview/01_init/02_config_data.html index b32a412..057ed87 100644 --- a/samples/dataview/01_init/02_config_data.html +++ b/samples/dataview/01_init/02_config_data.html @@ -1,159 +1,143 @@ - - - Config data - DHTMLX Dataview - - - - - - - - - - - - - -
    -
    - +

    +
    Config data. -
    -

    -
    + +

    + -
    -
    - -
    - - - + var dataview = new dhx.DataView("dataview", { + itemsInRow: 3, + css: "dhx_widget--bordered", + template: template, + data: [ + { + "value": "Ben", + "short": "Ben is a very cautious 5-year-old Siberian Husky.", + "shortDescription": "Ben is a very cautious 5-year-old Siberian Husky, whom we found 2 years ago not far away from the zoo. The dog owner never appeared. So now Ben is the best friend of all our animals.", + "thumbnailName": "01.jpg" + }, + { + "value": "Izzy", + "short": "This is our most beloved kingfisher bird Izzy.", + "shortDescription": "This is our most beloved kingfisher bird Izzy, who adores eating fish and even hunts on its own. Izzy and Ben have the most intimate relationship. Izzy often sits on the head of Ben during a walk", + "thumbnailName": "02.jpg" + }, + { + "value": "Momo", + "short": "Momo is a 25-year-old elephant with a big heart.", + "shortDescription": "Momo is a 25-year-old elephant with a big heart. Momo came from another zoo in New Zealand but soon got accustomed to the new surroundings. Despite being grown-up, Momo still loves messing around.", + "thumbnailName": "03.jpg" + }, + { + "value": "Kevin", + "short": "And here is Kevin, our old-timer who saw how everything started here.", + "shortDescription": "And here is Kevin, our old-timer who saw how everything started here. Kevin loves attention and being taken pictures of, especially while chewing delicious leaves.", + "thumbnailName": "04.jpg" + }, + { + "value": "Lucy", + "short": "Lucy is a beautiful Siamese cat.", + "shortDescription": "Lucy is a beautiful Siamese cat. She considers herself the Queen of the zoo and competes with Ben for the territory. However, you can often find her sleeping on Ben’s back.", + "thumbnailName": "05.jpg" + }, + { + "value": "Christy", + "short": "Christy is the most extravert bird you’ve ever seen.", + "shortDescription": "Christy is the most extravert bird you’ve ever seen. She never stops murmuring, mumbling, and chattering. Sometimes she’s allowed to fly all over the zoo to spend all her energy and communicate with others.", + "thumbnailName": "06.jpg" + }, + { + "value": "Philip", + "short": "Philip is a Chinese panda, temporarily living with us.", + "shortDescription": "Philip is a Chinese panda, temporarily living with us. In a couple of months he’ll be transported to another zoo in Australia, where there is a big panda family waiting for him.", + "thumbnailName": "07.jpg" + }, + { + "value": "Clark", + "short": "Clark is one of the dogs of our zookeeper.", + "shortDescription": "Clark is one of the dogs of our zookeeper. He loves running around and having fun with everyone.", + "thumbnailName": "08.jpg" + }, + { + "value": "Ed", + "short": "Ed has the sharpest eye and always knows what’s happening around.", + "shortDescription": "Ed has the sharpest eye and always knows what’s happening around. He is a good friend of Christy, when he’s in a positive frame of mind.", + "thumbnailName": "09.jpg" + }, + { + "value": "Max", + "short": "Max is a tiger with a very calm and wise character.", + "shortDescription": "Max is a tiger with a very calm and wise character. I guess he’s pondering over some universal wisdom secrets. However, he adores rabbits, chicken, and, surprisingly, carrots!", + "thumbnailName": "10.jpg" + }, + { + "value": "Michelle", + "short": "This is our couch potato red panda Michelle.", + "shortDescription": "This is our couch potato red panda Michelle. She prefers to stay in her cozy bed all day long and comes out only at night to have a stroll around the Zoo.", + "thumbnailName": "11.jpg" + }, + { + "value": "Shelly", + "short": "Shelly is the dog of my parents who lives with us when they’re travelling.", + "shortDescription": "Shelly is the dog of my parents who lives with us when they’re travelling. She’s a bit scared of some of the zoo’s inhabitants, but has an intimate relationship with Steven.", + "thumbnailName": "12.jpg" + }, + { + "value": "Steven", + "short": "Steven is a 6-year old fox, whom we found in the forest with a broken leg.", + "shortDescription": "Steven is a 6-year old fox, whom we found in the forest with a broken leg. Luckily, Steven soon recovered his strength, but we became so attached to him that decided to leave him with other animals.", + "thumbnailName": "13.jpg" + } + ] + }); + + \ No newline at end of file diff --git a/samples/dataview/01_init/03_external_data.html b/samples/dataview/01_init/03_external_data.html index 3db3e66..aae9131 100644 --- a/samples/dataview/01_init/03_external_data.html +++ b/samples/dataview/01_init/03_external_data.html @@ -6,27 +6,12 @@ - - - - + + + + - -
    @@ -49,23 +34,21 @@

    - Init with external data. + Init with external data.

    -
    - - diff --git a/samples/dataview/01_init/index.html b/samples/dataview/01_init/index.html index 269b36c..02524a3 100644 --- a/samples/dataview/01_init/index.html +++ b/samples/dataview/01_init/index.html @@ -4,25 +4,24 @@ - + Initialization - DHTMLX Dataview -
    +

    diff --git a/samples/dataview/02_configuration/01_items_in_row.html b/samples/dataview/02_configuration/01_items_in_row.html index aa36fff..4dbc7b0 100644 --- a/samples/dataview/02_configuration/01_items_in_row.html +++ b/samples/dataview/02_configuration/01_items_in_row.html @@ -6,15 +6,15 @@ - - - - - + + + + + + + +
    +
    + +

    +
    + Drag'n'drop. +
    +

    +
    +
    +
    +

    Drag'n'drop to target or both

    +
    +
    +
    +

    Source:

    +
    +
    +
    +

    Both:

    +
    +
    +
    +

    Target:

    +
    +
    +
    + + + + \ No newline at end of file diff --git a/samples/dataview/02_configuration/09_drag_copy.html b/samples/dataview/02_configuration/09_drag_copy.html new file mode 100644 index 0000000..b1bda61 --- /dev/null +++ b/samples/dataview/02_configuration/09_drag_copy.html @@ -0,0 +1,121 @@ + + + + + Drag'n'drop - DHTMLX Dataview + + + + + + + + + + + + + +
    +
    + +

    +
    + Drag'n'drop. +
    +

    +
    +
    +
    +

    Drag'n'drop to target

    +
    +
    +
    +

    Move

    +
    +
    +
    +

    Copy

    +
    +
    +
    +

    Target

    +
    +
    +
    + + + \ No newline at end of file diff --git a/samples/dataview/02_configuration/index.html b/samples/dataview/02_configuration/index.html index 1010390..ecfa1f5 100644 --- a/samples/dataview/02_configuration/index.html +++ b/samples/dataview/02_configuration/index.html @@ -4,25 +4,24 @@ - + Configuration - DHTMLX Dataview -
    +

    @@ -39,33 +38,43 @@

  • - + + Setup dataview height + +
  • +
  • + + Setup dataview item height + +
  • +
  • + Configure gap size
  • - + Arrow navigation
  • - - Multiselection Dataview + + Multiselection dataview
  • - - Editable Dataview + + Editable dataview
  • - + Drag'n'drop
  • - + Drag'n'drop
  • diff --git a/samples/dataview/03_usage/01_set_focus_index.html b/samples/dataview/03_usage/01_set_focus_index.html index 9b48a6d..2787733 100644 --- a/samples/dataview/03_usage/01_set_focus_index.html +++ b/samples/dataview/03_usage/01_set_focus_index.html @@ -6,24 +6,12 @@ - - - - - + + + + + -
    @@ -46,29 +34,28 @@

    - Set focus index. + Set focus index.

    -
    - - +
    + +
    - diff --git a/samples/dataview/03_usage/02_destructor.html b/samples/dataview/03_usage/02_destructor.html index 64eeafe..2705be5 100644 --- a/samples/dataview/03_usage/02_destructor.html +++ b/samples/dataview/03_usage/02_destructor.html @@ -6,21 +6,12 @@ - - - - - + + + + + -
    @@ -43,27 +34,26 @@

    - Destructor. + Destructor.

    - +
    -
    - +
    - - - - + + + + + -
    @@ -43,25 +34,24 @@

    - Edit item. + Edit item.

    -
    + +
    - +
    -
    - diff --git a/samples/dataview/03_usage/04_set_selection.html b/samples/dataview/03_usage/04_set_selection.html index 37386f6..73a9eab 100644 --- a/samples/dataview/03_usage/04_set_selection.html +++ b/samples/dataview/03_usage/04_set_selection.html @@ -1,86 +1,72 @@ - - - Set selection - DHTMLX Dataview - - - - - - - - - - - - -
    -
    - +

    +
    + Set selection. +
    +

    - -
    -
    -
    - - -
    -
    -
    -
    -
    - - - - +
    +
    + + +
    +
    +
    +
    +
    + + diff --git a/samples/dataview/03_usage/05_get_selection.html b/samples/dataview/03_usage/05_get_selection.html index 113aada..b707a58 100644 --- a/samples/dataview/03_usage/05_get_selection.html +++ b/samples/dataview/03_usage/05_get_selection.html @@ -1,86 +1,73 @@ - - - Get selection - DHTMLX Dataview - - - - - - - - - - - - -
    -
    - +

    +
    + Get selection. +
    +

    - -
    -
    - -
    - - -
    -
    -
    -
    -
    - - +
    + +
    + + +
    +
    +
    +
    +
    - + + diff --git a/samples/dataview/03_usage/06_add.html b/samples/dataview/03_usage/06_add.html index f864722..fe9cc4e 100644 --- a/samples/dataview/03_usage/06_add.html +++ b/samples/dataview/03_usage/06_add.html @@ -1,215 +1,196 @@ - - - Add - DHTMLX Dataview - - - - - - - - - - - - - - - - -
    -
    -

    - Custom selection styles. + Custom selection styles.

    -
    - +
    - - - diff --git a/samples/dataview/04_customization/04_template.html b/samples/dataview/04_customization/04_template.html index 88861d7..593b8be 100644 --- a/samples/dataview/04_customization/04_template.html +++ b/samples/dataview/04_customization/04_template.html @@ -6,17 +6,12 @@ - - - - - + + + + + -
    @@ -39,25 +34,24 @@

    - Render template. + Render template.

    -
    - +
    - - diff --git a/samples/dataview/04_customization/index.html b/samples/dataview/04_customization/index.html index 45a822f..416f19c 100644 --- a/samples/dataview/04_customization/index.html +++ b/samples/dataview/04_customization/index.html @@ -4,25 +4,24 @@ - + Customization - DHTMLX Dataview -
    +

    diff --git a/samples/dataview/05_events/01_events.html b/samples/dataview/05_events/01_events.html index 95e10a0..69858bc 100644 --- a/samples/dataview/05_events/01_events.html +++ b/samples/dataview/05_events/01_events.html @@ -6,20 +6,15 @@ - - - - - + + + + + @@ -44,7 +39,7 @@

    - Dataview events. + Dataview events.

    @@ -53,19 +48,20 @@

    - diff --git a/samples/dataview/05_events/index.html b/samples/dataview/05_events/index.html index d304cfe..1551da6 100644 --- a/samples/dataview/05_events/index.html +++ b/samples/dataview/05_events/index.html @@ -4,25 +4,24 @@ - + Events - DHTMLX Dataview -
    +

    diff --git a/samples/dataview/common/dataview.css b/samples/dataview/common/dataview.css index fb5eceb..ddfe635 100644 --- a/samples/dataview/common/dataview.css +++ b/samples/dataview/common/dataview.css @@ -1,3 +1,16 @@ +.dhx_sample-container__widget { + height: 600px; + width: 600px; +} + +.dhx_sample-container > div:not(:last-child) { + margin-right: 12px; +} + +.dhx_sample-form-group { + max-width: 300px; +} + .innerHtml img { float: left; margin-right: 10px; @@ -15,20 +28,6 @@ max-height: 125px; overflow: hidden; position: relative; - -} - -.item_wrap:after { - content: ""; - pointer-events: none; - display: block; - position: absolute; - right: 0; - bottom: -10px; - height: 50px; - left: calc(112px); - background: linear-gradient(0deg, rgba(255, 255, 255, 1) 30%, rgba(255, 255, 255, 0.4) 66%, rgba(255, 255, 255, 0) 100%); - z-index: 2; } .item_wrap .image { diff --git a/samples/dataview/common/form/fonts/roboto-bold-webfont.woff b/samples/dataview/common/form/fonts/roboto-bold-webfont.woff new file mode 100644 index 0000000..d93baf5 Binary files /dev/null and b/samples/dataview/common/form/fonts/roboto-bold-webfont.woff differ diff --git a/samples/dataview/common/form/fonts/roboto-bold-webfont.woff2 b/samples/dataview/common/form/fonts/roboto-bold-webfont.woff2 new file mode 100644 index 0000000..fb82968 Binary files /dev/null and b/samples/dataview/common/form/fonts/roboto-bold-webfont.woff2 differ diff --git a/samples/dataview/common/form/fonts/roboto-medium-webfont.woff b/samples/dataview/common/form/fonts/roboto-medium-webfont.woff new file mode 100644 index 0000000..b8e0c77 Binary files /dev/null and b/samples/dataview/common/form/fonts/roboto-medium-webfont.woff differ diff --git a/samples/dataview/common/form/fonts/roboto-medium-webfont.woff2 b/samples/dataview/common/form/fonts/roboto-medium-webfont.woff2 new file mode 100644 index 0000000..fd70780 Binary files /dev/null and b/samples/dataview/common/form/fonts/roboto-medium-webfont.woff2 differ diff --git a/samples/dataview/common/form/fonts/roboto-regular-webfont.woff b/samples/dataview/common/form/fonts/roboto-regular-webfont.woff new file mode 100644 index 0000000..d43765c Binary files /dev/null and b/samples/dataview/common/form/fonts/roboto-regular-webfont.woff differ diff --git a/samples/dataview/common/form/fonts/roboto-regular-webfont.woff2 b/samples/dataview/common/form/fonts/roboto-regular-webfont.woff2 new file mode 100644 index 0000000..6b85564 Binary files /dev/null and b/samples/dataview/common/form/fonts/roboto-regular-webfont.woff2 differ diff --git a/samples/dataview/common/form/form.min.css b/samples/dataview/common/form/form.min.css new file mode 100644 index 0000000..a2fd5d8 --- /dev/null +++ b/samples/dataview/common/form/form.min.css @@ -0,0 +1 @@ +.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:-webkit-grab!important;cursor:grab!important}.dhx_no-select--pointer{cursor:pointer}.dhx_no-select--pointer,.dhx_no-select--resize{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"liga";font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{box-sizing:border-box}body{margin:0}.dhx_widget{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_widget--bordered{border:1px solid #e4e4e4}.dhx_widget--border_top{border-top:1px solid #e4e4e4}.dhx_widget--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_widget--border_left{border-left:1px solid #e4e4e4}.dhx_widget--border_right{border-right:1px solid #e4e4e4}.dhx_widget--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget.dhx_widget--bg_white{background-color:#fff}.dhx_widget.dhx_widget--bg_gray{background-color:#f7f7f7}.dhx_drag-ghost{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;z-index:999;opacity:.6}.dhx_drag-ghost *{box-sizing:border-box}.dhx_drag-ghost .dhx_list-item{list-style-type:none}.dhx_drag-ghost .dhx_list-item--selected{background-color:#fff;box-shadow:inset 0 0 0 0 #0288d1}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:#fff;transition:background-color .2s ease-out}.dhx_drag-ghost .dhx_tree-list-item__icon{position:relative;display:inline;vertical-align:middle;color:rgba(0,0,0,.3);font-size:20px;top:2px}.dhx_drag-ghost .dhx_tree-list-item__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;vertical-align:middle;line-height:20px;color:rgba(0,0,0,.7)}.dhx_drag-ghost .dhx_dataview-item,.dhx_drag-ghost .dhx_grid-cell,.dhx_drag-ghost .dhx_list-item{background-color:#fff;border:1px solid #e4e4e4!important}@font-face{font-family:Roboto;src:url(fonts/roboto-regular-webfont.woff2) format("woff2"),url(fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-medium-webfont.woff2) format("woff2"),url(fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-bold-webfont.woff2) format("woff2"),url(fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}@font-face{font-family:dhxicons;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff")}.dxi:before{font-family:dhxicons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dxi.dxi-alert-circle:before{content:"\F101"}.dxi.dxi-arrow-collapse:before{content:"\F102"}.dxi.dxi-arrow-expand:before{content:"\F103"}.dxi.dxi-blur-off:before{content:"\F104"}.dxi.dxi-blur:before{content:"\F105"}.dxi.dxi-calendar-today:before{content:"\F106"}.dxi.dxi-check:before{content:"\F107"}.dxi.dxi-checkbox-blank-outline:before{content:"\F108"}.dxi.dxi-checkbox-marked-circle:before{content:"\F109"}.dxi.dxi-checkbox-marked:before{content:"\F10A"}.dxi.dxi-chevron-down:before{content:"\F10B"}.dxi.dxi-chevron-left:before{content:"\F10C"}.dxi.dxi-chevron-right:before{content:"\F10D"}.dxi.dxi-chevron-up:before{content:"\F10E"}.dxi.dxi-clock-outline:before{content:"\F10F"}.dxi.dxi-clock:before{content:"\F110"}.dxi.dxi-close-circle:before{content:"\F111"}.dxi.dxi-close:before{content:"\F112"}.dxi.dxi-delete-forever:before{content:"\F113"}.dxi.dxi-delete:before{content:"\F114"}.dxi.dxi-dots-horizontal:before{content:"\F115"}.dxi.dxi-dots-vertical:before{content:"\F116"}.dxi.dxi-download:before{content:"\F117"}.dxi.dxi-empty:before{content:"\F118"}.dxi.dxi-eraser:before{content:"\F119"}.dxi.dxi-eye-off:before{content:"\F11A"}.dxi.dxi-eye:before{content:"\F11B"}.dxi.dxi-eyedropper-variant:before{content:"\F11C"}.dxi.dxi-file-export:before{content:"\F11D"}.dxi.dxi-file-outline:before{content:"\F11E"}.dxi.dxi-filter-variant:before{content:"\F11F"}.dxi.dxi-folder-open:before{content:"\F120"}.dxi.dxi-folder:before{content:"\F121"}.dxi.dxi-format-align-center:before{content:"\F122"}.dxi.dxi-format-align-left:before{content:"\F123"}.dxi.dxi-format-align-right:before{content:"\F124"}.dxi.dxi-format-bold:before{content:"\F125"}.dxi.dxi-format-color-fill:before{content:"\F126"}.dxi.dxi-format-color-text:before{content:"\F127"}.dxi.dxi-format-italic:before{content:"\F128"}.dxi.dxi-format-line-spacing:before{content:"\F129"}.dxi.dxi-format-quote-close:before{content:"\F12A"}.dxi.dxi-format-quote-open:before{content:"\F12B"}.dxi.dxi-format-strikethrough:before{content:"\F12C"}.dxi.dxi-format-underline:before{content:"\F12D"}.dxi.dxi-format-vertical-align-bottom:before{content:"\F12E"}.dxi.dxi-format-vertical-align-center:before{content:"\F12F"}.dxi.dxi-format-vertical-align-top:before{content:"\F130"}.dxi.dxi-function-variant:before{content:"\F131"}.dxi.dxi-help-circle-outline:before{content:"\F132"}.dxi.dxi-information-outline:before{content:"\F133"}.dxi.dxi-key:before{content:"\F134"}.dxi.dxi-link-variant-off:before{content:"\F135"}.dxi.dxi-link-variant:before{content:"\F136"}.dxi.dxi-loading:before{content:"\F137"}.dxi.dxi-magnify:before{content:"\F138"}.dxi.dxi-menu-down:before{content:"\F139"}.dxi.dxi-menu-left:before{content:"\F13A"}.dxi.dxi-menu-right:before{content:"\F13B"}.dxi.dxi-menu-up:before{content:"\F13C"}.dxi.dxi-minus-box:before{content:"\F13D"}.dxi.dxi-minus:before{content:"\F13E"}.dxi.dxi-numeric:before{content:"\F13F"}.dxi.dxi-pencil:before{content:"\F140"}.dxi.dxi-plus-circle:before{content:"\F141"}.dxi.dxi-plus:before{content:"\F142"}.dxi.dxi-printer:before{content:"\F143"}.dxi.dxi-redo:before{content:"\F144"}.dxi.dxi-rotate-right:before{content:"\F145"}.dxi.dxi-sort-variant:before{content:"\F146"}.dxi.dxi-table-column-plus-before:before{content:"\F147"}.dxi.dxi-table-column-remove:before{content:"\F148"}.dxi.dxi-table-column:before{content:"\F149"}.dxi.dxi-table-row-plus-after:before{content:"\F14A"}.dxi.dxi-table-row-remove:before{content:"\F14B"}.dxi.dxi-table-row:before{content:"\F14C"}.dxi.dxi-undo:before{content:"\F14D"}.dxi.dxi-unfold-more-horizontal:before{content:"\F14E"}.dxi.dxi-vault:before{content:"\F14F"}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:20px}.dxi--small:before{font-size:16px}.dxi--medium:before{font-size:20px}.dxi--large:before{font-size:24px}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;touch-action:manipulation;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:4px}.dhx_button__loading{display:none;position:absolute;left:0;top:0;right:0;bottom:0;justify-content:center;align-items:center}.dhx_button__loading-icon{-webkit-animation:a .9s linear infinite;animation:a .9s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:28px}.dhx_button--circle.dhx_button--size_medium{border-radius:32px}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:6px;padding-right:6px}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:4px;padding-right:4px}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__loading{display:flex}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:4px 12px;font-size:14px;line-height:20px}.dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:16px;margin-top:-8px;margin-left:-8px}.dhx_button--size_medium{padding:6px 16px;text-transform:uppercase;line-height:20px}.dhx_button--size_medium .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:20px;margin-top:-10px;margin-left:-10px}.dhx_button--view_flat{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;color:#fff;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_flat.dhx_button--color_primary{background-color:#0288d1;outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:#35a0da}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:#0288d1;box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_primary:disabled{background-color:#81c4e8}.dhx_button--view_flat.dhx_button--color_secondary{background-color:#4d4d4d;outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:#717171}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:#4d4d4d;box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_secondary:disabled{background-color:#a6a6a6}.dhx_button--view_flat.dhx_button--color_danger{background-color:#ff5252;outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:#ff7575}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:#ff5252;box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_danger:disabled{background-color:#ffa9a9}.dhx_button--view_flat.dhx_button--color_success{background-color:#0ab169;outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:#3bc187}.dhx_button--view_flat.dhx_button--color_success:active{background-color:#0ab169;box-shadow:none}.dhx_button--view_flat.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_success:disabled{background-color:#85d8b4}.dhx_button--view_link{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;border-radius:2px;background:transparent;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_link:focus,.dhx_button--view_link:hover{transition:background-color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_link.dhx_button--color_primary{color:#0288d1;outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:#d9edf8}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:#b8def2}.dhx_button--view_link.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_primary:disabled{color:#81c4e8}.dhx_button--view_link.dhx_button--color_secondary{color:#4d4d4d;outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:#e4e4e4}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:#cdcdcd}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_secondary:disabled{color:#a6a6a6}.dhx_button--view_link.dhx_button--color_danger{color:#ff5252;outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:#ffe5e5}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:#ffcfcf}.dhx_button--view_link.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_danger:disabled{color:#ffa9a9}.dhx_button--view_link.dhx_button--color_success{color:#0ab169;outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:#daf3e9}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:#bae9d5}.dhx_button--view_link.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_success:disabled{color:#85d8b4}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:8px;margin-right:auto}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_form-group{position:relative;display:block;text-align:left;padding-bottom:16px}.dhx_form-group--simplevault{line-height:0;height:100%}.dhx_form-group--simplevault .dhx_label{margin-bottom:4px}.dhx_form-group--textarea{display:flex;flex-direction:column;height:100%}.dhx_form-group--textarea .dhx_input--textarea,.dhx_form-group--textarea .dhx_input__wrapper{height:100%}.dhx_form-group--textarea .dhx_label{min-height:20px;line-height:20px;margin-bottom:4px}.dhx_form-group--inline{display:flex;flex-direction:row;width:100%;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;flex:0 1 auto;max-height:40px;margin-right:16px;margin-bottom:0;text-align:right;width:100%;margin-top:6px;align-self:flex-start}.dhx_form-group--inline .dhx_input__wrapper{flex:0 1 auto;width:300%;height:100%}.dhx_form-group--inline .dhx_label--with-help{justify-content:flex-end}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative;margin-bottom:0}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--no-message-holder{padding-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input__caption,.dhx_form-group--state_error .dhx_label{color:#ff5252}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{box-shadow:inset 0 0 0 1px #ffbaba}.dhx_form-group--state_error .dhx_simplevault-files,.dhx_form-group--state_error .dhx_simplevault-files:focus,.dhx_form-group--state_error .dhx_simplevault__drop-area,.dhx_form-group--state_error .dhx_simplevault__drop-area:focus{border-color:#ffbaba}.dhx_form-group--state_success .dhx_input__caption,.dhx_form-group--state_success .dhx_label{color:#0ab169}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{box-shadow:inset 0 0 0 1px #9de0c3}.dhx_form-group--state_success .dhx_simplevault__drop-area,.dhx_form-group--state_success .dhx_simplevault__drop-area:focus{border-top-color:#9de0c3;border-left-color:#9de0c3;border-right-color:#9de0c3}.dhx_form-group--state_success .dhx_simplevault-files,.dhx_form-group--state_success .dhx_simplevault-files:focus{border-right-color:#9de0c3;border-left-color:#9de0c3;border-bottom-color:#9de0c3}.dhx_form-group--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_form-group .dhx_combobox{margin:0}.dhx_form-group .dhx_slider{padding-bottom:0}.dhx_input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:#f6f6f6;background-clip:padding-box;box-shadow:inset 0 0 0 1px #dfdfdf;border:0;border-radius:2px;outline:0;transition:border-color .2s ease-in,box-shadow .2s ease-in}.dhx_input::-webkit-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input:-ms-input-placeholder,.dhx_input::-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::placeholder{color:rgba(0,0,0,.5)}.dhx_input:focus{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_input--icon-padding{padding-right:24px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{box-shadow:none;background:none;padding-left:0}.dhx_input--textinput:focus{box-shadow:none}.dhx_input__wrapper{width:100%;display:flex;flex-direction:column;position:relative}.dhx_input__wrapper:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_input__container{width:100%;display:inline-block;position:relative}.dhx_input__caption{left:0;bottom:0;max-width:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;font-weight:400;line-height:16px;color:rgba(0,0,0,.5);white-space:wrap;overflow-x:hidden;text-overflow:ellipsis;cursor:default}.dhx_input__icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:4px;z-index:1;color:rgba(0,0,0,.5);pointer-events:none}.dhx_input__icon--color-selected{border-radius:2px}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:20px;line-height:20px}.dhx_label{display:inline-block;width:auto;flex:0 1 auto;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;cursor:pointer;transition:color .2s ease-in,opacity .2s ease-in}.dhx_label:hover{opacity:.8;transition:color .2s ease-out,opacity .2s ease-out}.dhx_label__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_label--with-help{display:flex;align-items:center}.dhx_label-help{margin-left:4px;color:#0288d1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_label-help:focus{outline:none}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__visual-input{display:block;border:2px solid rgba(0,0,0,.5);width:20px;height:20px;background-color:#fff;border-radius:2px;cursor:pointer}.dhx_checkbox .dhx_label{margin-top:4px;margin-bottom:0;width:auto}.dhx_checkbox .dhx_label:after{display:none}.dhx_checkbox .dhx_input__caption{position:static;display:block;-webkit-transform:none;transform:none}.dhx_checkbox.dhx_form-group--inline{display:flex;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_checkbox.dhx_form-group--hidden{display:none}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.dhx_checkbox__input:focus+.dhx_checkbox__visual-input{border-color:#0288d1}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input{background-color:#0288d1;background-position:50%;background-size:cover;border-color:#0288d1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);transition:background-color .2s ease-out}.dhx_radiobutton{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_radiobutton__visual-input{display:block;border:2px solid rgba(0,0,0,.5);bottom:4px;left:0;width:20px;height:20px;background-color:#fff;border-radius:50%}.dhx_radiobutton .dhx_label{margin-top:4px;margin-bottom:0;width:auto;cursor:pointer}.dhx_radiobutton .dhx_input__caption{position:static;display:block}.dhx_radiobutton.dhx_form-group--inline{white-space:nowrap;display:flex;align-items:center}.dhx_radiobutton.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0;padding-top:2px;padding-bottom:2px}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.dhx_radiobutton__input:focus+.dhx_radiobutton__visual-input{border-color:#0288d1}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:#0288d1;border-color:#0288d1;box-shadow:inset 0 0 0 4px #fff;transition:background-color .2s ease-out}.dhx_select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{border:none;border-radius:2px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;font-weight:400;text-align:center;overflow:hidden;position:relative}.dhx_simplevault__drop-area{background-color:#f6f6f6;border:1px solid #dfdfdf;transition:all .2s ease-in;display:flex;height:115px;width:100%;flex-direction:column;justify-content:center;align-items:center;padding:0 20px}.dhx_simplevault__drop-area--on-drag{border-style:dashed;transition:border .2s ease-out}.dhx_simplevault__icon:before{font-size:40px;color:rgba(0,0,0,.3);transition:color .2s ease-in}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:#0288d1;cursor:pointer}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in,-webkit-transform .2s ease-in}.dhx_simplevault-files{background-color:#f6f6f6;border:1px solid #dfdfdf;border-top:none;transition:all .2s ease-in;width:100%;margin:0;padding:0;list-style:none;max-height:calc(100% - 115px);height:calc(100% - 115px);overflow-y:auto}.dhx_simplevault-files__fixed{max-height:276px}.dhx_simplevault-files__item{position:relative;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;text-align:left;color:rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:1px solid #e4e4e4}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_simplevault-loader{display:flex;justify-content:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:#ededed;-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0;will-change:transform;transition:0ms;z-index:1}.dhx_simplevault-loader .dhx_simplevault__icon:before{color:#0288d1}.dhx_popup{position:fixed;box-sizing:border-box;-webkit-animation:b .2s ease-in-out forwards;animation:b .2s ease-in-out forwards;background:#fff;will-change:transform;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_popup,.dhx_popup--window,.dhx_popup--window_modal{z-index:2147483645}.dhx_popup--window_active{z-index:2147483646}.dhx_popup.hide{-webkit-animation:c .2s ease-in-out forwards;animation:c .2s ease-in-out forwards}.dhx_popup:focus{outline:none}.dhx_widget--fullscreen .dhx_popup{z-index:2147483647}@-webkit-keyframes b{0%{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes b{0%{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@-webkit-keyframes c{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}}@keyframes c{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}}.dhx_layout{max-width:100%;max-height:100%;width:100%;height:100%}.dhx_layout-columns{display:flex;flex-direction:row;overflow:hidden}.dhx_layout-columns>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){flex:0 1 auto}.dhx_layout-columns>.dhx_layout-cell--resizeble{overflow-x:hidden}.dhx_layout-rows{display:flex;flex-direction:column;overflow:hidden}.dhx_layout-rows>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){flex:0 1 auto}.dhx_layout-rows>.dhx_layout-cell--resizeble{overflow-y:hidden}.dhx_layout-cell--start,.dhx_layout-columns--start,.dhx_layout-rows--start{justify-content:flex-start}.dhx_layout-cell--center,.dhx_layout-columns--center,.dhx_layout-rows--center{justify-content:center}.dhx_layout-cell--end,.dhx_layout-columns--end,.dhx_layout-rows--end{justify-content:flex-end}.dhx_layout-cell--between,.dhx_layout-columns--between,.dhx_layout-rows--between{justify-content:space-between}.dhx_layout-cell--around,.dhx_layout-columns--around,.dhx_layout-rows--around{justify-content:space-around}.dhx_layout-cell--evenly,.dhx_layout-columns--evenly,.dhx_layout-rows--evenly{justify-content:space-evenly}.dhx_layout-cell{flex-basis:auto;flex-grow:0;flex-shrink:0}.dhx_layout-cell--bordered{border:1px solid #e4e4e4}.dhx_layout-cell--border_top{border-top:1px solid #e4e4e4}.dhx_layout-cell--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_layout-cell--border_left{border-left:1px solid #e4e4e4}.dhx_layout-cell--border_right{border-right:1px solid #e4e4e4}.dhx_layout-cell--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_layout-cell--no-border{border:0}.dhx_layout-cell--no-border_top{border-top:0}.dhx_layout-cell--no-border_bottom{border-bottom:0}.dhx_layout-cell--no-border_left{border-left:0}.dhx_layout-cell--no-border_right{border-right:0}.dhx_layout-cell--gravity{flex:1 1 auto}.dhx_layout-cell--flex{display:flex}.dhx_layout-cell--accordion>.dhx_layout-cell--collapsed{border-bottom:0}.dhx_layout-cell--collapsed{overflow:hidden;flex:0 1 auto}.dhx_layout-cell-content{height:100%}.dhx_layout-cell-header{display:flex;justify-content:flex-start;align-items:center;border-bottom:1px solid #e4e4e4;padding:8px 12px}.dhx_layout-cell-header__title{margin:0;font-size:14px;line-height:20px;font-weight:500;color:rgba(0,0,0,.7);white-space:nowrap;overflow:hidden;text-overflow:clip;transition:color .2s ease-in}.dhx_layout-cell-header__icon{margin-right:16px}.dhx_layout-cell-header__image-wrapper{position:relative;width:20px;height:20px;margin-right:8px}.dhx_layout-cell-header__image{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border-radius:50%}.dhx_layout-cell-header__collapse-icon{margin-left:auto;color:#4d4d4d;transition:color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,color .2s ease-in;transition:transform .2s ease-in,color .2s ease-in,-webkit-transform .2s ease-in}.dhx_layout-cell-header--collapseble{cursor:pointer}.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__title,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__title{color:#0288d1;transition:color .2s ease-out}.dhx_layout-cell-header--collapseble:focus,.dhx_layout-cell-header:focus{outline-width:0}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col{border-bottom:0;position:relative}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col .dhx_layout-cell-header__title{position:absolute;-webkit-transform-origin:left;transform-origin:left;-webkit-transform:rotate(90deg);transform:rotate(90deg);bottom:-12px;left:50%}.dhx_layout-cell-header+.dhx_layout-cell-content{overflow:auto;height:calc(100% - 37px)}.dhx_layout-resizer{position:relative;overflow:visible;text-align:center}.dhx_layout-resizer .dhx_layout-resizer__icon{position:relative;z-index:1}.dhx_layout-resizer--x{width:0}.dhx_layout-resizer--x .dhx_layout-resizer__icon{width:0;height:100%;display:flex;justify-content:center;flex-direction:column;align-items:center;color:rgba(0,0,0,.5);cursor:ew-resize}.dhx_layout-resizer--x .dhx_layout-resizer__icon:before{font-size:16px}.dhx_layout-resizer--y{height:0}.dhx_layout-resizer--y .dhx_layout-resizer__icon{width:100%;height:0;display:flex;justify-content:center;flex-direction:row;align-items:center;color:rgba(0,0,0,.5);cursor:ns-resize}.dhx_layout-resizer--y .dhx_layout-resizer__icon:before{font-size:16px}.dhx_slider{position:relative;display:flex;flex-direction:column;padding-bottom:16px}.dhx_slider--label-inline{flex-direction:row;align-items:center}.dhx_slider--label-inline .dhx_slider__label{text-align:right;flex:0 1 auto;margin-right:16px;margin-bottom:0;width:100%}.dhx_slider--label-inline .dhx_label--with-help{justify-content:flex-end}.dhx_slider--label-inline .dhx_slider__track-holder{width:300%;flex:0 1 auto}.dhx_slider--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_slider--mode_vertical{height:100%;display:inline-flex}.dhx_slider--mode_vertical .dhx_slider__label{align-self:flex-start}.dhx_slider--mode_vertical .dhx_slider__track-holder{height:100%;display:flex;padding:8px 0}.dhx_slider--mode_vertical .dhx_slider__track{align-self:stretch;padding:0 8px}.dhx_slider--mode_vertical .dhx_slider__track:before{width:2px;height:100%}.dhx_slider--mode_vertical .dhx_slider__range{width:2px;left:50%;-webkit-transform:translate(-50%);transform:translate(-50%)}.dhx_slider--mode_vertical .dhx_slider__thumb{left:50%}.dhx_slider--mode_vertical .dhx_slider__tick{height:1px;width:4px}.dhx_slider--mode_vertical .dhx_slider__tick:not(:first-child){-webkit-transform:translateY(-.5px);transform:translateY(-.5px)}.dhx_slider--mode_vertical .dhx_slider__tick--major{width:8px}.dhx_slider--mode_vertical .dhx_slider__tick-label{top:50%;left:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);padding-left:2px}.dhx_slider--ticks .dhx_slider__ticks-holder{height:4px}.dhx_slider--ticks.dhx_slider--mode_vertical .dhx_slider__ticks-holder{height:100%;width:4px}.dhx_slider__track-holder{position:relative;flex:1}.dhx_slider__track{position:relative;padding-top:8px;padding-bottom:8px;cursor:pointer;z-index:1}.dhx_slider__track:before{content:"";display:block;height:2px;background-color:#b3b3b3}.dhx_slider__thumb{position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background-color:#0288d1;transition:border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;transition:transform .1s ease-out,border-color .2s ease-out,background-color .2s ease-out;transition:transform .1s ease-out,border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;will-change:transform;cursor:pointer}.dhx_slider__thumb:after,.dhx_slider__thumb:before{content:"";display:block;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);border-radius:50%;will-change:transform}.dhx_slider__thumb:before{width:28px;height:28px;background-color:rgba(2,136,209,.15)}.dhx_slider__thumb:after,.dhx_slider__thumb:before{transition:background-color .2s ease-out,-webkit-transform .2s ease-out;transition:transform .2s ease-out,background-color .2s ease-out;transition:transform .2s ease-out,background-color .2s ease-out,-webkit-transform .2s ease-out}.dhx_slider__thumb:after{width:16px;height:16px;background-color:#0288d1}.dhx_slider__thumb:focus,.dhx_slider__thumb:hover{outline:none}.dhx_slider__thumb:focus:before,.dhx_slider__thumb:hover:before{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in,-webkit-transform .2s ease-in}.dhx_slider__thumb--active,.dhx_slider__thumb:active{z-index:1}.dhx_slider__thumb--active:after,.dhx_slider__thumb:active:after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in,-webkit-transform .2s ease-in}.dhx_slider__thumb--nullable{background-color:#b3b3b3}.dhx_slider__thumb--nullable:after{width:8px;height:8px;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);background:#fff}.dhx_slider__thumb--nullable:before{background-color:rgba(77,77,77,.15)}.dhx_slider__thumb--disabled{background-color:#b3b3b3;border:2px solid #fff}.dhx_slider__thumb--disabled:after,.dhx_slider__thumb--disabled:before{display:none}.dhx_slider__thumb-label{position:absolute;padding:6px 12px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border-radius:2px;background-color:#333;box-shadow:0 2px 5px rgba(0,0,0,.3);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#fff;transition:opacity transform .01s ease-in;pointer-events:none;z-index:1}.dhx_slider__thumb-label--vertical{left:50px}.dhx_slider__thumb-label--horizontal{top:-30px}.dhx_slider__thumb-label--active{z-index:10}.dhx_slider__range{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:2px;background-color:#0288d1;pointer-events:none}.dhx_slider__ticks-holder{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_slider__tick{position:absolute;top:0;width:1px;height:4px;background-color:#b3b3b3}.dhx_slider__tick:not(:first-child){-webkit-transform:translateX(-.5px);transform:translateX(-.5px)}.dhx_slider__tick--major{height:8px}.dhx_slider__tick-label{position:absolute;top:10px;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:10px;color:rgba(0,0,0,.7);line-height:1}.dhx_message-container{display:flex;flex-direction:column;align-items:flex-end;position:absolute;padding:20px;max-height:100%;-ms-scroll-chaining:none;overscroll-behavior:contain;width:auto;overflow:hidden;border:2px solid transparent;z-index:2147483647}.dhx_message-container *{box-sizing:border-box}.dhx_message-container--top-left{top:0;left:0}.dhx_message-container--top-right{top:0;right:0}.dhx_message-container--bottom-left{align-items:flex-start;bottom:0;left:0}.dhx_message-container--bottom-right{align-items:flex-start;bottom:0;right:0}.dhx_message-container--in-body{position:fixed}.dhx_message{display:flex;justify-content:space-between;width:240px;flex-shrink:0;padding:12px;margin-bottom:4px;margin-top:4px;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.1),0 10px 20px rgba(0,0,0,.1);background-color:#fff;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_message,.dhx_message__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;line-height:20px;font-size:14px;color:rgba(0,0,0,.7)}.dhx_message__text{overflow-wrap:break-word;word-wrap:break-word;word-break:break-all}.dhx_message__icon{align-self:center;padding-left:8px;color:rgba(0,0,0,.5)}.dhx_message--error .dhx_message__icon,.dhx_message--error .dhx_message__text,.dhx_message--success .dhx_message__icon,.dhx_message--success .dhx_message__text{color:#fff}.dhx_message--error{background-color:#ff5252}.dhx_message--success{background-color:#0ab169}.dhx_alert{display:flex;flex-direction:column;position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:600px;padding:24px;background:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3);will-change:transform;z-index:2147483647}.dhx_alert__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2147483646}.dhx_alert__header{position:relative;margin-bottom:20px;font-weight:500;line-height:20px;color:rgba(0,0,0,.7)}.dhx_alert__content,.dhx_alert__header{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px}.dhx_alert__content{height:100%;font-weight:400;color:rgba(0,0,0,.5);line-height:1.3;overflow-y:auto;overflow-wrap:break-word;word-wrap:break-word}.dhx_alert__footer{margin-top:20px;display:flex;justify-content:flex-start}.dhx_alert__footer--center{justify-content:center}.dhx_alert__footer--right{justify-content:flex-end}.dhx_alert__footer .dhx_button:not(:last-child){margin-right:16px}.dhx_tooltip{pointer-events:none;border-radius:2px;background-color:#333;box-shadow:0 2px 5px rgba(0,0,0,.3);padding:6px 12px;transition:opacity .01s ease,-webkit-transform .01s ease;transition:opacity .01s ease,transform .01s ease;transition:opacity .01s ease,transform .01s ease,-webkit-transform .01s ease;opacity:0;z-index:999;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_tooltip--animate{opacity:1;transition:opacity .15s ease-out}.dhx_tooltip--forced{opacity:1}.dhx_tooltip--bottom{margin:8px 0 0}.dhx_tooltip--top{margin:-8px 0 0}.dhx_tooltip--left{margin:0 0 -8px}.dhx_tooltip--right{margin:0 0 0 8px}.dhx_tooltip--light{background-color:#fff}.dhx_tooltip--light .dhx_tooltip__text{color:rgba(0,0,0,.7)}.dhx_widget--fullscreen .dhx_tooltip{z-index:2147483647}.dhx_tooltip__text{color:#fff;font-size:14px;font-weight:500;line-height:20px}.dhx_navbar-count{width:24px;height:24px;border-radius:50%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:24px;color:#fff;text-align:center;z-index:1}.dhx_navbar-count--absolute{margin-left:0;position:absolute;top:-4px;top:-10px;right:-10px}.dhx_navbar-count--button-inline{margin-top:-4px;margin-bottom:-4px;margin-left:12px}.dhx_navbar-count--overlimit{width:auto;border-radius:22px;padding:0 8px}.dhx_navbar-count--color_success{background-color:#0ab169}.dhx_navbar-count--color_danger{background-color:#ff5252}.dhx_navbar-count--color_primary{background-color:#0288d1}.dhx_navbar-count--color_secondary{background-color:#4d4d4d}.dhx_navbar{display:flex;flex-wrap:nowrap;margin:0;padding:0;width:100%;list-style:none}.dhx_navbar:focus{outline:none}.dhx_navbar--horizontal{flex-direction:row;align-items:center}.dhx_navbar--vertical{height:100%;display:flex;flex-direction:column;overflow:auto}.dhx_navbar .dhx_button--color_secondary.dhx_button--view_link .dhx_button__icon{color:rgba(0,0,0,.5)}.dhx_navbar-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);font-weight:500}.dhx_navbar-title--sidebar{display:block;padding:12px}.dhx_timepicker{width:100%;padding:50px 20px;min-width:248px;background-color:#fff}.dhx_timepicker--with-controls{padding:4px 20px 0}.dhx_timepicker__inputs{text-align:center;margin-bottom:28px;margin-top:16px}.dhx_timepicker__close{min-height:32px;display:flex;justify-content:flex-end;margin-bottom:6px}.dhx_timepicker__button-close{text-transform:uppercase;-webkit-transform:translateX(16px);transform:translateX(16px)}.dhx_timepicker__save{padding-top:12px;min-height:76px;display:flex;justify-content:center;align-items:center}.dhx_timepicker-inputs{position:relative;display:inline-block}.dhx_timepicker-input{width:48px;height:38px;font-size:30px;padding-bottom:4px;color:rgba(0,0,0,.7);line-height:30px;text-align:center;outline:none;border:none;border-bottom:1px solid #ededed;transition:border-color .2s ease-in;background-color:transparent}.dhx_timepicker-input:focus{border-bottom:1px solid #81c4e8;transition-timing-function:ease-out}.dhx_timepicker-ampm{position:absolute;right:-32px;bottom:4px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.3);font-size:16px;line-height:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_timepicker-delimer{position:relative;top:-2px;height:30px;width:8px;color:rgba(0,0,0,.7);line-height:30px;font-size:30px}.dhx_calendar{display:flex;justify-content:flex-end;min-height:258px;padding:12px;background-color:#fff}.dhx_calendar--with_timepicker{min-height:310px}.dhx_calendar__wrapper{position:relative;z-index:1;width:100%;min-height:100%;display:flex;flex-direction:column;justify-content:space-between}.dhx_calendar__dates-wrapper{position:relative;padding-left:40px}.dhx_calendar__navigation{display:flex;align-self:stretch;justify-content:space-between;text-align:center;align-items:center;margin:-4px 2px 4px}.dhx_calendar__navigation .dhx_button--color_secondary:focus,.dhx_calendar__navigation .dhx_button--view_link:focus{background:inherit}.dhx_calendar__navigation .dhx_button--color_secondary:hover,.dhx_calendar__navigation .dhx_button--view_link:hover{background:#e4e4e4}.dhx_calendar__timepicker-button{margin-top:8px}.dhx_calendar__actions{display:flex;justify-content:center}.dhx_calendar__week-numbers{position:absolute;left:0;top:-4px;width:32px;padding:4px 0;background-color:#f7f7f7}.dhx_calendar__week-numbers:before{content:"#";display:block;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:16px;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar__weekdays{display:flex;flex-direction:row;justify-content:space-between;margin:0 0 8px}.dhx_calendar__days,.dhx_calendar__months{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.dhx_calendar__months,.dhx_calendar__years{margin-top:auto;margin-bottom:auto}.dhx_calendar__years{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.dhx_calendar-weekday{flex:1 0 14%;font-size:12px;line-height:16px}.dhx_calendar-week-number,.dhx_calendar-weekday{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar-week-number{margin-bottom:12px;font-size:14px;line-height:20px}.dhx_calendar-week-number:last-child{margin-bottom:0}.dhx_calendar-week-number--hidden{opacity:0;pointer-events:none}.dhx_calendar-day{position:relative;flex:1 0 14%;margin-bottom:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.5);text-align:center;cursor:pointer}.dhx_calendar-day:nth-last-child(-n+7){margin-bottom:0}.dhx_calendar-day:after,.dhx_calendar-day:before{content:"";position:absolute;top:50%;left:50%;display:block;width:28px;height:28px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;z-index:-1}.dhx_calendar-day:active,.dhx_calendar-day:focus{outline:none}.dhx_calendar-day:active:before,.dhx_calendar-day:focus:before,.dhx_calendar-day:hover:before{opacity:1;transition:opacity .2s ease-out}.dhx_calendar-day--weekend{color:#0288d1}.dhx_calendar-day--hidden{opacity:0;pointer-events:none}.dhx_calendar-day--muffled{opacity:.6}.dhx_calendar-day--disabled{color:rgba(0,0,0,.3);pointer-events:none}.dhx_calendar-day--weekend-disabled{pointer-events:none;color:#6ecbfe}.dhx_calendar-day--in-range:after{opacity:1;background-color:#d3efff;border-radius:0;width:100%;z-index:-3}.dhx_calendar-day--selected{color:#fff;position:relative;z-index:1}.dhx_calendar-day--selected:before{opacity:1;background-color:#0288d1}.dhx_calendar-day--selected-first:after{border-radius:50% 0 0 50%}.dhx_calendar-day--selected-last:after{border-radius:0 50% 50% 0}.dhx_calendar-day--first-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% - 2px);left:auto;border-radius:0;border-top-left-radius:32px;border-bottom-left-radius:32px}.dhx_calendar-day--last-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% + 2px);left:auto;border-radius:0;border-top-right-radius:32px;border-bottom-right-radius:32px}.dhx_calendar-day:nth-child(7n).dhx_calendar-day--first-date:after{width:30px;right:calc(-50% + 1px)}.dhx_calendar-day:nth-child(7n+1).dhx_calendar-day--last-date:after{width:30px;right:calc(-50% + 3px)}.dhx_calendar-month,.dhx_calendar-year{position:relative;flex:1 0 25%;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:50px;color:rgba(0,0,0,.7);text-align:center;cursor:pointer}.dhx_calendar-month:nth-last-child(-n+4),.dhx_calendar-year:nth-last-child(-n+4){margin-bottom:0}.dhx_calendar-month:before,.dhx_calendar-year:before{content:"";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block;width:50px;height:50px;background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;transition:opacity .2s ease-in,background-color .2s ease-in;z-index:-1}.dhx_calendar-month:active,.dhx_calendar-month:focus,.dhx_calendar-year:active,.dhx_calendar-year:focus{outline:none}.dhx_calendar-month:active:before,.dhx_calendar-month:focus:before,.dhx_calendar-year:active:before,.dhx_calendar-year:focus:before{opacity:1;transition:opacity .2s ease-out}.dhx_calendar-month:hover:before,.dhx_calendar-year:hover:before{opacity:1;transition:opacity .2s ease-out;z-index:-2}.dhx_calendar-month--selected,.dhx_calendar-year--selected{color:#fff}.dhx_calendar-month--selected:before,.dhx_calendar-year--selected:before{opacity:1;transition:opacity .2s ease-in,background-color .2s ease-in;background-color:#0288d1}.dhx_list{margin:0;padding:0;height:100%;list-style:none;overflow:auto;max-height:100%;background-color:#fff}.dhx_list--virtual{overflow:visible;max-height:unset;border:none}.dhx_list-item{overflow:hidden;position:relative;padding:8px 12px;border-bottom:1px solid #e4e4e4}.dhx_list-item,.dhx_list-item--text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_list-item--text{font-size:14px;font-weight:400;line-height:20px;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_list-item--selected{background-color:#f7f7f7;box-shadow:inset 2px 0 0 0 #0288d1}.dhx_list-item--focus,.dhx_list-item--selected:hover,.dhx_list-item:hover{background-color:#ededed;transition:background-color .2s ease-out}.dhx_list-item--drophere:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;background-color:#f7f7f7;opacity:.6}.dhx_list-item--dragtarget{opacity:.6}.dhx_list-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_list-input{width:100%;padding-left:5px}.dhx_virtual-list-wrapper{overflow:auto;max-height:100%;border:1px solid #e4e4e4}.dhx_combobox{margin-bottom:16px}.dhx_combobox__options{margin-top:2px;width:100%}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_combobox--label-inline{display:flex;align-items:center;width:100%;position:relative}.dhx_combobox--label-inline .dhx_combobox__label{flex:0 1 auto;justify-content:flex-end;text-align:right;margin-right:16px;width:100%}.dhx_combobox--label-inline .dhx_combobox-input-box{flex:0 1 auto;width:300%}.dhx_combobox-input-box{position:relative;flex:1;background-color:#f7f7f7;background-clip:padding-box;border-radius:2px;box-shadow:inset 0 0 0 1px #dfdfdf;transition:border-color .2s ease-out,box-shadow .2s ease-out}.dhx_combobox-input-box--readonly,.dhx_combobox-input-box--readonly *{cursor:pointer}.dhx_combobox-input-box--disabled{cursor:not-allowed;opacity:.8}.dhx_combobox-input-box--disabled *{cursor:not-allowed;pointer-events:none}.dhx_combobox-input-box--active,.dhx_combobox-input-box:focus-within{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_combobox-input-box--state_success{box-shadow:inset 0 0 0 1px #6cd0a5}.dhx_combobox-input-box--state_error{box-shadow:inset 0 0 0 1px #ff9797}.dhx_combobox-input{min-height:30px;display:block;width:100%;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.dhx_combobox-input:active,.dhx_combobox-input:focus{outline:none}.dhx_combobox-input__wrapper{position:static;padding-bottom:0}.dhx_combobox-input__icon{display:flex;align-items:center;cursor:pointer;flex:0;position:absolute;top:50%;right:4px;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:16px;z-index:1;color:rgba(0,0,0,.5)}.dhx_combobox-input-list-wrapper{height:100%;width:100%;overflow:hidden}.dhx_combobox-input-list{display:flex;flex-wrap:wrap;flex-flow:row wrap;list-style:none;margin:0;border-top:1px solid transparent;border-bottom:1px solid transparent;min-height:30px;max-height:96px;width:calc(100% - 32px);overflow-y:scroll;padding:0 41px 0 8px;box-sizing:content-box!important}.dhx_combobox-input-list__item{flex:0 1 auto}.dhx_combobox-input-list__item--input{position:relative;flex:1 0 auto}.dhx_combobox-tag{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;padding:0 8px;margin-top:2px;margin-bottom:2px;border:1px solid #e4e4e4;border-radius:16px;background-color:#fff;margin-right:8px}.dhx_combobox-tag__value{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap}.dhx_combobox-tag__icon,.dhx_combobox-tag__image{margin-right:4px}.dhx_combobox-tag__image{width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-tag__action{height:20px;margin-left:4px;margin-right:-6px;color:rgba(0,0,0,.5);padding:0;background-color:transparent;transition:color .2s ease-in}.dhx_combobox-tag__action:hover{color:rgba(0,0,0,.7);transition:color .2s ease-out}.dhx_combobox-options{background-color:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3)}.dhx_combobox-options__icon{padding-right:4px}.dhx_combobox-options__image{padding-right:4px;width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-options__item{display:flex;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;padding:6px 8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_combobox-options__item--select-all{color:#0288d1;line-height:20px;border-bottom:1px solid #e4e4e4}.dhx_colorpicker{font-family:Roboto,sans-serif;font-weight:500;overflow:hidden;padding:8px;border:1px solid #e4e4e4;background-color:#fff;border-radius:2px}.dhx_colorpicker,.dhx_colorpicker *{box-sizing:border-box}.dhx_popup .dhx_colorpicker{box-shadow:0 2px 5px rgba(0,0,0,.3);border:none}.dhx_palette{overflow:hidden;width:100%;height:100%;margin:0;white-space:nowrap}.dhx_palette--custom{display:flex;flex-wrap:wrap;max-width:236px}.dhx_palette--custom .dhx_custom-color__cell{margin-bottom:2px}.dhx_palette__col{display:inline-block}.dhx_palette__col:last-child .dhx_palette_cell{margin-right:0}.dhx_palette__row .dhx_palette__cell{display:inline-block;margin-bottom:6px}.dhx_palette__row .dhx_palette__cell:last-child{margin-right:0}.dhx_palette__row--last{margin-bottom:0}.dhx_palette__cell{position:relative;width:20px;height:20px;margin:0 2px 2px 0;vertical-align:top;border:2px solid transparent;transition:border .2s ease-in}.dhx_palette__cell:after{content:"";display:block;position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:1px solid transparent;transition:border .2s ease-in}.dhx_palette__cell:last-child{margin-bottom:0}.dhx_palette__cell--selected,.dhx_palette__cell:hover{border:2px solid hsla(0,0%,100%,.6);transition:border .2s ease-out}.dhx_palette__cell--selected:after,.dhx_palette__cell:hover:after{border:1px solid rgba(0,0,0,.6);transition:border .2s ease-out}.dhx_colorpicker-custom-colors{font-size:14px;color:#909cad}.dhx_colorpicker-custom-colors__header{font-size:14px;padding:9px 0 4px;letter-spacing:-.2px;position:relative}.dhx_colorpicker-custom-colors__picker{display:inline-block;width:20px;height:20px;cursor:pointer;color:#909cad;box-shadow:inset 0 0 0 1px #909cad}.dhx_colorpicker-picker__palette{position:relative;width:100%;border-radius:2px;overflow:hidden}.dhx_colorpicker-picker__palette:before{content:"";height:100%;width:100%;position:absolute;top:0;left:0;background-image:linear-gradient(0deg,#000,hsla(0,0%,100%,0));z-index:2}.dhx_colorpicker-picker__palette:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0;background-image:linear-gradient(90deg,#fff,hsla(20,42%,65%,0));z-index:1}.dhx_colorpicker-picker__buttons{display:flex;padding:12px 0 0;justify-content:flex-end}.dhx_colorpicker-picker__buttons .dhx_button:first-child{margin-right:4px}.dhx_colorpicker-hue-range{position:relative;width:100%;margin:4px 0 8px;border-radius:2px;background-image:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.dhx_colorpicker-hue-range__grip{width:6px;height:100%}.dhx_colorpicker-hue-range__grip,.dhx_palette_grip{position:absolute;top:0;left:0;border:1px solid #fff;background:transparent;box-shadow:0 2px 5px 0 rgba(0,0,0,.3)}.dhx_palette_grip{width:10px;height:10px;border-radius:50%;z-index:10}.dhx_colorpicker-value{display:flex;flex-direction:row;height:32px;justify-content:space-between}.dhx_colorpicker-value__color{width:100px;border:1px solid transparent;border-radius:2px;margin-right:8px}.dhx_colorpicker-value__input__wrapper{position:relative;border:1px solid #d4dde7}.dhx_colorpicker-value__input__wrapper:before{content:"#";position:absolute;height:100%;line-height:30px;left:8px;color:#909cad;font-size:15px}.dhx_colorpicker-value__input{width:100px;height:100%;padding:0 0 0 24px;line-height:20px;font-size:14px;color:rgba(0,0,0,.7);border:none;border-radius:2px;outline:none} \ No newline at end of file diff --git a/samples/dataview/common/form/form.min.js b/samples/dataview/common/form/form.min.js new file mode 100644 index 0000000..7ca8b7e --- /dev/null +++ b/samples/dataview/common/form/form.min.js @@ -0,0 +1,21 @@ +/* +@license + +undefined v.6.3.1 Professional + +This software is covered by DHTMLX Commercial License. +Usage without proper license is prohibited. + +(c) XB Software. + +*/ +if(window.dhx&&(window.dhx_legacy=dhx,delete window.dhx),function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.dhx=e():t.dhx=e()}(window,function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)i.d(n,o,function(e){return t[e]}.bind(null,o));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="/codebase/",i(i.s=54)}([function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(62);function o(t){var i=window.ResizeObserver,n=function(e){var i=e.el.offsetHeight,n=e.el.offsetWidth;t(n,i)};return i?e.el("div.dhx-resize-observer",{_hooks:{didInsert:function(t){new i(function(){return n(t)}).observe(t.el)}}}):e.el("iframe.dhx-resize-observer",{_hooks:{didInsert:function(t){t.el.contentWindow.onresize=function(){return n(t)},n(t)}}})}e.el=n.defineElement,e.sv=n.defineSvgElement,e.view=n.defineView,e.create=n.createView,e.inject=n.injectView,e.KEYED_LIST=n.KEYED_LIST,e.disableHelp=function(){n.DEVMODE.mutations=!1,n.DEVMODE.warnings=!1,n.DEVMODE.verbose=!1,n.DEVMODE.UNKEYED_INPUT=!1},e.resizer=o,e.resizeHandler=function(t,i){return e.create({render:function(){return o(i)}}).mount(t)},e.awaitRedraw=function(){return new t(function(t){requestAnimationFrame(function(){t()})})}}).call(this,i(9))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.events={},this.context=t||this}return t.prototype.on=function(t,e,i){var n=t.toLowerCase();this.events[n]=this.events[n]||[],this.events[n].push({callback:e,context:i||this.context})},t.prototype.detach=function(t,e){var i=t.toLowerCase(),n=this.events[i];if(e&&n&&n.length)for(var o=n.length-1;o>=0;o--)n[o].context===e&&n.splice(o,1);else this.events[i]=[]},t.prototype.fire=function(t,e){void 0===e&&(e=[]);var i=t.toLowerCase();return!this.events[i]||this.events[i].map(function(t){return t.callback.apply(t.context,e)}).indexOf(!1)<0},t.prototype.clear=function(){this.events={}},t}();e.EventSystem=n,e.EventsMixin=function(t){var e=new n(t=t||{});t.detachEvent=e.detach.bind(e),t.attachEvent=e.on.bind(e),t.callEvent=e.fire.bind(e)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(4),o=(new Date).valueOf();e.uid=function(){return"u"+o++},e.extend=function t(e,i,n){if(void 0===n&&(n=!0),i)for(var o in i){var r=i[o],s=e[o];!n||"object"!=typeof s||s instanceof Date||s instanceof Array?e[o]=r:t(s,r)}return e},e.copy=function(t,e){var i={};for(var n in t)e&&"$"===n[0]||(i[n]=t[n]);return i},e.naturalSort=function(t){return t.sort(function(t,e){return"string"==typeof t?t.localeCompare(e):t-e})},e.findIndex=function(t,e){for(var i=t.length,n=0;ne.length)return!1;for(var i=0;ie)return[];for(var i=[];t<=e;)i.push(t++);return i},e.isNumeric=function(t){return!isNaN(t-parseFloat(t))},e.downloadFile=function(t,e,i){void 0===i&&(i="text/plain");var n=new Blob([t],{type:i});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(n,e);else{var o=document.createElement("a"),r=URL.createObjectURL(n);o.href=r,o.download=e,document.body.appendChild(o),o.click(),setTimeout(function(){document.body.removeChild(o),window.URL.revokeObjectURL(r)},0)}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(2),o=i(4),r=function(){function t(t,e){this._uid=n.uid(),this.config=e||{}}return t.prototype.mount=function(t,e){e&&(this._view=e),t&&this._view&&this._view.mount&&(this._container=o.toNode(t),this._container.tagName?this._view.mount(this._container):this._container.attach&&this._container.attach(this))},t.prototype.unmount=function(){var t=this.getRootView();t&&t.node&&(t.unmount(),this._view=null)},t.prototype.getRootView=function(){return this._view},t.prototype.getRootNode=function(){return this._view&&this._view.node&&this._view.node.el},t.prototype.paint=function(){this._view&&(this._view.node||this._container)&&(this._doNotRepaint=!1,this._view.redraw())},t}();e.View=r,e.toViewLike=function(t){return{getRootView:function(){return t},paint:function(){return t.node&&t.redraw()},mount:function(e){return t.mount(e)}}}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i-1)return e[i[l]](n,o);r=r.parentNode}return!0}},e.locate=function(t,e){void 0===e&&(e="dhx_id");var i=o(t,e);return i?i.getAttribute(e):""},e.locateNode=o,e.getBox=function(t){var e=t.getBoundingClientRect(),i=document.body,n=window.pageYOffset||i.scrollTop,o=window.pageXOffset||i.scrollLeft;return{top:e.top+n,left:e.left+o,right:i.offsetWidth-e.right,bottom:i.offsetHeight-e.bottom,width:e.right-e.left,height:e.bottom-e.top}};var r,s=-1;function a(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,right:e.right+window.pageXOffset,top:e.top+window.pageYOffset,bottom:e.bottom+window.pageYOffset}}function l(t,e){var i=e.mode===r.bottom||e.mode===r.top?u(t,e):d(t,e),n=i.left,o=i.top;return{left:Math.round(n)+"px",top:Math.round(o)+"px",minWidth:Math.round(e.width)+"px",position:"absolute"}}function c(){return{rightBorder:window.pageXOffset+window.innerWidth,bottomBorder:window.pageYOffset+window.innerHeight}}function u(t,e){var i,o,s=c(),a=s.rightBorder,l=s.bottomBorder-t.bottom-e.height,u=t.top-e.height;if(e.mode===r.bottom?l>=0?o=t.bottom:u>=0&&(o=u):u>=0?o=u:l>=0&&(o=t.bottom),l<0&&u<0){if(e.auto)return d(t,n({},e,{mode:r.right,auto:!1}));o=l>u?t.bottom:u}if(e.centering)i=function(t,e,i){var n=(e-(t.right-t.left))/2,o=t.left-n,r=t.right+n;return o>=0&&r<=i?o:o<0?0:i-e}(t,e.width,a);else{var h=a-t.left-e.width,f=t.right-e.width;i=h>=0?t.left:f>=0?f:f>h?t.left:f}return{left:i,top:o}}function d(t,e){var i,o,s=c(),a=s.rightBorder,l=s.bottomBorder,d=a-t.right-e.width,h=t.left-e.width;if(e.mode===r.right?d>=0?i=t.right:h>=0&&(i=h):h>=0?i=h:d>=0&&(i=t.right),h<0&&d<0){if(e.auto)return u(t,n({},e,{mode:r.bottom,auto:!1}));i=h>d?h:t.right}if(e.centering)o=function(t,e,i){var n=(e-(t.bottom-t.top))/2,o=t.top-n,r=t.bottom+n;return o>=0&&r<=i?o:o<0?0:i-e}(t,e.height,a);else{var f=t.bottom-e.height,p=l-t.top-e.height;o=p>=0?t.top:f>0?f:f>p?f:t.top}return{left:i,top:o}}e.getScrollbarWidth=function(){if(s>-1)return s;var t=document.createElement("div");return document.body.appendChild(t),t.style.cssText="position: absolute;left: -99999px;overflow:scroll;width: 100px;height: 100px;",s=t.offsetWidth-t.clientWidth,document.body.removeChild(t),s},e.fitPosition=function(t,e){return l(a(t),e)},e.isIE=function(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1},e.getRealPosition=a,function(t){t.left="left",t.right="right",t.bottom="bottom",t.top="top"}(r=e.Position||(e.Position={})),e.calculatePosition=l},function(t,e,i){"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0});var o=i(6);e.getFormItemCss=function(t,e){var i,n=t.labelPosition,r=t.required,s=t.disabled,a=t.hiddenLabel,l=t.css,c=t.$validationStatus,u=(i={},i[o.ValidationStatus.pre]="",i[o.ValidationStatus.error]=" dhx_form-group--state_error",i[o.ValidationStatus.success]=" dhx_form-group--state_success",i)[c]||"",d="right"===n||"left"===n?" dhx_form-group--inline":"",h=s?" dhx_form-group--disabled":"",f=a?" dhx_form-group--label_sr":"";return e?l||""+d+u+(r?" dhx_form-group--required":"")+h+f:l||""+d+h+f};var r=((n={})[o.Validation.validAplhaNumeric]=/^[a-zA-Z0-9_]+$/,n[o.Validation.validEmail]=/^.+@.+\..+$/,n[o.Validation.validInteger]=/^\d+$/,n[o.Validation.validIPv4]=/\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}\b/,n[o.Validation.validNumeric]=/^\d+(\.\d+)?$/,n);e.getValidationMessage=function(t){var e;return(e={undefined:t.preMessage},e[o.ValidationStatus.pre]=t.preMessage,e[o.ValidationStatus.error]=t.errorMessage,e[o.ValidationStatus.success]=t.successMessage,e)[t.$validationStatus]||""},e.validateTemplate=function(t,e){return!r[t]||r[t].test(e)},e.isBlock=function(t){return Boolean(t.rows)||Boolean(t.cols)},e.validateInput=function(t,e){var i=!0;if("function"==typeof e)i=e(t);else{var n=r[e];n&&(i=n.test(t))}return i},e.isTimeFormat=function(t,e){return 12===e?/(^0?([1-9][0-2]?):[0-5][0-9]?([AP][M]?)$)/i.test(t):/(^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]$)/i.test(t)},e.isEmptyObj=function(t){for(var e in t)return!1;return!0}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.block="block",t.input="input",t.button="button",t.combo="combo",t.slider="slider",t.radioButton="radioButton",t.radioGroup="radioGroup",t.checkbox="checkbox",t.select="select",t.simpleVault="simpleVault",t.textarea="textarea",t.timepicker="timepicker",t.datepicker="datepicker",t.colorpicker="colorpicker",t.text="text"}(e.FormItemType||(e.FormItemType={})),function(t){t.change="change",t.buttonClick="buttonclick",t.validationFail="validationfail",t.beforeSend="beforesend",t.afterSend="aftersend"}(e.FormEvents||(e.FormEvents={})),function(t){t.change="change",t.configUpdate="configUpdate"}(e.BaseElementEvent||(e.BaseElementEvent={})),function(t){t.empty="",t.validEmail="email",t.validInteger="integer",t.validNumeric="numeric",t.validAplhaNumeric="alphanumeric",t.validIPv4="IPv4"}(e.Validation||(e.Validation={})),function(t){t[t.pre=0]="pre",t[t.error=1]="error",t[t.success=2]="success"}(e.ValidationStatus||(e.ValidationStatus={})),function(t){t.value="value",t.validation="validation"}(e.ClearMethod||(e.ClearMethod={}))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(67)),n(i(33))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(11)),n(i(43)),n(i(95)),n(i(96)),n(i(17)),n(i(12)),n(i(47)),n(i(46)),n(i(98)),n(i(45)),n(i(44))},function(t,e,i){(function(e,i){!function(){var n=1,o={},r=!1;function s(t){e.setImmediate?i(t):e.importScripts?setTimeout(t):(o[++n]=t,e.postMessage(n,"*"))}function a(t){"use strict";if("function"!=typeof t&&void 0!=t)throw TypeError();if("object"!=typeof this||this&&this.then)throw TypeError();var e,i,n=this,o=0,r=0,l=[];n.promise=n,n.resolve=function(t){return e=n.fn,i=n.er,o||(r=t,o=1,s(d)),n},n.reject=function(t){return e=n.fn,i=n.er,o||(r=t,o=2,s(d)),n},n._d=1,n.then=function(t,e){if(1!=this._d)throw TypeError();var i=new a;return i.fn=t,i.er=e,3==o?i.resolve(r):4==o?i.reject(r):l.push(i),i},n.catch=function(t){return n.then(null,t)};var c=function(t){o=t||4,l.map(function(t){3==o&&t.resolve(r)||t.reject(r)})};try{"function"==typeof t&&t(n.resolve,n.reject)}catch(t){n.reject(t)}return n;function u(t,e,i,n){if(2==o)return n();if("object"!=typeof r&&"function"!=typeof r||"function"!=typeof t)n();else try{var s=0;t.call(r,function(t){s++||(r=t,e())},function(t){s++||(r=t,i())})}catch(t){r=t,i()}}function d(){var t;try{t=r&&r.then}catch(t){return r=t,o=2,d()}u(t,function(){o=1,d()},function(){o=2,d()},function(){try{1==o&&"function"==typeof e?r=e(r):2==o&&"function"==typeof i&&(r=i(r),o=1)}catch(t){return r=t,c()}r==n?(r=TypeError(),c()):u(t,function(){c(3)},c,function(){c(1==o&&3)})})}}(e=this).setImmediate||e.addEventListener("message",function(t){if(t.source==e)if(r)s(o[t.data]);else{r=!0;try{o[t.data]()}catch(t){}delete o[t.data],r=!1}}),a.resolve=function(t){if(1!=this._d)throw TypeError();return t instanceof a?t:new a(function(e){e(t)})},a.reject=function(t){if(1!=this._d)throw TypeError();return new a(function(e,i){i(t)})},a.all=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());var e=new a;return function i(n,o){return o?e.resolve(o):n?e.reject(n):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(e,n){e&&e.then&&e.then(function(e){return t[n]=e,i(),e},i)}))}(),e},a.race=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());if(0==t.length)return new a;var e=new a;return function i(n,o){return o?e.resolve(o):n?e.reject(n):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(t,e){t&&t.then&&t.then(function(t){i(null,t)},i)}))}(),e},a._d=1,t.exports=a}()}).call(this,i(19),i(56).setImmediate)},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i99?" dhx_navbar-count--overlimit":"")},i&&parseInt(t.count,10)>99?"99+":t.count)},e.getIcon=function(t,e){return void 0===t&&(t=""),"dxi"===t.slice(0,3)&&(t="dxi "+t),n.el("span",{class:"dhx_"+e+"__icon "+t})},e.navbarComponentMixin=function(t,e,i,s){var a=r(t,e,i),l="ribbon"===t&&(e.type===o.ItemType.navItem||e.type===o.ItemType.imageButton);return n.el("li",{_key:e.id,class:a+(e.icon&&!e.value&&l?" dhx_ribbon__item--icon":"")+(e.src&&!e.value&&l?" dhx_ribbon__item--icon":"")+(e.size&&l?" dhx_ribbon__item--"+e.size:""),".innerHTML":e.type===o.ItemType.customHTML?e.html:void 0,dhx_id:e.type===o.ItemType.customHTML?e.id:void 0},e.type!==o.ItemType.customHTML?[s]:void 0)},e.getNavbarButtonCSS=function(t,e){var i=t.color,n=t.size,o=t.view,r=t.full,s=t.icon,a=t.circle,l=t.loading,c=t.value,u=t.active;return({danger:" dhx_button--color_danger",secondary:" dhx_button--color_secondary",primary:" dhx_button--color_primary",success:" dhx_button--color_success"}[i]||" dhx_button--color_primary")+({small:" dhx_button--size_small",medium:" dhx_button--size_medium"}[n]||" dhx_button--size_medium")+({flat:" dhx_button--view_flat",link:" dhx_button--view_link"}[o]||" dhx_button--view_flat")+(r?" dhx_button--width_full":"")+(a?" dhx_button--circle":"")+(l?" dhx_button--loading":"")+(u?" dhx_button--active":"")+(s&&!c?" dhx_button--icon":"")};var r=function(t,e,i){var n="",r="";return r=(n=i?"dhx_menu-item":"dhx_"+t+"__item")+(e.css?" "+e.css:""),e.type!==o.ItemType.spacer&&e.type!==o.ItemType.separator||(r+=" "+n+"--"+e.type),"button"!==e.type||"sidebar"!==t||e.icon||(r+=" dhx_navbar-item--colapse_hidden"),r}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeShow="beforeShow",t.afterShow="afterShow",t.beforeHide="beforeHide",t.afterHide="afterHide",t.beforeResizeStart="beforeResizeStart",t.resize="resize",t.afterResizeEnd="afterResizeEnd",t.beforeAdd="beforeAdd",t.afterAdd="afterAdd",t.beforeRemove="beforeRemove",t.afterRemove="afterRemove",t.beforeCollapse="beforeCollapse",t.afterCollapse="afterCollapse",t.beforeExpand="beforeExpand",t.afterExpand="afterExpand"}(e.LayoutEvents||(e.LayoutEvents={})),function(t){t[t.unknown=0]="unknown",t[t.percents=1]="percents",t[t.pixels=2]="pixels",t[t.mixedpx1=3]="mixedpx1",t[t.mixedpx2=4]="mixedpx2",t[t.mixedperc1=5]="mixedperc1",t[t.mixedperc2=6]="mixedperc2"}(e.resizeMode||(e.resizeMode={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(44),o=function(){function t(t){this.url=t}return t.prototype.load=function(){return n.ajax.get(this.url)},t.prototype.save=function(t,e){switch(e){case"delete":return n.ajax.delete(this.url,t);case"update":case"insert":default:return n.ajax.post(this.url,t)}},t}();e.DataProxy=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});i(8);!function(t){t.queue="queue",t.uploaded="uploaded",t.failed="failed",t.inprogress="inprogress"}(e.FileStatus||(e.FileStatus={})),function(t){t.uploadBegin="uploadbegin",t.beforeUploadFile="beforeuploadfile",t.uploadFile="uploadfile",t.uploadFail="uploadfail",t.uploadComplete="uploadcomplete",t.uploadProgress="uploadprogress"}(e.UploaderEvents||(e.UploaderEvents={})),function(t){t.cancel="cancel"}(e.ProgressBarEvents||(e.ProgressBarEvents={})),function(t){t.grid="grid",t.list="list"}(e.VaultMode||(e.VaultMode={}))},function(t,e){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(65)),n(i(35))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(4);function o(t){for(var e=t.toLowerCase().match(/\w+/g),i=0,n="",o=0;o=48&&e.which<=57||e.which>=65&&e.which<=90?String.fromCharCode(e.which):32!==e.which||n.isIE()?e.key:e.code)&&i.toLowerCase()),r=t._keysStorage[o];if(r)for(var s=0;s=0;s--)i[n].splice(r[s],1)}},t.prototype.exist=function(t){var e=o(t);return!!this._keysStorage[e]},t}();e.keyManager=new r,e.addHotkeys=function(t,i){var n=new Date,o=function(t){return function(e){i&&!1===i()||t(e)}};for(var r in t)e.keyManager.addHotKey(r,o(t[r]),n);return function(){return e.keyManager.removeHotKey(void 0,n)}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,o=i(36),r=i(2),s={"%d":function(t){var e=t.getDate();return e<10?"0"+e:e},"%j":function(t){return t.getDate()},"%l":function(t){return o.default.days[t.getDay()]},"%D":function(t){return o.default.daysShort[t.getDay()]},"%m":function(t){var e=t.getMonth()+1;return e<10?"0"+e:e},"%n":function(t){return t.getMonth()+1},"%M":function(t){return o.default.monthsShort[t.getMonth()]},"%F":function(t){return o.default.months[t.getMonth()]},"%y":function(t){return t.getFullYear().toString().slice(2)},"%Y":function(t){return t.getFullYear()},"%h":function(t){var e=t.getHours()%12;return 0===e&&(e=12),e<10?"0"+e:e},"%g":function(t){var e=t.getHours()%12;return 0===e&&(e=12),e},"%H":function(t){var e=t.getHours();return e<10?"0"+e:e},"%G":function(t){return t.getHours()},"%i":function(t){var e=t.getMinutes();return e<10?"0"+e:e},"%s":function(t){var e=t.getSeconds();return e<10?"0"+e:e},"%a":function(t){return t.getHours()>=12?"pm":"am"},"%A":function(t){return t.getHours()>=12?"PM":"AM"},"%u":function(t){return t.getMilliseconds()}},a={"%d":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setDate(Number(e)):t.setDate(Number(1))},"%j":function(t,e){/(^([0-9]?[0-9])$)/i.test(e)?t.setDate(Number(e)):t.setDate(Number(1))},"%m":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setMonth(Number(e)-1):t.setMonth(Number(0))},"%n":function(t,e){/(^([0-9]?[0-9])$)/i.test(e)?t.setMonth(Number(e)-1):t.setMonth(Number(0))},"%M":function(t,e){var i=r.findIndex(o.default.monthsShort,function(t){return t===e});-1===i?t.setMonth(0):t.setMonth(i)},"%F":function(t,e){var i=r.findIndex(o.default.months,function(t){return t===e});-1===i?t.setMonth(0):t.setMonth(i)},"%y":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setFullYear(Number("20"+e)):t.setFullYear(Number("2000"))},"%Y":function(t,e){/(^([0-9][0-9][0-9][0-9])$)/i.test(e)?t.setFullYear(Number(e)):t.setFullYear(Number("2000"))},"%h":function(t,e,i){/(^0[1-9]|1[0-2]$)/i.test(e)&&"pm"===i||"PM"===i?t.setHours(Number(e)):t.setHours(Number(0))},"%g":function(t,e,i){/(^[1-9]$)|(^0[1-9]|1[0-2]$)/i.test(e)&&"pm"===i||"PM"===i?t.setHours(Number(e)):t.setHours(Number(0))},"%H":function(t,e){/(^[0-9][0-3]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%G":function(t,e){/(^([0-9]$)|[0-9][0-3]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%i":function(t,e){/(^([0-5][0-9])$)/i.test(e)?t.setMinutes(Number(e)):t.setMinutes(Number(0))},"%s":function(t,e){/(^([0-5][0-9])$)/i.test(e)?t.setSeconds(Number(e)):t.setSeconds(Number(0))},"%a":function(t,e){"pm"===e&&t.setHours(t.getHours()+12)},"%A":function(t,e){"PM"===e&&t.setHours(t.getHours()+12)}};function l(t){for(var e=[],i="",o=0;o0&&(e.push({type:n.separator,value:i}),i=""),e.push({type:n.datePart,value:t[o]+t[o+1]}),o++):i+=t[o];return i.length>0&&e.push({type:n.separator,value:i}),e}e.getFormatedDate=function(t,e){return l(t).reduce(function(t,i){return i.type===n.separator?t+i.value:s[i.value]?t+s[i.value](e):t},"")},function(t){t[t.separator=0]="separator",t[t.datePart=1]="datePart"}(n||(n={})),e.stringToDate=function(t,e,i){if("string"==typeof t){for(var o,r=[],s=0,c=null,u=0,d=l(e);u1&&(e-=1)}return{h:Math.floor(360*e),s:i,v:s}}Object.defineProperty(e,"__esModule",{value:!0}),e.HSVtoRGB=function(t){var e={r:0,g:0,b:0},i=t.h/60,n=t.s,o=t.v,r=Math.floor(i)%6,s=i-Math.floor(i),a=255*o*(1-n),l=255*o*(1-n*s),c=255*o*(1-n*(1-s));switch(o*=255,r){case 0:e.r=o,e.g=c,e.b=a;break;case 1:e.r=l,e.g=o,e.b=a;break;case 2:e.r=a,e.g=o,e.b=c;break;case 3:e.r=a,e.g=l,e.b=o;break;case 4:e.r=c,e.g=a,e.b=o;break;case 5:e.r=o,e.g=a,e.b=l}for(var u in e)e[u]=Math.round(e[u]);return e},e.RGBToHex=function(t){return Object.keys(t).reduce(function(e,i){var n=t[i].toString(16).toUpperCase();return e+(n=1===n.length?"0"+n:n)},"#")},e.HexToRGB=n,e.RGBToHSV=o,e.HexToHSV=function(t){return o(n(t))},e.isHex=function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={cancel:"Cancel",select:"Select",rightClickToDelete:"Right click to delete",customColors:"Custom colors",addNewColor:"Add new color"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.left="left",t.right="right",t.top="top",t.bottom="bottom",t.center="center"}(e.RealPosition||(e.RealPosition={})),function(t){t.right="right",t.bottom="bottom",t.center="center"}(e.Position||(e.Position={})),function(t){t.topLeft="top-left",t.topRight="top-right",t.bottomLeft="bottom-left",t.bottomRight="bottom-right"}(e.MessageContainerPosition||(e.MessageContainerPosition={}))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(74)),n(i(75)),n(i(76)),n(i(40)),n(i(25))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(2),s=i(5),a=i(10),l=i(1),c=i(6),u=500,d=function(t){function e(e,i){void 0===i&&(i={});var n=t.call(this,null,i)||this;return n.events=new l.EventSystem,n._debounceTime=u,n._initView(i),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.isDisabled=function(){return this.config.disabled},e.prototype.validate=function(){var t=!this.config.required||this.config.value,e=!this.config.validation||s.validateInput(this.config.value,this.config.validation);return this.config.$validationStatus=t&&e?c.ValidationStatus.success:c.ValidationStatus.error,this.paint(),t&&e},e.prototype.clearValidate=function(){this.config.$validationStatus=c.ValidationStatus.pre,this.paint()},e.prototype.clear=function(){this.config.value="",this.paint()},e.prototype.setValue=function(t){this.events.fire(c.BaseElementEvent.change,[t]),this.config.value=t,this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!s.isEmptyObj(t)){for(var i in this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1,value:""},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.events.on(c.BaseElementEvent.change,function(t){e.config.value=t||""}),this.events.fire(c.BaseElementEvent.configUpdate,[this.config]),this.paint()}},e.prototype._init=function(){var t=this.config,e=t.validation,i=t.value;if(e&&i){var n=s.validateInput(i,e);this.config.$validationStatus=n?c.ValidationStatus.success:c.ValidationStatus.error}},e.prototype._getHandlers=function(){var t=this;return{oninput:function(e){var i=e.target.value.trim();t.config.value=i,t._debounceTimer&&clearTimeout(t._debounceTimer);var n=Date.now(),o=t._last?n-t._last:t._debounceTime;t._last=n,t._debounceTime=(o+t._debounceTime)/2+300,t._debounceTimer=setTimeout(function(){t._validate(i)},t._debounceTime)},onblur:function(){t._validate(t.config.value,!0)}}},e.prototype._draw=function(){var t=this.config,e=t.id,i=t.value,n=t.disabled,a=t.name,l=t.icon,c=t.placeholder,u=t.required,d=t.inputType,h=t.validation,f=t.hidden,p=t.autocomplete,_=t.readOnly,v=t.maxlength,g=f?" dhx_form-group--hidden":"";return o.el("div.dhx_form-group",{class:s.getFormItemCss(this.config,Boolean(u)||Boolean(h))+g},[this._drawLabel(),o.el(".dhx_input__wrapper",{},[o.el("div.dhx_input__container",{},[this.config.icon?o.el(".dhx_input__icon",{class:this.config.icon}):null,o.el("input.dhx_input",{type:d,id:e||this._uid,placeholder:c||"",value:r.isDefined(i)?i:"",name:a||"",disabled:n,required:u,readOnly:_,maxlength:v,onblur:this._handlers.onblur,oninput:this._handlers.oninput,class:l?"dhx_input--icon-padding":"",autocomplete:p?"on":"off"})]),s.getValidationMessage(this.config)&&o.el("span.dhx_input__caption",s.getValidationMessage(this.config))])])},e.prototype._validate=function(t,e){if(e&&this._debounceTimer&&clearTimeout(this._debounceTimer),this._last=null,this._debounceTimer=null,this._debounceTime=u,this.config.validation){if(!s.validateInput(t,this.config.validation))return this.config.$validationStatus=c.ValidationStatus.error,void this.paint();this.config.$validationStatus=c.ValidationStatus.success,this.paint()}else this.config.required&&(""===t?(this.config.$validationStatus=c.ValidationStatus.error,this.paint()):(this.config.$validationStatus=c.ValidationStatus.success,this.paint()));this.events.fire(c.BaseElementEvent.change,[t])},e}(a.Label);e.Input=d},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeUnSelect="beforeunselect",t.afterUnSelect="afterunselect",t.beforeSelect="beforeselect",t.afterSelect="afterselect"}(e.SelectionEvents||(e.SelectionEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.click="click",t.doubleClick="doubleclick",t.focusChange="focuschange",t.beforeEditStart="beforeEditStart",t.afterEditStart="afterEditStart",t.beforeEditEnd="beforeEditEnd",t.afterEditEnd="afterEditEnd",t.itemRightClick="itemRightClick",t.itemMouseOver="itemMouseOver",t.contextmenu="contextmenu"}(e.ListEvents||(e.ListEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={dragAndDrop:"Drag & drop",or:"or",browse:"Browse files",filesOrFoldersHere:"files or folders here",cancel:"Cancel",clearAll:"Clear all",clear:"Clear",add:"Add",upload:"Upload",download:"Download",error:"error",byte:"B",kilobyte:"KB",megabyte:"MB",gigabyte:"GB"}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(64)),n(i(37)),n(i(22))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(66)),n(i(34))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeHide="beforeHide",t.beforeShow="beforeShow",t.afterHide="afterHide",t.afterShow="afterShow",t.click="click"}(e.PopupEvents||(e.PopupEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.vertical="vertical",t.horizontal="horizontal"}(e.Direction||(e.Direction={})),function(t){t.change="change",t.mousedown="mousedown",t.mouseup="mouseup"}(e.SliderEvents||(e.SliderEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.apply="apply",t.beforeClose="beforeClose",t.afterClose="afterClose",t.close="close",t.save="save"}(e.TimepickerEvents||(e.TimepickerEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Monday"],cancel:"Cancel"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.calendar="calendar",t.years="year",t.months="month",t.timepicker="timepicker"}(e.ViewMode||(e.ViewMode={})),function(t){t.change="change",t.beforeChange="beforechange",t.modeChange="modeChange",t.monthSelected="monthSelected",t.yearSelected="yearSelected",t.cancelClick="cancelClick",t.dateMouseOver="dateMouseOver",t.dateHover="dateHover"}(e.CalendarEvents||(e.CalendarEvents={}))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(72)),n(i(39)),n(i(23));var o=i(24);e.locale=o.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.apply="apply",t.cancelClick="cancelClick",t.modeChange="modeChange",t.selectClick="selectClick",t.colorChange="colorChange",t.viewChange="viewChange"}(e.ColorpickerEvents||(e.ColorpickerEvents={})),function(t){t.palette="palette",t.picker="picker"}(e.ViewsMode||(e.ViewsMode={}))},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;iwindow.innerWidth+window.pageXOffset&&(s=window.pageXOffset+t.left-i,o=r.RealPosition.left),{left:s,top:a=window.pageYOffset+t.top+(t.height-n)/2,pos:o};case r.Position.bottom:default:return(s=window.pageXOffset+t.left+(t.width-i)/2)+i>window.innerWidth+window.pageXOffset?s=window.innerWidth+window.pageXOffset-i:s<0&&(s=0),o=r.RealPosition.bottom,(a=window.pageYOffset+t.bottom)+n+8>window.innerHeight+window.pageYOffset&&(a=window.pageYOffset+t.top-n,o=r.RealPosition.top),{left:s,top:a,pos:o}}}e.findPosition=l;var c=document.createElement("div"),u=document.createElement("span");u.className="dhx_tooltip__text",c.appendChild(u),c.style.position="absolute";var d,h=null,f=!1,p=null,_=null;function v(t,e,i,n,o){void 0===o&&(o=!1);var s=t.getBoundingClientRect();u.textContent=e,document.body.appendChild(c),c.className="dhx_widget dhx_tooltip"+(o?" dhx_tooltip--forced":"");var a=c.getBoundingClientRect(),d=l(s,i,a.width,a.height),h=d.left,p=d.top,_=d.pos;switch(_){case r.RealPosition.bottom:case r.RealPosition.top:case r.RealPosition.left:case r.RealPosition.right:case r.RealPosition.center:c.style.left=h+"px",c.style.top=p+"px"}c.className+=" dhx_tooltip--"+_+" "+(n||""),f=!0,o||setTimeout(function(){c.className+=" dhx_tooltip--animate"})}function g(t,e,i){var n=i.force,o=i.showDelay,l=i.hideDelay,u=i.position,g=i.css;n||(_=setTimeout(function(){v(t,e,u||r.Position.bottom,g)},o||s));var m=function(){f&&function(t){h&&(p=setTimeout(function(){document.body.removeChild(c),f=!1,p=null},t||a))}(l),clearTimeout(_),t.removeEventListener("mouseleave",m),t.removeEventListener("blur",m),document.removeEventListener("mousedown",m),h=null,d=null};n&&v(t,e,u,g,n),t.addEventListener("mouseleave",m),t.addEventListener("blur",m),document.addEventListener("mousedown",m),d=m}function m(t,e){var i=o.toNode(e.node);i!==h&&(d&&(d(),d=null),h=i,p?(clearTimeout(p),p=null,g(i,t,n({},e,{force:!0}))):g(i,t,e))}function y(t){var e=o.locateNode(t,"dhx_tooltip_text");e&&m(e.getAttribute("dhx_tooltip_text"),{position:e.getAttribute("dhx_tooltip_position")||r.Position.bottom,node:e})}e.tooltip=m,e.enableTooltip=function(){document.addEventListener("mousemove",y)},e.disableTooltip=function(){document.removeEventListener("mousemove",y)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={apply:"apply",reject:"reject"}},function(t,e,i){"use strict";function n(t){var e=document.activeElement;e.classList.contains("dhx_alert__confirm-reject")||e.classList.contains("dhx_alert__confirm-aply")||t.preventDefault()}Object.defineProperty(e,"__esModule",{value:!0}),e.blockScreen=function(t){var e=document.createElement("div");return e.className="dhx_alert__overlay "+(t||""),document.body.appendChild(e),document.addEventListener("keydown",n),function(){document.body.removeChild(e),document.removeEventListener("keydown",n)}}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0?e:-1},t.prototype.getId=function(t){if(this._order[t])return this._order[t].id},t.prototype.getLength=function(){return this._order.length},t.prototype.filter=function(t,e){if((e=u.extend({add:!1,multiple:!0},e)).add||(this._order=this._initOrder||this._order,this._initOrder=null),this._filters=this._filters||{},e.multiple&&t||(this._filters={}),t){if("function"==typeof t){this._filters._={match:"_",compare:t}}else t.match?(t.compare=t.compare||function(t,e){return t===e},this._filters[t.by]=t):delete this._filters[t.by];this._applyFilters()}this.events.fire(c.DataEvents.change)},t.prototype.find=function(t){for(var e in this._pull){var i=l.findByConf(this._pull[e],t);if(i)return i}return null},t.prototype.findAll=function(t){var e=[];for(var i in this._pull){var n=l.findByConf(this._pull[i],t);n&&e.push(n)}return e},t.prototype.sort=function(t){if(t)this._sort.sort(this._order,t),this._initOrder&&this._initOrder.length&&this._sort.sort(this._initOrder,t);else{for(var e in this._order=[],this._pull)this._order.push(this._pull[e]);this._applyFilters()}this.events.fire(c.DataEvents.change)},t.prototype.copy=function(e,i,o,r){var s=this;if(e instanceof Array)return e.map(function(e,a){if(!s.exists(e))return null;var c=u.uid(),d=-1===i?-1:i+a;return o?o instanceof t||!r?o.exists(e)?(o.add(n({},l.copyWithoutInner(s.getItem(e)),{id:c}),d),c):(o.add(l.copyWithoutInner(s.getItem(e)),d),e):void o.add(l.copyWithoutInner(s.getItem(e)),d):(s.add(n({},l.copyWithoutInner(s.getItem(e)),{id:c}),d),c)});if(!this.exists(e))return null;var a=u.uid();return o?o instanceof t||!r?o.exists(e)?(o.add(n({},l.copyWithoutInner(this.getItem(e)),{id:a}),i),a):(o.add(l.copyWithoutInner(this.getItem(e)),i),e):void o.add(l.copyWithoutInner(this.getItem(e)),i):(this.add(n({},l.copyWithoutInner(this.getItem(e)),{id:a}),i),a)},t.prototype.move=function(t,e,i,n){var o=this;if(t instanceof Array)return t.map(function(t,r){var s=-1===e?-1:e+r;if(i&&i!==o&&o.exists(t)){var a=u.copy(o.getItem(t),!0);return i.exists(t)&&(a.id=u.uid()),n&&(a.parent=n),i.add(a,s),o.remove(t),a.id}if(o.getIndex(t)===s)return null;var l=o._order.splice(o.getIndex(t),1)[0];return-1===e&&(e=o._order.length),o._order.splice(s,0,l),o.events.fire(c.DataEvents.change),t});if(i&&i!==this&&this.exists(t)){var r=u.copy(this.getItem(t),!0);return i.exists(t)&&(r.id=u.uid()),n&&(r.parent=n),i.add(r,e),this.remove(t),r.id}if(this.getIndex(t)===e)return null;var s=this._order.splice(this.getIndex(t),1)[0];return-1===e&&(e=this._order.length),this._order.splice(e,0,s),this.events.fire(c.DataEvents.change),t},t.prototype.load=function(t,e){return"string"==typeof t&&(t=new a.DataProxy(t)),this._loader.load(t,e)},t.prototype.parse=function(t,e){return this._removeAll(),this._loader.parse(t,e)},t.prototype.$parse=function(t){var e=this.config.approximate;e&&(t=this._approximate(t,e.value,e.maxNum)),this._parse_data(t),this.events.fire(c.DataEvents.change,["load"]),this.events.fire(c.DataEvents.load)},t.prototype.save=function(t){this._loader.save(t)},t.prototype.isSaved=function(){return!this._changes.order.length},t.prototype.map=function(t){for(var e=[],i=0;ithis._order.length-1&&(e=this._order.length-1);for(var n=[],o=t;o<=e;o++)n.push(i.call(this,this._order[o],o));return n},t.prototype.reduce=function(t,e){for(var i=0;i=0&&(this._order=this._order.filter(function(e){return e.id!==t}),delete this._pull[t]),this._initOrder&&this._initOrder.length&&(this._initOrder=this._initOrder.filter(function(e){return e.id!==t}))},t.prototype._parse_data=function(t){var e=this._order.length;this.config.prep&&(t=this.config.prep(t));for(var i=0,n=t;i=0&&t[i]?(this._pull[e.id]=e,t.splice(i,0,e)):(this._pull[e.id]=e,t.push(e))},t.prototype._applyFilters=function(){var t=this;if(this._filters&&Object.keys(this._filters).length){var e=this._order.filter(function(e){return Object.keys(t._filters).every(function(i){return e[i]?t._filters[i].compare(e[i],t._filters[i].match,e):t._filters[i].compare(e)})});this._initOrder||(this._initOrder=this._order),this._order=e}},t}();e.DataCollection=d},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(11),o=i(12);function r(t){return t?t.indexOf("json")>=0?"json":t.indexOf("xml")>=0?"xml":"text":"text"}function s(e,i,s,a,l){var c=a||{};if(l&&(c.Accept="application/"+l),"GET"!==s&&(c["Content-Type"]=c["Content-Type"]||"application/json"),"GET"===s){var u=i&&"object"==typeof i?function(t){return Object.keys(t).reduce(function(e,i){var n="object"==typeof t[i]?JSON.stringify(t[i]):t[i];return e.push(i+"="+encodeURIComponent(n)),e},[]).join("&")}(i):i&&"string"==typeof i?i:"";u&&(e+=-1===e.indexOf("?")?"?":"&",e+=u),i=null}return window.fetch?window.fetch(e,{method:s,body:i?JSON.stringify(i):null,headers:c}).then(function(e){if(!e.ok)return e.text().then(function(i){return t.reject({status:e.status,statusText:e.statusText,message:i})});var i=l||r(e.headers.get("Content-Type"));if("raw"===i)return{headers:Object.fromEntries(e.headers.entries()),url:e.url,body:e.body};if(204!==e.status)switch(i){case"json":return e.json();case"xml":var s=o.toDataDriver(n.DataDriver.xml);return s?e.text().then(s.toJsonObject):e.text();default:return e.text()}}):new t(function(t,a){var u=new XMLHttpRequest;for(var d in u.onload=function(){u.status>=200&&u.status<300?("raw"===l&&t({url:u.responseURL,headers:u.getAllResponseHeaders().trim().split(/[\r\n]+/).reduce(function(t,e){var i=e.split(": ");return t[i[0]]=i[1],t},{}),body:u.response}),204===u.status?t():t(function(t,e){switch(e){case"json":return JSON.parse(t);case"text":return t;case"xml":var i=o.toDataDriver(n.DataDriver.xml);return i?i.toJsonObject(t):{parseError:"Incorrect data driver type: 'xml'"};default:return t}}(u.responseText,l||r(u.getResponseHeader("Content-Type"))))):a({status:u.status,statusText:u.statusText})},u.onerror=function(){a({status:u.status,statusText:u.statusText,message:u.responseText})},u.open(s,e),c)u.setRequestHeader(d,c[d]);switch(s){case"POST":case"DELETE":case"PUT":u.send(void 0!==i?JSON.stringify(i):"");break;case"GET":default:u.send()}})}e.ajax={get:function(t,e,i){return s(t,e,"GET",i&&i.headers,void 0!==i?i.responseType:void 0)},post:function(t,e,i){return s(t,e,"POST",i&&i.headers,void 0!==i?i.responseType:void 0)},put:function(t,e,i){return s(t,e,"PUT",i&&i.headers,void 0!==i?i.responseType:void 0)},delete:function(t,e,i){return s(t,e,"DELETE",i&&i.headers,void 0!==i?i.responseType:void 0)}}}).call(this,i(9))},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i-1:this._selected.length>0},t.prototype.remove=function(t){var e=this;if(t)return!t&&!this._selected.length||(t?this._unselectItem(t):(this._selected.forEach(function(t){return e._unselectItem(t)}),!0));this._data.map(function(t){t.$selected=!1,e._selected=[]})},t.prototype.add=function(t,e,i){var o=this;if(this.events.fire(n.SelectionEvents.beforeSelect))return t?void(this.config.multiselection?this._addMulti(t,e,i):this._addSingle(t,e)):(this._selected=[],void this._data.map(function(t){t.$selected=!0,o._selected.push(t.id)}))},t.prototype._addMulti=function(t,e,i){var o=this,r=this._data.getIndex(t);"click"===this.config.multiselectionMode&&(i?(this._addWithShift(r),this.events.fire(n.SelectionEvents.afterSelect,[t])):(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[])),"ctrlClick"===this.config.multiselectionMode&&(i||e||(this._data.map(function(t){t.$selected=!1,o._selected=[]}),this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]),i&&(this._addWithShift(r),this.events.fire(n.SelectionEvents.afterSelect,[t])),e&&(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]))},t.prototype._addWithShift=function(t){var e=this;t>=this._lastSelectedIndex&&(this._data.map(function(t,i){-1!==e._lastShiftSelectedIndexes.indexOf(i)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(i)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==i&&t!==e._lastSelectedIndex}))}),this._data.map(function(i,n){n>=e._lastSelectedIndex&&n<=t&&(i.$selected=!0,-1===e._selected.indexOf(i.id)&&e._selected.push(i.id),n!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(n)&&e._lastShiftSelectedIndexes.push(n))})),t<=this._lastSelectedIndex&&(this._data.map(function(t,i){-1!==e._lastShiftSelectedIndexes.indexOf(i)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(i)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==i&&t!==e._lastSelectedIndex}))}),this._data.map(function(i,n){n<=e._lastSelectedIndex&&n>=t&&(i.$selected=!0,-1===e._selected.indexOf(i.id)&&e._selected.push(i.id),n!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(n)&&e._lastShiftSelectedIndexes.push(n))}))},t.prototype._addSingle=function(t,e){this.remove(),this.config&&"click"===this.config.multiselectionMode?this._selectItem(t):e&&this._selectItem(t)},t.prototype._isSelected=function(t){return-1!==this._selected.indexOf(t)},t.prototype._selectItem=function(t){this._selected.push(t),this._data.update(t,{$selected:!0}),this._lastSelectedIndex=this._data.getIndex(t),this.events.fire(n.SelectionEvents.afterSelect,[t])},t.prototype._unselectItem=function(t){return!!this.events.fire(n.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=this._selected.filter(function(e){return e!==t}),this.events.fire(n.SelectionEvents.afterUnSelect,[t]),!0)},t}();e.Selection=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={notFound:"Not Found",selectAll:"Select All",unselectAll:"Unselect All",selectedItems:"selected items"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.open="open",t.input="input",t.beforeClose="beforeClose",t.afterClose="afterClose",t.close="close"}(e.ComboboxEvents||(e.ComboboxEvents={})),function(t){t[t.default=0]="default",t[t.error=1]="error",t[t.success=2]="success"}(e.ComboState||(e.ComboState={}))},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(2),o=i(4),r=i(8),s=i(18),a=function(){function e(t,e,i){void 0===t&&(t={}),this.config=n.extend({autosend:!0,updateFromResponse:!0,fieldName:"file"},t),this.data=e||new r.DataCollection,this.events=i||this.data.events,this.isActive=!1,this._fileInput=document.createElement("input"),this._fileInput.type="file",this._fileInput.multiple=!0,this._initEvents(),this._dropAreas=new Map}return e.prototype.selectFile=function(){this._fileInput.click()},e.prototype.linkDropArea=function(t){var e=this,i=o.toNode(t),n=function(t){return t.preventDefault()},r=function(t){t.preventDefault(),e.parseFiles(t.dataTransfer)};i.addEventListener("dragover",n),i.addEventListener("drop",r),this._dropAreas.set(i,{dragover:n,drop:r})},e.prototype.unlinkDropArea=function(t){var e=this;if(t){var i=o.toNode(t);this._unlinkDropArea(i),this._dropAreas.delete(i)}else this._dropAreas.forEach(function(t,i){e._unlinkDropArea(i)}),this._dropAreas.clear()},e.prototype.parseFiles=function(t){if(t.items&&t.items[0]&&t.items[0].webkitGetAsEntry)this._parseAsWebkitEntry(t.items);else{for(var e=t.files,i=0;i1?"[]":"",a=0,l=t;a=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},i(57),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,i(19))},function(t,e,i){(function(t,e){!function(t,i){"use strict";if(!t.setImmediate){var n,o=1,r={},s=!1,a=t.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(t);l=l&&l.setTimeout?l:t,"[object process]"==={}.toString.call(t.process)?n=function(t){e.nextTick(function(){u(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,i=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=i,e}}()?function(){var e="setImmediate$"+Math.random()+"$",i=function(i){i.source===t&&"string"==typeof i.data&&0===i.data.indexOf(e)&&u(+i.data.slice(e.length))};t.addEventListener?t.addEventListener("message",i,!1):t.attachEvent("onmessage",i),n=function(i){t.postMessage(e+i,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){u(t.data)},n=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;n=function(e){var i=a.createElement("script");i.onreadystatechange=function(){u(e),i.onreadystatechange=null,t.removeChild(i),i=null},t.appendChild(i)}}():n=function(t){setTimeout(u,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),i=0;i1)for(var i=1;ie.size&&(n=e.size-e.resizerLength),e.mode){case l.resizeMode.pixels:t.config[o]=n-e.resizerLength/2+"px",e.nextCell.config[o]=e.size-n-e.resizerLength/2+"px";break;case l.resizeMode.mixedpx1:t.config[o]=n-e.resizerLength/2+"px";break;case l.resizeMode.mixedpx2:e.nextCell.config[o]=e.size-n-e.resizerLength/2+"px";break;case l.resizeMode.percents:t.config[o]=n/e.size*e.percentsum+"%",e.nextCell.config[o]=(e.size-n)/e.size*e.percentsum+"%";break;case l.resizeMode.mixedperc1:t.config[o]=n/e.size*e.percentsum+"%";break;case l.resizeMode.mixedperc2:e.nextCell.config[o]=(e.size-n)/e.size*e.percentsum+"%"}t.paint(),t.events.fire(l.LayoutEvents.resize,[t.id])}};this._resizerHandlers={onmousedown:function(o){if(3!==o.which&&(e.isActive&&i(),t.events.fire(l.LayoutEvents.beforeResizeStart,[t.id]))){document.body.classList.add("dhx_no-select--resize");var r=t.getCellView(),s=t._getNextCell(),a=s.getCellView(),u=t._getResizerView(),d=r.el.getBoundingClientRect(),h=u.el.getBoundingClientRect(),f=a.el.getBoundingClientRect();if(e.xLayout=t._isXDirection(),e.left=d.left+window.pageXOffset,e.top=d.top+window.pageYOffset,e.range=c.getBlockRange(d,f,e.xLayout),e.size=e.range.max-e.range.min,e.isActive=!0,e.nextCell=s,e.resizerLength=e.xLayout?h.width:h.height,e.mode=c.getResizeMode(e.xLayout,t.config,s.config),e.mode===l.resizeMode.percents){var p=e.xLayout?"width":"height";e.percentsum=parseFloat(t.config[p])+parseFloat(s.config[p])}if(e.mode===l.resizeMode.mixedperc1){p=e.xLayout?"width":"height";e.percentsum=1/(d[p]/(e.size-e.resizerLength))*parseFloat(t.config[p])}if(e.mode===l.resizeMode.mixedperc2){p=e.xLayout?"width":"height";e.percentsum=1/(f[p]/(e.size-e.resizerLength))*parseFloat(s.config[p])}document.addEventListener("mouseup",i),document.addEventListener("mousemove",n)}},ondragstart:function(t){return t.preventDefault()}}},e.prototype._getCollapseIcon=function(){return this._isXDirection()&&this.config.collapsed?"dxi dxi-chevron-right":this._isXDirection()&&!this.config.collapsed?"dxi dxi-chevron-left":!this._isXDirection()&&this.config.collapsed?"dxi dxi-chevron-up":this._isXDirection()||this.config.collapsed?void 0:"dxi dxi-chevron-down"},e.prototype._isLastCell=function(){var t=this._parent;return t&&t._cells.indexOf(this)===t._cells.length-1},e.prototype._getNextCell=function(){var t=this._parent,e=t._cells.indexOf(this);return t._cells[e+1]},e.prototype._getResizerView=function(){return this._parent.getRefs("resizer_"+this._uid)},e.prototype._isXDirection=function(){return this._parent&&this._parent._xLayout},e.prototype._calculateStyle=function(){var t=this.config;if(t){var e={};return this._isXDirection()?(void 0===t.width||t.collapsed||(e.flexBasis=t.width,e.width=t.width),void 0!==t.height&&(e.height=t.height)):(void 0===t.height||t.collapsed||(e.height=t.height),void 0!==t.width&&(e.width=t.width)),e}},e}(a.View);e.Cell=d},function(t,e,i){ +/** +* Copyright (c) 2017, Leon Sorokin +* All rights reserved. (MIT Licensed) +* +* domvm.js (DOM ViewModel) +* A thin, fast, dependency-free vdom view layer +* @preserve https://github.com/leeoniya/domvm (v3.2.6, micro build) +*/ +t.exports=function(){"use strict";var t=1,e=2,i=3,n=4,o=5,r="undefined"!=typeof window,s=(r?window:{}).requestAnimationFrame,a={};function l(){}var c=Array.isArray;function u(t){return null!=t}function d(t){return null!=t&&t.constructor===Object}function h(t,e,i,n){t.splice.apply(t,[i,n].concat(e))}function f(t){var e=typeof t;return"string"===e||"number"===e}function p(t){return"function"==typeof t}function _(t){for(var e=arguments,i=1;i0&&i[n-1].type===e?(i[n-1].body+=o.body,i.splice(n--,1)):H(o,t,n,null):H(o,t,n,null))}}(t)}}var F={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,order:!0,lineClamp:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};function B(t,e){return isNaN(e)||F[t]?e:e+"px"}function R(t,e){var i=(t.attrs||a).style,n=e?(e.attrs||a).style:null;if(null==i||f(i))t.el.style.cssText=i;else{for(var o in i){var r=i[o];(null==n||null!=r&&r!==n[o])&&(t.el.style[o]=B(o,r))}if(n)for(var s in n)null==i[s]&&(t.el.style[s]="")}}var N=[];function z(t,e,i,n,o){if(null!=t){var r=i.hooks[e];if(r){if("d"!==e[0]||"i"!==e[1]||"d"!==e[2])return r(i,n);o?k(i.parent)&&r(i,n):N.push([r,i,n])}}}function $(t){var e;if(N.length)for(k(t.node);e=N.shift();)e[0](e[1],e[2])}var U=r?document:null;function W(t){return t.nextSibling}function Y(t,e,i){var n=e._node,o=n.vm;if(c(n.body))if((n.flags&P)===P)for(var r=0;r>1]===t)return i;e[i]0&&(n[r]=o[e-1]),o[e]=r)}}for(e=o.length,i=o[e-1];e-- >0;)o[e]=i,i=n[i];return o}(r).map(function(t){return r[t]}),c=0;cu&&(y=null,_=!1):w=!0,u>100&&w&&++x%10==0))for(;k1){var r=1;d(n[1])&&(i=n[1],r=2),e=o===r+1&&(f(n[r])||c(n[r])||i&&(i._flags&j)===j)?n[r]:v(n,r)}return L(t,i,e)}return I.patch=function(t,e){!function(t,e,i){if(null!=e.type){if(null!=t.vm)return;H(e,t.parent,t.idx,null),t.parent.body[t.idx]=e,xt(e,t),i&&k(e),$(D(e))}else{var n=Object.create(t);n.attrs=_({},t.attrs);var o=_(t.attrs,e);if(null!=t._class){var r=o.class;o.class=null!=r&&""!==r?t._class+" "+r:t._class}st(t,n),i&&k(t)}}(this,t,e)},kt.emit=function(t){var e=this,i=e,n=v(arguments,1).concat(i,i.data);do{var o=e.onemit,r=o?o[t]:null;if(r){r.apply(e,n);break}}while(e=e.parent());Z[t]&&Z[t].apply(e,n)},kt.onemit=null,kt.body=function(){return function t(e,i){var n=e.body;if(c(n))for(var o=0;o=o&&t<=r&&s(t)}),this.config.disabledDates&&this._linkedCalendar.config.disabledDates||(this.config.disabledDates=function(t){if(r)return t>r},this._linkedCalendar.config.disabledDates=function(t){if(o)return t=t&&r<=i&&d()}},d=function(){return u.DateHelper.isSameDay(e._selected[0],e._selected[1])?null:"dhx_calendar-day--in-range"};h.config.$rangeMark=l}if(i&&n&&s.push("dhx_calendar-day--weekend"),n||(h.config.thisMonthOnly?(a++,s.push("dhx_calendar-day--hidden")):s.push("dhx_calendar-day--muffled")),h.config.mark){var f=h.config.mark(r);f&&s.push(f)}h.config.$rangeMark&&((l=h.config.$rangeMark(r))&&s.push(l));o&&(i?s.push("dhx_calendar-day--weekend-disabled"):s.push("dhx_calendar-day--disabled")),h._selected.forEach(function(t,i){if(t&&u.DateHelper.isSameDay(t,r)){var n="dhx_calendar-day--selected";e.config.range&&(n+=" dhx_calendar-day--selected-"+(0===i?"first ":"last")),s.push(n)}}),c.push({date:r,day:r.getDate(),css:s.join(" ")}),r=u.DateHelper.addDay(r)},h=this;l--;)d();n.push({weekNumber:s,days:c,disabledWeekNumber:7===a})}return n},e.prototype._drawCalendar=function(){for(var t,e=this._currentDate,i=this.config,n=i.weekStart,r=i.thisMonthOnly,a=i.css,l=i.timePicker,c=i.width,u=("monday"===n?f.default.daysShort.slice(1).concat([f.default.daysShort[0]]):f.default.daysShort).map(function(t){return s.el(".dhx_calendar-weekday",t)}),d=[],h=[],p=0,_=this._getData(e);p<_.length;p++){var v=_[p],g=v.days.map(function(t){return s.el("div.dhx_calendar-day",{class:t.css,_date:t.date,tabIndex:1},t.day)});!this.config.weekNumbers||v.disabledWeekNumber&&r||h.push(s.el("div",{class:"dhx_calendar-week-number"},v.weekNumber)),d=d.concat(g)}this.config.weekNumbers&&(t=s.el(".dhx_calendar__week-numbers",h));var m="dhx_calendar dhx_widget"+(a?" "+a:"")+(l?" dhx_calendar--with_timepicker":"")+(this.config.weekNumbers?" dhx_calendar--with_week-numbers":"");return s.el("div",o({class:m,style:{width:this.config.weekNumbers?"calc("+c+" + 48px )":c}},this._handlers),[s.el(".dhx_calendar__wrapper",[this._drawHeader(s.el("button.dhx_calendar-action__show-month.dhx_button.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle",f.default.months[e.getMonth()]+" "+e.getFullYear())),this.config.weekNumbers&&s.el(".dhx_calendar__dates-wrapper",[s.el(".dhx_calendar__weekdays",u),s.el(".dhx_calendar__days",d),t]),!this.config.weekNumbers&&s.el(".dhx_calendar__weekdays",u),!this.config.weekNumbers&&s.el(".dhx_calendar__days",d),l?s.el(".dhx_timepicker__actions",[s.el("button.dhx_calendar__timepicker-button.dhx_button.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--width_full.dhx_button--circle.dhx_calendar-action__show-timepicker",[s.el("span.dhx_button__icon.dxi.dxi-clock-outline"),s.el("span.dhx_button__text",this._time)])]):null])])},e.prototype._drawMonthSelector=function(){var t=this._currentDate,e=t.getMonth(),i=this._getSelected()?this._getSelected().getFullYear():null,n=this.config,r=n.css,a=n.timePicker,l=n.weekNumbers,c=n.width,u=n.mode,d="dhx_calendar dhx_widget"+(r?" "+r:"")+(a?" dhx_calendar--with_timepicker":"")+(l?" dhx_calendar--with_week-numbers":"");return s.el("div",o({class:d,style:{width:l?"calc("+c+" + 48px)":c}},this._handlers),[s.el(".dhx_calendar__wrapper",[this._drawHeader(s.el("button.dhx_calendar-action__show-year.dhx_button.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle",t.getFullYear())),s.el(".dhx_calendar__months",f.default.monthsShort.map(function(n,o){return s.el("div",{class:"dhx_calendar-month"+(e===o&&i===t.getFullYear()?" dhx_calendar-month--selected":""),tabIndex:1,_date:o},n)})),u!==p.ViewMode.months?s.el(".dhx_calendar__actions",[s.el("button.dhx_button.dhx_button--color_primary.dhx_button--view_link.dhx_button--size_small.dhx_button--width_full.dhx_button--circle.dhx_calendar-action__cancel",f.default.cancel)]):null])])},e.prototype._drawYearSelector=function(){var t=this,e=this._currentDate,i=u.DateHelper.getTwelweYears(e),n=this.config,r=n.css,a=n.timePicker,l=n.weekNumbers,c=n.width,d=n.mode,h="dhx_calendar dhx_widget"+(r?" "+r:"")+(a?" dhx_calendar--with_timepicker":"")+(l?" dhx_calendar--with_week-numbers":"");return s.el("div",o({class:h,style:{width:l?"calc("+c+" + 48px)":c}},this._handlers),[s.el(".dhx_calendar__wrapper",[this._drawHeader(s.el("button.dhx_button.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle",i[0]+"-"+i[i.length-1])),s.el(".dhx_calendar__years",i.map(function(e){return s.el("div",{class:"dhx_calendar-year"+(t._getSelected()&&e===t._getSelected().getFullYear()?" dhx_calendar-year--selected":""),_date:e,tabIndex:1},e)})),d!==p.ViewMode.years&&d!==p.ViewMode.months?s.el(".dhx_calendar__actions",[s.el("button.dhx_button.dhx_button--color_primary.dhx_button--view_link.dhx_button--size_small.dhx_button--width_full.dhx_button--circle.dhx_calendar-action__cancel",f.default.cancel)]):null])])},e.prototype._drawHeader=function(t){return s.el(".dhx_calendar__navigation",[s.el("button.dhx_calendar-navigation__button.dhx_calendar-action__prev"+h.linkButtonClasses+".dhx_button--icon.dhx_button--circle",[s.el(".dhx_button__icon.dxi.dxi-chevron-left")]),t,s.el("button.dhx_calendar-navigation__button.dhx_calendar-action__next"+h.linkButtonClasses+".dhx_button--icon.dhx_button--circle",[s.el(".dhx_button__icon.dxi.dxi-chevron-right")])])},e.prototype._drawTimepicker=function(){var t=this.config,e=t.css,i=t.weekNumbers,n=t.width;return s.el(".dhx_widget.dhx-calendar",{class:e?" "+e:"",style:{width:i?"calc("+n+" + 48px)":n}},[s.inject(this._timepicker.getRootView())])},e}(l.View);e.Calendar=_},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;it._hoursSlider.config.max||(12===t.config.timeFormat?(t._time.AM=e<12,t._time.hour=e%12||12):t._time.hour=e,t.events.fire(f.TimepickerEvents.change,[t.getValue()]),t._inputsView.paint())}),this._minutesSlider.events.on(u.SliderEvents.change,function(e){et._minutesSlider.config.max||(t._time.minute=e,t.events.fire(f.TimepickerEvents.change,[t.getValue()]),t._inputsView.paint())})},e.prototype._draw=function(){return s.el(".dhx_timepicker-inputs",o({},this._handlers),[s.el("input.dhx_timepicker-input.dhx_timepicker-input--hour",{_key:"hour",value:this._time.hour<10?"0"+this._time.hour:this._time.hour}),s.el("span.dhx_timepicker-delimer",":"),s.el("input.dhx_timepicker-input.dhx_timepicker-input--minutes",{_key:"minute",value:this._time.minute<10?"0"+this._time.minute:this._time.minute}),12===this.config.timeFormat?s.el(".dhx_timepicker-ampm",this._time.AM?"AM":"PM"):null])},e}(l.View);function _(t,e){return isNaN(t)?0:Math.min(e,Math.max(0,t))}e.Timepicker=p},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(2),r=i(0),s=i(1),a=i(21),l=i(3),c=i(7),u=i(34);function d(t,e,i){return ti?i:t}var h=function(t){function e(e,i){var n=t.call(this,e,o.extend({mode:u.Direction.horizontal,min:0,max:100,step:1,tooltip:!0},i))||this;n._disabled=!1,n.config.helpMessage=n.config.helpMessage||n.config.help,void 0!==n.config.thumbLabel&&(n.config.tooltip=n.config.thumbLabel),n.config.labelInline&&(n.config.labelPosition="left"),n.events=new s.EventSystem(n),n._axis=n.config.mode===u.Direction.horizontal?"clientX":"clientY",n._initStartPosition(),n._initHotkeys();var a=r.create({render:function(){return n._draw()},hooks:{didMount:function(){return n._calcSliderPosition()},didRedraw:function(){return n._calcSliderPosition()}}});return n._initHandlers(),n.mount(e,a),n}return n(e,t),e.prototype.disable=function(){this._disabled=!0,this.paint()},e.prototype.enable=function(){this._disabled=!1,this.paint()},e.prototype.isDisabled=function(){return this._disabled},e.prototype.focus=function(t){this.getRootView().refs[t?"extraRunner":"runner"].el.focus()},e.prototype.getValue=function(){var t;if(this.config.range){var e=this._getValue(this._currentPosition),i=this._getValue(this._extraCurrentPosition);t=e1){var i=this._getValue(this._extraCurrentPosition);this._setValue(t[0],!1),this.events.fire(u.SliderEvents.change,[t[0],e,!1]),this._setValue(t[1],!0),this.events.fire(u.SliderEvents.change,[t[1],i,!0])}else{if(t=parseFloat(t),isNaN(t))throw new Error("Wrong value type, for more info check documentation https://docs.dhtmlx.com/suite/slider__api__slider_setvalue_method.html");this._setValue(t),this.events.fire(u.SliderEvents.change,[t,e,!1])}this.paint()},e.prototype.destructor=function(){this._hotkeysDestructor(),this.unmount()},e.prototype._calcSliderPosition=function(){var t=this.getRootView();if(t){var e=t.refs.track.el.getBoundingClientRect();this._offsets={left:e.left+window.pageXOffset,top:e.top+window.pageYOffset},this._length=this.config.mode===u.Direction.horizontal?e.width:e.height}},e.prototype._initHotkeys=function(){var t=this;this._hotkeysDestructor=a.addHotkeys({arrowleft:function(e){t.config.mode!==u.Direction.vertical&&(e.preventDefault(),t._move(-t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowright:function(e){t.config.mode!==u.Direction.vertical&&(e.preventDefault(),t._move(t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowup:function(e){t.config.mode!==u.Direction.horizontal&&(e.preventDefault(),t._move(t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowdown:function(e){t.config.mode!==u.Direction.horizontal&&(e.preventDefault(),t._move(-t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))}},function(){var e=document.activeElement,i=t.getRootView().refs;if(!i)return!1;var n=i.runner;return!(!n||n.el!==e)||!(!t.config.range||!i.extraRunner||i.extraRunner.el!==e)})},e.prototype._move=function(t,e){this.config.inverse&&(t=-t);var i=this.config,n=i.max,o=i.min,r=e?this._getValue(this._extraCurrentPosition):this._getValue(this._currentPosition),s=r+t;this._setValue(r+t,e),(s>n||s=o/2?o:0;return+(Number(i)+Number(r)-s+a).toFixed(5)},e.prototype._setValue=function(t,e){void 0===e&&(e=!1);var i=this.config,n=i.max,o=i.min;if(t>n||tt._currentPosition?t._possibleRange=[t._currentPosition,100]:t._possibleRange=[0,t._currentPosition],t._findNewDirection=null}t._inSide(i)&&t._updatePosition(i,t._isExtraActive),t.paint()},i=function(n){t.events.fire(u.SliderEvents.mouseup,[n]),setTimeout(function(){t._isMouseMoving=!1,t.paint()},4),document.removeEventListener("mouseup",i),document.removeEventListener("mousemove",e)};this.config.helpMessage&&(this._helper=new c.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.helpMessage)),this._handlers={showHelper:function(e){e.preventDefault(),e.stopPropagation(),t._helper.show(e.target)},onmousedown:function(n){if(!t._disabled&&3!==n.which){var o;if(t.events.fire(u.SliderEvents.mousedown,[n]),t._isMouseMoving=!0,n.target.classList.contains("dhx_slider__thumb--extra")?(t._isExtraActive=!0,o=t._extraCurrentPosition):(t._isExtraActive=!1,o=t._currentPosition),t._findNewDirection=null,t.config.range){var r=t._currentPosition>t._extraCurrentPosition?[t._currentPosition,t._extraCurrentPosition]:[t._extraCurrentPosition,t._currentPosition],s=r[0],a=r[1];t._currentPosition===t._extraCurrentPosition?(t._findNewDirection=o,t._possibleRange=[0,100]):t._possibleRange=oe[1])||(this._updatePosition(e[1],this._isExtraActive),!1)},e.prototype._updatePosition=function(t,e){void 0===e&&(e=!1),t>100&&(t=100),t<0&&(t=0);var i=this.config,n=i.max,o=i.min,r=e?this._extraCurrentPosition:this._currentPosition,s=this._getValue(r),a=this._getValue(t);if(s!==a){var l=(a-o)/(n-o)*100,c=this._isInverse()?100-l:l;e?this._extraCurrentPosition=c:this._currentPosition=c,this.events.fire(u.SliderEvents.change,[a,s,e])}},e.prototype._getRunnerStyle=function(t){var e;void 0===t&&(t=!1);var i=this.config.mode===u.Direction.horizontal?"left":"top",n=t?this._extraCurrentPosition:this._currentPosition;return(e={})[i]=n+"%",e},e.prototype._isInverse=function(){return this.config.inverse&&this.config.mode===u.Direction.horizontal||!this.config.inverse&&this.config.mode===u.Direction.vertical},e.prototype._getRunnerCss=function(t){return void 0===t&&(t=!1),"dhx_slider__thumb"+(t?" dhx_slider__thumb--extra":"")+(this._isMouseMoving&&(t&&this._isExtraActive||!t&&!this._isExtraActive)?" dhx_slider__thumb--active":"")+(this._disabled?" dhx_slider__thumb--disabled":"")+(this._isNullable(t?this._extraCurrentPosition:this._currentPosition)&&!this.config.range?" dhx_slider__thumb--nullable":"")},e.prototype._draw=function(){var t="left"===this.config.labelPosition&&this.config.labelWidth?this.config.labelWidth:"";return r.el("div",{class:"dhx_slider dhx_slider--mode_"+this.config.mode+(this.config.label&&"left"===this.config.labelPosition?" dhx_slider--label-inline":"")+(this.config.hiddenLabel?" dhx_slider--label_sr":"")+(this.config.tick?" dhx_slider--ticks":"")+(this.config.majorTick?" dhx_slider--major-ticks":"")+(this.config.css?" "+this.config.css:"")},[this.config.label?r.el("label.dhx_label.dhx_slider__label",{style:{minWidth:t,maxWidth:t},class:this.config.helpMessage?"dhx_label--with-help":"",onclick:this._handlers.onlabelClick},this.config.helpMessage?[r.el("span.dhx_label__holder",this.config.label),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:this.config.label):null,this._drawSlider()])},e.prototype._drawSlider=function(){return r.el(".dhx_widget.dhx_slider__track-holder",{dhx_widget_id:this._uid},[r.el(".dhx_slider__track",{_ref:"track",onmouseover:this._handlers.onmouseover,onmouseout:this._handlers.onmouseout,onclick:this._handlers.onclick},[this._getDetector(),r.el("div",{_ref:"runner",class:this._getRunnerCss(),onmousedown:this._handlers.onmousedown,onmousemove:this._handlers.onmousemove,onfocus:this._handlers.onfocus,onblur:this._handlers.onblur,style:this._getRunnerStyle(),tabindex:0}),this.config.tooltip&&(this._mouseIn||this._focusIn||this._isMouseMoving)?this._drawTooltip():null,this.config.tooltip&&this.config.range&&(this._mouseIn||this._focusIn||this._isMouseMoving)?this._drawTooltip(!0):null,this.config.range?r.el("div",{_ref:"extraRunner",class:this._getRunnerCss(!0),onmousedown:this._handlers.onmousedown,onmousemove:this._handlers.onmousemove,onfocus:this._handlers.onfocus,onblur:this._handlers.onblur,style:this._getRunnerStyle(!0),tabindex:0}):null]),this.config.tick?this._drawTicks():null])},e.prototype._getDetector=function(){var t,e,i;if(this._disabled)return r.el(".dhx_slider__range");var n=this.config.mode===u.Direction.horizontal?"left":"top",o=this.config.mode===u.Direction.horizontal?"width":"height";if(this.config.range){var s=this._currentPosition>this._extraCurrentPosition?[this._currentPosition,this._extraCurrentPosition]:[this._extraCurrentPosition,this._currentPosition],a=s[0],l=s[1];return r.el(".dhx_slider__range",{style:(t={},t[n]=l+"%",t[o]=a-l+"%",t)})}return this._isInverse()?r.el(".dhx_slider__range",{style:(e={},e[n]=this._currentPosition+"%",e[o]=100-this._currentPosition+"%",e)}):r.el(".dhx_slider__range",{style:(i={},i[n]=0,i[o]=this._currentPosition+"%",i)})},e.prototype._drawTooltip=function(t){var e;void 0===t&&(t=!1);var i=t?this._extraCurrentPosition:this._currentPosition,n=this.config.mode===u.Direction.horizontal?"left":"top",o=this.config.mode===u.Direction.horizontal?".dhx_slider__thumb-label--horizontal":".dhx_slider__thumb-label--vertical";(t&&this._isExtraActive||!t&&!this._isExtraActive)&&(o+=".dhx_slider__thumb-label--active");var s=((e={})[n]=i+"%",e);return r.el(".dhx_slider__thumb-label"+o,{style:s},this._getValue(i))},e.prototype._getTicks=function(){for(var t=this.config,e=t.max,i=t.min,n=t.step,o=t.tick,r=t.majorTick,s=e-i,a=n*o/s,l=[],c=0,u=0;c<1;){var d=+(Number(i)+c*s).toFixed(5),h=u%r==0;l.push({position:(this._isInverse()?100*(1-c):100*c)+"%",isMultiple:h,label:h&&"function"==typeof this.config.tickTemplate?this.config.tickTemplate(d):null}),c+=a,u++}return l.push({position:(this._isInverse()?0:100)+"%",isMultiple:!0,label:"function"==typeof this.config.tickTemplate?this.config.tickTemplate(e):null}),l},e.prototype._drawTicks=function(){var t=this.config.mode===u.Direction.horizontal?"left":"top";return r.el(".dhx_slider__ticks-holder",this._getTicks().map(function(e){var i;return r.el("div",{class:"dhx_slider__tick"+(e.isMultiple?" dhx_slider__tick--major":""),style:(i={},i[t]=e.position,i)},void 0!==e.label?[r.el(".dhx_slider__tick-label",e.label)]:null)}))},e.prototype._isNullable=function(t){return this._isInverse()?100===t:0===t},e}(l.View);e.Slider=h},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i'+t.text+"\n\t\t"+(t.icon?'':"");var c=t.node?n.toNode(t.node):document.body;"static"===getComputedStyle(c).position&&(c.style.position="relative");var u=s.get(c);u?u[t.position]||(u[t.position]={stack:[],container:l(c,t.position)}):s.set(c,((e={})[t.position]={stack:[],container:l(c,t.position)},e));var d=s.get(c)[t.position],h=d.stack,f=d.container;if(0===h.length&&c.appendChild(f),h.push(i),f.appendChild(i),t.expire){var p=setTimeout(function(){return a(i)},t.expire);r.set(i,p)}i.onclick=function(){return a(i,!0)}}},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(41),o=i(42);e.alert=function(e){var i=e.buttons&&e.buttons[0]?e.buttons[0]:n.default.apply,r=o.blockScreen(e.blockerCss);return new t(function(t){var n=document.createElement("div");n.className="dhx_widget dhx_alert "+(e.css||""),n.innerHTML="\n\t\t\t"+(e.header?'
    '+e.header+"
    ":"")+"\n\t\t\t"+(e.text?'
    '+e.text+"
    ":"")+'\n\t\t\t",document.body.appendChild(n),n.querySelector(".dhx_alert__apply-button").focus(),n.querySelector("button").addEventListener("click",function(){r(),document.body.removeChild(n),t(!0)})})}}).call(this,i(9))},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(41),o=i(42);e.confirm=function(e){var i=e.buttons&&e.buttons[0]?e.buttons[0]:n.default.apply,r=e.buttons&&e.buttons[1]?e.buttons[1]:n.default.reject,s=o.blockScreen(e.blockerCss);return new t(function(t){var n=document.createElement("div");n.className="dhx_widget dhx_alert dhx_alert--confirm"+(e.css?" "+e.css:""),n.innerHTML="\n\t\t"+(e.header?'
    '+e.header+"
    ":"")+"\n\t\t"+(e.text?'
    '+e.text+"
    ":"")+'\n\t\t\t",document.body.appendChild(n),n.querySelector(".dhx_alert__confirm-reject").focus();var o=function(e){"BUTTON"===e.target.tagName&&function(e){s(),n.removeEventListener("click",o),document.body.removeChild(n),t(e)}(e.target.classList.contains("dhx_alert__confirm-aply"))};n.addEventListener("click",o)})}}).call(this,i(9))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(23),o=i(0),r=i(24);e.getPicker=function(t,e,i){var s=n.HSVtoRGB(e.hsv);e.background=n.RGBToHex(s);var a=n.RGBToHex(n.HSVtoRGB({h:e.hsv.h,s:1,v:1})),l=t.getRootView(),c=l.refs?l.refs.picker_palette.el.getBoundingClientRect():{height:200,width:218,x:0,y:0},u=c.height-2,d=c.width-2,h=u-e.hsv.v*u-4,f=e.hsv.s*d-4,p=c.width-6,_=p-(360-e.hsv.h)/360*p,v=e.customHex?e.customHex.replace("#",""):e.background.replace("#","");return o.el(".dhx_colorpicker-picker",{},[o.el(".dhx_colorpicker-picker__palette",{style:{height:132,background:a},onmousedown:i.mousedown,dhx_id:"picker_palette",_ref:"picker_palette"},[o.el(".dhx_palette_grip",{style:{top:h,left:f}})]),o.el(".dhx_colorpicker-hue-range",{style:{height:16},onmousedown:i.mousedown,dhx_id:"hue_range",_key:"hue_range",_ref:"hue_range"},[o.el(".dhx_colorpicker-hue-range__grip",{style:{left:_}})]),o.el(".dhx_colorpicker-value",[o.el(".dhx_colorpicker-value__color",{style:{background:e.background}}),o.el(".dhx_colorpicker-value__input__wrapper",[o.el("input",{class:"dhx_colorpicker-value__input",value:v,oninput:i.oninput,maxlength:"7",_key:"hex_input"})])]),o.el(".dhx_colorpicker-picker__buttons",[!t.config.pickerOnly&&o.el("button",{class:"dhx_button dhx_button--size_medium dhx_button--view_link dhx_button--color_primary",onclick:[i.buttonsClick,"cancel"]},r.default.cancel),o.el("button",{class:"dhx_button dhx_button--size_medium dhx_button--view_flat dhx_button--color_primary",onclick:[i.buttonsClick,"apply"]},r.default.select)])])},e.calculatePaletteGrip=function(t,e,i){var n=t.refs.picker_palette.el.getBoundingClientRect(),o=n.height,r=n.width;e=e<0?0:e>o?o:e,i=i<0?0:i>r?r:i;var s=Math.round(i/(r/100)),a=100-Math.round(e/(o/100));this._pickerState.hsv.s=s/100,this._pickerState.hsv.v=a/100}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.calculatePaletteGrip=function(t,e,i){var n=t.height,o=t.width;return e=e<0?0:e>n?n:e,i=i<0?0:i>o?o:i,{s:Math.round(i/(o/100))/100,v:(100-Math.round(e/(n/100)))/100}},e.calculateRangeGrip=function(t,e){var i=t.width;return e=e<0?0:e>i?i:e,{h:Math.round(e/i*360),rangeLeft:e}}},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(31),r=i(1),s=i(0),a=i(10),l=i(7),c=i(6),u=i(5),d=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=new r.EventSystem,n._initView(i);return n.mount(e,s.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.isDisabled=function(){return this.config.disabled},e.prototype.validate=function(){var t,e=this.config,i=e.required,n=e.value;return t=e.validation?this.config.validation(n):!i||Boolean(n),this.config.$validationStatus=t?c.ValidationStatus.success:c.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=c.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.calendar.setValue(t),this.paint()},e.prototype.getValue=function(t){var e=this.config.value;return t&&""!==e||"Date"===this.config.valueFormat&&""!==e?o.stringToDate(e,this.calendar.config.dateFormat)||"":e||""},e.prototype.clear=function(){this.config.value="",this.paint()},e.prototype.getWidget=function(){return this.calendar},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!u.isEmptyObj(t)){for(var i in this.calendar&&this.calendar.destructor(),this._popup&&this._popup.destructor(),this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1,editable:!1,value:"",valueFormat:"string"},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.config.editable=this.config.editable||this.config.editing,this._popup=new l.Popup({css:"dhx_widget--border-shadow"}),this.calendar=new o.Calendar(null,t),this._popup.attach(this.calendar),this.config.value&&(this.calendar.setValue(this.config.value),this.config.value=this.calendar.getValue()),this.calendar.events.on(o.CalendarEvents.change,function(){e.config.value=e.calendar.getValue(),e._popup.hide(),e.validate()}),this.events.on(c.BaseElementEvent.change,function(t){e.config.value=e._inputValidate(t),e._inputValidate(t)?e.calendar.setValue(t):e.validate()}),this.events.fire(c.BaseElementEvent.configUpdate,[this.config]),this.clearValidate()}},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onchange:function(e){var i=e.target.value;t.events.fire(c.BaseElementEvent.change,[i])},onkeyup:function(e){13===e.keyCode&&(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur())}}},e.prototype._inputValidate=function(t){var e=this.calendar.config.dateFormat;return o.stringToDate(t,e,!0)?t:""},e.prototype._draw=function(){var t=this.config,e=t.value,i=t.icon,n=t.required,o=t.disabled,r=t.placeholder,a=t.name,l=t.id,c=t.validation,d=t.editable;return s.el("div.dhx_form-group",{class:u.getFormItemCss(this.config,Boolean(n)||Boolean(c))},[this._drawLabel(),s.el(".dhx_input__wrapper",[s.el("div.dhx_input__container",{},[s.el(".dhx_input__icon",{class:i||"dxi dxi-calendar-today"}),s.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:e,type:"text",_ref:"input",required:n,disabled:o,placeholder:r||"",name:a||"",id:l||this._uid,onfocus:this._handlers.onfocus,onchange:this._handlers.onchange,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!d})]),u.getValidationMessage(this.config)&&s.el("span.dhx_input__caption",{},u.getValidationMessage(this.config))])])},e}(a.Label);e.DateInput=d},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i '+t.value+"":t.src?' '+t.value+"":''+t.value+""},y=function(t){function e(e,i){var n=t.call(this,e,o.extend({template:m,listHeight:224,itemHeight:32,disabled:!1},i))||this;n.config.itemsCount=n.config.itemsCount||n.config.showItemsCount,n.config.helpMessage=n.config.helpMessage||n.config.help,n.config.cellHeight&&32===n.config.itemHeight&&(n.config.itemHeight=n.config.cellHeight),n.config.labelInline&&(n.config.labelPosition="left"),Array.isArray(n.config.data)?(n.events=new s.EventSystem(n),n.data=new u.DataCollection({},n.events),n.data.parse(n.config.data)):n.config.data?(n.data=n.config.data,n.events=n.data.events,n.events.context=n):(n.events=new s.EventSystem(n),n.data=new u.DataCollection({},n.events)),n.popup=new f.Popup,n.popup.events.on(f.PopupEvents.afterShow,function(){n.paint()}),n.popup.events.on(f.PopupEvents.afterHide,function(){n.config.multiselection&&(n._state.value=""),n.paint()}),n.popup.events.on(f.PopupEvents.beforeHide,function(t){if(t){if(!n.events.fire(g.ComboboxEvents.beforeClose))return;n.events.fire(g.ComboboxEvents.afterClose),n.events.fire(g.ComboboxEvents.close)}}),n.config.readonly&&(n._keyListener=new p.KeyListener),n._state={value:"",ignoreNext:!1,canDelete:!1,unselectActive:!1,currentState:g.ComboState.default},n._initHandlers(),n._createLayout(),n._initEvents();var a=r.create({render:function(){return n._draw()},hooks:{didRedraw:function(){n.popup.isVisible()&&(n.focus(),n._configurePopup())}}});return n.mount(e,a),n}return n(e,t),e.prototype.focus=function(){if(this.config.disabled)return!1;this.getRootView().refs.input.el.focus()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.isDisabled=function(){return this.config.disabled},e.prototype.clear=function(){if(this.config.disabled)return!1;this.list.selection.remove(),this._state.value="",this._filter(),this.paint()},e.prototype.getValue=function(t){var e=this.list.selection.getId();return t?o.wrapBox(e):Array.isArray(e)?e.join(","):e},e.prototype.setValue=function(t){var e=this;if(this.config.disabled)return!1;if(this._filter(),this.list.selection.remove(),this._state.value="",this.config.multiselection)"string"==typeof t&&(t=t.split(",")),t.forEach(function(t){return e.list.selection.add(t)});else{var i=o.unwrapBox(t);this.list.selection.add(i);var n=this.data.getItem(i);n&&(this._state.value=this._getItemText(n))}this.paint()},e.prototype.destructor=function(){this.popup.destructor(),this.events.clear(),this.list.destructor(),this._layout.config=null,this._layout.destructor(),this.unmount()},e.prototype.setState=function(t){switch(t){case"success":this._state.currentState=g.ComboState.success;break;case"error":this._state.currentState=g.ComboState.error;break;default:this._state.currentState=g.ComboState.default}this.paint()},e.prototype._createLayout=function(){var t=this,e=this.list=new h.List(null,{template:this.config.template,virtual:this.config.virtual,keyNavigation:function(){return t.popup.isVisible()},multiselection:this.config.multiselection,itemHeight:this.config.itemHeight,height:this.config.listHeight,data:this.data}),i=this._layout=new d.Layout(this.popup.getContainer(),{css:"dhx_combobox-options dhx_combobox__options",rows:[{id:"select-unselect-all",hidden:!this.config.multiselection||!this.config.selectAllButton},{id:"list",css:"dhx_layout-cell--gravity"},{id:"not-found",hidden:!0}],on:{click:{".dhx_combobox__action-select-all":this._handlers.selectAll}}});i.getCell("list").attach(e),this.config.multiselection&&this.config.selectAllButton&&i.getCell("select-unselect-all").attach(v.selectAllView)},e.prototype._initHandlers=function(){var t=this;this.config.helpMessage&&(this._helper=new f.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.helpMessage)),this._handlers={showHelper:function(e){e.preventDefault(),e.stopPropagation(),t._helper.show(e.target)},selectAll:function(){t.list.selection.remove(),t._state.unselectActive?(t.data.filter(),t.list.selection.getId().forEach(function(e){t.list.selection.remove(e)}),t.config.selectAllButton&&(t._layout.getCell("select-unselect-all").attach(v.selectAllView),t._state.unselectActive=!1)):(t.data.filter(),t.list.selection.add(),t.config.selectAllButton&&(t._layout.getCell("select-unselect-all").attach(v.unselectAllView),t._state.unselectActive=!0)),t.paint()},onkeydown:function(e){var i;(t.popup.isVisible()||e.which!==l.KEY_CODES.DOWN_ARROW||t._showOptions(),t.popup.isVisible()&&e.which===l.KEY_CODES.RIGHT_ARROW)&&(t.config.readonly&&!t.config.multiselection&&(i=t.list.getFocusIndex())>=0&&i<=t.data.getLength()&&(e.preventDefault(),t.list.setFocusIndex(i+1)));t.popup.isVisible()&&e.which===l.KEY_CODES.LEFT_ARROW&&(t.config.readonly&&!t.config.multiselection&&(i=t.list.getFocusIndex())>=0&&i<=t.data.getLength()&&(e.preventDefault(),t.list.setFocusIndex(i-1)));t.popup.isVisible()&&e.which===l.KEY_CODES.ESC&&t._hideOptions(),t.popup.isVisible()&&e.which===l.KEY_CODES.ENTER&&t.setValue(t.list.data.getId(t.list.getFocusIndex()))},onkeyup:function(e){if(t.config.multiselection&&!t.config.itemsCount)if(t._state.ignoreNext)t._state.ignoreNext=!1;else if(e.which===l.KEY_CODES.BACKSPACE&&t._state.canDelete&&t.list.selection.getId().length){var i=t.list.selection.getId(),n=i[i.length-1];t.list.selection.remove(n),t.paint(),t.paint()}},oninput:function(e){if(!t.config.disabled){var i=e.target.value;t.events.fire(g.ComboboxEvents.input,[i]),t._state.value=i,t._filter(),i.length?t._state.canDelete=!1:(t._state.ignoreNext=!0,t._state.canDelete=!0),t.config.multiselection||(t.list.selection.remove(),t.paint()),t.popup.isVisible()||t._showOptions()}},oninputclick:function(e){if(!t.config.disabled){if(t.focus(),e.target.classList.contains("dhx_combobox__action-remove")){var i=a.locate(e);if(!i)return;return t.list.selection.remove(i),void t.paint()}if(e.target.classList.contains("dhx_combobox__action-clear-all"))return t.list.selection.getId().forEach(function(e){return t.list.selection.remove(e)}),t.config.selectAllButton&&t._state.unselectActive&&(t._layout.getCell("select-unselect-all").attach(v.selectAllView),t._state.unselectActive=!1),void t.paint();e.preventDefault(),t.popup.isVisible()?t.focus():t._showOptions()}},toggleIcon:function(){t.focus(),t.popup.isVisible()?t._hideOptions():t._showOptions()}}},e.prototype._initEvents=function(){var t=this;this.list.events.on(h.ListEvents.click,function(){t.config.multiselection||t._hideOptions()}),this.data.events.on(u.DataEvents.change,function(e,i,n){n&&n.hasOwnProperty("$selected")&&t._updateSelectedItem(e)}),this.config.readonly&&this.popup.events.on(f.PopupEvents.afterShow,function(){if(t._state.value){var e=t.list.selection.getId();t.list.setFocus(e)}else t.list.setFocus(t.data.getId(0));t._keyListener.startNewListen(function(e){return t._findBest(e)})})},e.prototype._showOptions=function(){this._state.value.length&&(this._state.canDelete=!0),this._filter(),this._configurePopup()&&this.events.fire(g.ComboboxEvents.open)},e.prototype._configurePopup=function(){var t=this.getRootView();if(!t||!t.refs||!t.refs.holder)return!1;if(!this.popup.isVisible()){var e=t.refs.holder.el;this.popup.getContainer().style.width=e.offsetWidth+"px",this.popup.show(e,{mode:a.Position.bottom})}return!0},e.prototype._hideOptions=function(){this.events.fire(g.ComboboxEvents.beforeClose)&&(this.config.readonly&&this._keyListener.endListen(),this.list.setFocus(this.data.getId(0)),this.config.multiselection||this.config.readonly||this.list.selection.contains()||(this._state.value=""),this.popup.hide(),this.paint(),this.events.fire(g.ComboboxEvents.afterClose),this.events.fire(g.ComboboxEvents.close))},e.prototype._filter=function(){var t=this;if(!this.config.readonly){if(this.data.filter(function(e){return t.config.filter?t.config.filter(e,t._state.value):o.isEqualString(t._state.value,t._getItemText(e))}),this.config.multiselection)this.list.setFocus(this.data.getId(0));else{var e=this.data.getIndex(this.list.selection.getId());this.list.setFocus(this.data.getId(e>-1?e:0))}0===this.data.getLength()?(this.config.multiselection&&this.config.selectAllButton&&this._layout.getCell("select-unselect-all").hide(),this._layout.getCell("list").hide(),this._layout.getCell("not-found").attach(v.emptyListView),this._layout.getCell("not-found").show()):(this.config.multiselection&&this.config.selectAllButton&&this._layout.getCell("select-unselect-all").show(),this._layout.getCell("not-found").isVisible()&&(this._layout.getCell("list").show(),this._layout.getCell("not-found").hide()))}},e.prototype._findBest=function(t){var e=this,i=this.data.find(function(i){return o.isEqualString(t,e._getItemText(i))});i&&this.list.selection.getId()!==i.id&&(this.list.setFocus(i.id),this.list.selection.add(i.id),this.paint())},e.prototype._draw=function(){var t=this.config.multiselection?null:this.data.getItem(this.list.selection.getId()),e=!this.list.selection.getId()||0===this.list.selection.getId().length,i="left"===this.config.labelPosition&&this.config.labelWidth?this.config.labelWidth:"",n=this.config.required;return r.el(".dhx_widget.dhx_combobox"+("left"===this.config.labelPosition?".dhx_combobox--label-inline":"")+(this.config.hiddenLabel?".dhx_combobox--sr_only":"")+(this.config.required?".dhx_combobox--required":"")+(this.config.css?"."+this.config.css:""),{dhx_widget_id:this._uid,onkeydown:this._handlers.onkeydown,onkeyup:this._handlers.onkeyup},[this.config.label?r.el("label.dhx_label.dhx_combobox__label",{style:{minWidth:i,maxWidth:i},class:this.config.helpMessage?"dhx_label--with-help":"",onclick:this._handlers.oninputclick},this.config.helpMessage?[r.el("span.dhx_label__holder",this.config.label),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:this.config.label):null,r.el("div.dhx_combobox-input-box"+(this.config.disabled?".dhx_combobox-input-box--disabled":"")+(this.config.readonly?".dhx_combobox-input-box--readonly":"")+(this._state.currentState===g.ComboState.error?".dhx_combobox-input-box--state_error":"")+(this._state.currentState===g.ComboState.success?".dhx_combobox-input-box--state_success":""),{_ref:"holder"},[r.el("div.dhx_combobox-input__icon",{onclick:this._handlers.toggleIcon},[r.el("span"+(this.popup.isVisible()?".dxi.dxi-menu-up":".dxi.dxi-menu-down"))]),r.el("div.dhx_combobox-input-list-wrapper",{onclick:this._handlers.oninputclick},[r.el("ul.dhx_combobox-input-list",this._drawSelectedItems().concat([r.el("li.dhx_combobox-input-list__item.dhx_combobox-input-list__item--input",[r.el("input.dhx_combobox-input",{oninput:this._handlers.oninput,_ref:"input",_key:this._uid,type:"text",placeHolder:e&&this.config.placeholder?this.config.placeholder:void 0,value:this.config.readonly&&t?this._getItemText(t):this._state.value,readOnly:this.config.readonly||this.config.disabled,required:n})])]))])])])},e.prototype._drawSelectedItems=function(){var t=this;if(!this.config.multiselection)return[];if(this.config.itemsCount){var e=this.list.selection.getId().length;return e?[r.el("li.dhx_combobox-input-list__item.dhx_combobox-tag",[r.el("span.dhx_combobox-tag__value",function(t,e){return"function"==typeof e?e(t):t+" "+_.default.selectedItems}(e,this.config.itemsCount)),r.el("button.dhx_button.dhx_combobox-tag__action.dhx_combobox__action-clear-all",[r.el("span.dhx_button__icon.dxi.dxi-close-circle")])])]:[]}return this.list.selection.getId().map(function(e){var i=t.data.getItem(e);return i?r.el("li.dhx_combobox-input-list__item.dhx_combobox-tag",{dhx_id:e},[t._drawImageOrIcon(i),r.el("span.dhx_combobox-tag__value",t._getItemText(i)),r.el("button.dhx_button.dhx_button--icon.dhx_combobox-tag__action.dhx_combobox__action-remove",{type:"button"},[r.el("span.dhx_button__icon.dxi.dxi-close-circle")])]):null})},e.prototype._drawImageOrIcon=function(t){return t.src?r.el("img.dhx_combobox-tag__image",{src:t.src}):t.icon?r.el("span.dhx_combobox-tag__icon",{class:t.icon}):null},e.prototype._getItemText=function(t){return t?t.value:null},e.prototype._updateSelectedItem=function(t){if(this.config.multiselection)return this.data.getItem(t).$selected?this.config.selectAllButton&&!this._state.unselectActive&&this.data.getLength()===this.list.selection.getId().length&&(this._layout.getCell("select-unselect-all").attach(v.unselectAllView),this._state.unselectActive=!0):this.config.selectAllButton&&this._state.unselectActive&&(this._layout.getCell("select-unselect-all").attach(v.selectAllView),this._state.unselectActive=!1),this._state.value.length||(this._state.canDelete=!0),void this.paint();this._state.value=this._getItemText(this.data.getItem(t))||"",this.paint()},e}(c.View);e.Combobox=y},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KEY_CODES={BACKSPACE:8,ENTER:13,ESC:27,DOWN_ARROW:40,LEFT_ARROW:37,RIGHT_ARROW:39}},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(12),o=i(11),r=function(){function e(t,e){this._parent=t,this._changes=e}return e.prototype.load=function(t,e){var i=this;return this._parent.loadData=t.load().then(function(t){return i._parent.removeAll(),i.parse(t,e)}).catch(function(t){i._parent.events.fire(o.DataEvents.loadError,[t])})},e.prototype.parse=function(t,e){return void 0===e&&(e="json"),"json"!==e||n.hasJsonOrArrayStructure(t)||this._parent.events.fire(o.DataEvents.loadError,["Uncaught SyntaxError: Unexpected end of input"]),t=(e=n.toDataDriver(e)).toJsonArray(t),this._parent.$parse(t),t},e.prototype.save=function(e){for(var i=this,o=function(o){if(o.saving||o.pending)n.dhxWarning("item is saving");else{var s=r._findPrevState(o.id);if(s&&s.saving){var a=new t(function(t,r){s.promise.then(function(){o.pending=!1,t(i._setPromise(o,e))}).catch(function(t){i._removeFromOrder(s),i._setPromise(o,e),n.dhxWarning(t),r(t)})});r._addToChain(a),o.pending=!0}else r._setPromise(o,e)}},r=this,s=0,a=this._changes.order;s\n";for(var s in t)Array.isArray(t[s])?(i+=o(e+n)+"<"+s+">\n",i+=t[s].map(function(t){return r(t,e+2*n)}).join("\n")+"\n",i+=o(e+n)+"\n"):i+=o(e+n)+"<"+s+">"+t[s]+"\n";return i+=o(e)+""}e.jsonToXML=function(t,e){void 0===e&&(e="root");for(var i='\n<'+e+">",n=0;n"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(12),o=function(){function t(){}return t.prototype.sort=function(t,e){var i=this;e.rule&&"function"==typeof e.rule?this._sort(t,e):e.by&&(e.rule=function(t,o){var r=i._checkVal(e.as,t[e.by]),s=i._checkVal(e.as,o[e.by]);return n.naturalCompare(r.toString(),s.toString())},this._sort(t,e))},t.prototype._checkVal=function(t,e){return t?t.call(this,e):e},t.prototype._sort=function(t,e){var i=this,n={asc:1,desc:-1};return t.sort(function(t,o){return e.rule.call(i,t,o)*(n[e.dir]||n.asc)})},t}();e.Sort=o},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(2),r=i(43),s=i(17),a=i(12),l=i(11);function c(t,e,i,n){void 0!==n&&-1!==n&&t[i]&&t[i][n]?t[i].splice(n,0,e):(t[i]||(t[i]=[]),t[i].push(e))}var u=function(t){function e(e,i){var n,r=t.call(this,e,i)||this,s=r._root="_ROOT_"+o.uid();return r._childs=((n={})[s]=[],n),r._initChilds=null,r}return n(e,t),e.prototype.add=function(e,i,n){var o=this;if(void 0===i&&(i=-1),void 0===n&&(n=this._root),"object"!=typeof e&&(e={value:e}),Array.isArray(e))return e.map(function(e,r){r>0&&-1!==i&&(i+=1),e.parent=e.parent?e.parent.toString():n;var s=t.prototype.add.call(o,e,i);if(Array.isArray(e.items))for(var a=0,l=e.items;a1?(this._selectedIds=e,this._itemsForGhost=i):(this._selectedIds=[],this._itemsForGhost=null),r&&s){var a=n.getBox(o),l=a.left,c=a.top;this._transferData.initXOffset=t.pageX-l,this._transferData.initYOffset=t.pageY-c,this._transferData.x=t.pageX,this._transferData.y=t.pageY,this._transferData.targetId=s,this._transferData.id=r,this._transferData.item=o}}},t.prototype._moveGhost=function(t,e){this._transferData.ghost&&(this._transferData.ghost.style.left=t-this._transferData.initXOffset+"px",this._transferData.ghost.style.top=e-this._transferData.initYOffset+"px")},t.prototype._removeGhost=function(){document.body.removeChild(this._transferData.ghost)},t.prototype._onDrop=function(){if(this._canMove){var t=o.collectionStore.getItem(this._lastCollectionId),e=t&&t.config;if(t&&e.dragMode!==r.DragMode.source){if(t.events.fire(r.DragEvents.beforeDrop,[this._lastId,this._transferData.target])){var i={id:this._lastId,target:t},n={id:this._transferData.id,target:this._transferData.target};this._move(n,i),i.target.events.fire(r.DragEvents.dropComplete,[i.id,this._transferData.dropPosition])}this._endDrop()}else this._endDrop()}else this._endDrop()},t.prototype._onDragStart=function(t,e){var i=o.collectionStore.getItem(e),n=i.config;if(n.dragMode===r.DragMode.target)return null;var s=i.data.getItem(t),a=function(t,e){var i=t.getBoundingClientRect(),n=document.createElement("div"),o=t.cloneNode(!0);return o.style.width=i.width+"px",o.style.height=i.height+"px",o.style.maxHeight=i.height+"px",o.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,o.style.opacity="0.8",o.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,n.appendChild(o),e&&e.length&&e.forEach(function(t,e){var o=t.cloneNode(!0);o.style.width=i.width+"px",o.style.height=i.height+"px",o.style.maxHeight=i.height+"px",o.style.top=12*(e+1)-i.height-i.height*e+"px",o.style.left=12*(e+1)+"px",o.style.opacity="0.6",o.style.zIndex=""+(-e-1),n.appendChild(o)}),n.className="dhx_drag-ghost",n}(this._transferData.item,this._itemsForGhost);return i.events.fire(r.DragEvents.beforeDrag,[s,a])&&t?(i.events.fire(r.DragEvents.dragStart,[t,this._selectedIds]),this._toggleTextSelection(!0),this._transferData.target=i,this._transferData.dragConfig=n,a):null},t.prototype._onDrag=function(t){var e=t.clientX,i=t.clientY,a=document.elementFromPoint(e,i),l=n.locate(a,"dhx_widget_id");if(l){var c=o.collectionStore.getItem(l),u=n.locate(a,"dhx_id");if(!u)return this._cancelCanDrop(),this._lastCollectionId=l,this._lastId=null,void this._canDrop();if(c.config.dropBehaviour===r.DropBehaviour.complex){var d=function(t){var e=t.clientY,i=n.locateNode(t);if(!i)return null;var o=i.childNodes[0].getBoundingClientRect();return(e-o.top)/o.height}(t);this._transferData.dropPosition=d<=.25?r.DropPosition.top:d>=.75?r.DropPosition.bot:r.DropPosition.in}else if(this._lastId===u&&this._lastCollectionId===l)return;var h={id:this._transferData.id,target:this._transferData.target};if("source"!==c.config.dragMode)if(h.target.events.fire(r.DragEvents.dragOut,[u,c]),l!==this._transferData.targetId||!s.isTreeCollection(h.target.data)||s.isTreeCollection(h.target.data)&&h.target.data.canCopy(h.id,u))this._cancelCanDrop(),this._lastId=u,this._lastCollectionId=l,h.target.events.fire(r.DragEvents.dragIn,[u,this._transferData.dropPosition,o.collectionStore.getItem(l)])&&this._canDrop();else this._cancelCanDrop()}else this._canMove&&this._cancelCanDrop()},t.prototype._move=function(t,e){var i=t.target.data,n=e.target.data,o=0,a=e.id;switch(s.isTreeCollection(n)?e.target.config.dropBehaviour:void 0){case r.DropBehaviour.child:break;case r.DropBehaviour.sibling:a=n.getParent(a),o=n.getIndex(e.id)+1;break;case r.DropBehaviour.complex:var l=this._transferData.dropPosition;l===r.DropPosition.top?(a=n.getParent(a),o=n.getIndex(e.id)):l===r.DropPosition.bot&&(a=n.getParent(a),o=n.getIndex(e.id)+1);break;default:o=e.id?t.target===e.target&&n.getIndex(t.id)1?this._selectedIds.map(function(t){i.copy(t,o,n,a),o>-1&&o++}):i.copy(t.id,o,n,a):this._selectedIds instanceof Array&&this._selectedIds.length>1?this._selectedIds.map(function(t){i.move(t,o,n,a),o>-1&&o++}):i.move(t.id,o,n,a)},t.prototype._endDrop=function(){this._toggleTextSelection(!1),this._transferData.target&&this._transferData.target.events.fire(r.DragEvents.dragEnd,[this._transferData.id,this._selectedIds]),this._cancelCanDrop(),this._canMove=!0,this._transferData={},this._lastId=null,this._lastCollectionId=null},t.prototype._cancelCanDrop=function(){this._canMove=!1;var t=o.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(r.DragEvents.cancelDrop,[this._lastId]),this._lastCollectionId=null,this._lastId=null},t.prototype._canDrop=function(){this._canMove=!0;var t=o.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(r.DragEvents.canDrop,[this._lastId,this._transferData.dropPosition])},t.prototype._toggleTextSelection=function(t){t?document.body.classList.add("dhx_no-select"):document.body.classList.remove("dhx_no-select")},t}(),l=window.dhxHelpers=window.dhxHelpers||{};l.dragManager=l.dragManager||new a,e.dragManager=l.dragManager},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this._store={}}return t.prototype.setItem=function(t,e){this._store[t]=e},t.prototype.getItem=function(t){return this._store[t]?this._store[t]:null},t}(),o=window.dhxHelpers=window.dhxHelpers||{};o.collectionStore=o.collectionStore||new n,e.collectionStore=o.collectionStore},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),o=i(28),r=i(11),s=function(){function t(t,e,i){var o=this;this.events=i||new n.EventSystem(this),this._data=e,this._data.events.on(r.DataEvents.removeAll,function(){o._selected=null}),this._data.events.on(r.DataEvents.change,function(){if(o._selected){var t=o._data.getNearId(o._selected);t!==o._selected&&(o._selected=null,t&&o.add(t))}})}return t.prototype.getId=function(){return this._selected},t.prototype.getItem=function(){return this._selected?this._data.getItem(this._selected):null},t.prototype.remove=function(t){return!(t=t||this._selected)||!!this.events.fire(o.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=null,this.events.fire(o.SelectionEvents.afterUnSelect,[t]),!0)},t.prototype.add=function(t){this._selected!==t&&(this.remove(),this.events.fire(o.SelectionEvents.beforeSelect,[t])&&(this._selected=t,this._data.update(t,{$selected:!0}),this.events.fire(o.SelectionEvents.afterSelect,[t])))},t}();e.Selection=s},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(100)),n(i(48)),n(i(29))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ithis.data.getLength()-1)){this._focusIndex=t;var e=this.getRootView();if(e&&e.node&&e.node.el){var i=this.getRootNode();if(i){if(this.config.virtual){var n=t*v.defineValue(this.config.itemHeight);(n>=v.defineValue(this._visibleHeight)+this._topOffset||n=i.scrollTop+i.clientHeight-o.clientHeight?i.scrollTop=o.offsetTop-i.clientHeight+o.clientHeight:o.offsetTope-v.defineValue(this._visibleHeight)&&(t=e-v.defineValue(this._visibleHeight));var i=Math.floor(v.defineValue(this._visibleHeight)/v.defineValue(this.config.itemHeight))+5,n=Math.floor(t/v.defineValue(this.config.itemHeight));this._range=[n,i+n],this._topOffset=t,this.paint()},e.prototype._getHeight=function(){return this.data.getLength()*v.defineValue(this.config.itemHeight)},e.prototype._getHotkeys=function(){var t=this;if(this.config.keyNavigation)if(this._edited)this._navigationDestructor&&this._navigationDestructor();else{var e=this.config.keyNavigation;"function"!=typeof this.config.keyNavigation&&(this._widgetInFocus=!1,e=function(){return t._widgetInFocus},this._documentClickDestuctor=r.detectWidgetClick(this._uid,function(e){return t._widgetInFocus=e}));var i=function(t){return function(e){e.preventDefault(),t()}},n={arrowDown:i(function(){return t.setFocusIndex(t._focusIndex+1)}),arrowUp:i(function(){return t.setFocusIndex(t._focusIndex-1)}),enter:function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i),t.events.fire(p.ListEvents.click,[i,e])},"enter+shift":function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i,!1,!0),t.events.fire(p.ListEvents.click,[i,e])},"enter+ctrl":function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i,!0,!1),t.events.fire(p.ListEvents.click,[i,e])}};f.isIE()&&(delete(n=o({up:n.arrowUp,down:n.arrowDown},n)).arrowUp,delete n.arrowDown),this._navigationDestructor=c.addHotkeys(n,e)}},e}(d.View);e.List=g},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(102);e.getEditor=function(t,e){return new n.InputEditor(t,e)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(29),r=function(){function t(t,e){var i=this;this._list=e,this._config=e.config,this._item=t,this._list.events.on(o.ListEvents.focusChange,function(t,e){i._mode&&e!==i._item.id&&i.endEdit()}),this._initHandlers()}return t.prototype.endEdit=function(){if(this._input){var t=this._input.value;this._list.events.fire(o.ListEvents.beforeEditEnd,[t,this._item.id])?(this._input.removeEventListener("blur",this._handlers.onBlur),this._input.removeEventListener("change",this._handlers.onChange),this._handlers={},this._mode=!1,this._list.events.fire(o.ListEvents.afterEditEnd,[t,this._item.id])):this._input.focus()}},t.prototype.toHTML=function(){this._mode=!0;var t=this._config.itemHeight;return n.el(".dhx_input__wrapper",{},[n.el("div.dhx_input__container",{},[n.el("input.dhx_input",{class:this._item.css?" "+this._item.css:"",style:{height:t,width:"100%",padding:"8px, 12px"},_hooks:{didInsert:this._handlers.didInsert},_key:this._item.id,dhx_id:this._item.id})])])},t.prototype._initHandlers=function(){var t=this;this._handlers={onBlur:function(){t.endEdit()},onChange:function(){t.endEdit()},didInsert:function(e){var i=e.el;t._input=i,i.focus(),i.value=t._item.value,i.setSelectionRange(0,i.value.length),i.addEventListener("change",t._handlers.onChange),i.addEventListener("blur",t._handlers.onBlur)}}},t}();e.InputEditor=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.defineValue=function(t){if(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return parseInt(e.split(/\D+/g)[0],null)}},e.defineUnit=function(t){if(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return e.slice(e.split(/\D+/g)[0].length)}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){var t=this;this._sequence="",document.addEventListener("keydown",function(e){if(t._isActive){var i=e.key;"Backspace"===i&&t._sequence.length>0&&(t._sequence=t._sequence.slice(0,t._sequence.length-1),t._change()),i.length<2&&(t._sequence+=i,t._change())}})}return t.prototype.startNewListen=function(t){this._isActive=!0,this._sequence="",this._currentAction=t},t.prototype.endListen=function(){this._currentAction=null,this.reset(),this._isActive=!1},t.prototype.reset=function(){this._sequence=""},t.prototype._change=function(){this._currentAction(this._sequence),this._addClearTimeout()},t.prototype._addClearTimeout=function(){var t=this;this._clearTimeout&&clearTimeout(this._clearTimeout),this._clearTimeout=setTimeout(function(){t.reset(),t._clearTimeout=null},2e3)},t}();e.KeyListener=n},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(49);e.selectAllView=function(){return n.el(".dhx_list-item.dhx_combobox-options__item.dhx_combobox-options__item--select-all.dhx_combobox__action-select-all",o.default.selectAll)},e.unselectAllView=function(){return n.el(".dhx_list-item.dhx_combobox-options__item.dhx_combobox-options__item--select-all.dhx_combobox__action-select-all",o.default.unselectAll)},e.emptyListView=function(){return n.el("ul.dhx_list",[n.el("li.dhx_list-item.dhx_combobox-options__item",{},o.default.notFound)])}},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i0;return this.config.$validationStatus=t?p.ValidationStatus.success:p.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=p.ValidationStatus.pre,this.paint()},e.prototype.clear=function(){this.data.removeAll(),this.paint()},e.prototype.getValue=function(){return this.data.map(function(t){return t.file})||[]},e.prototype.getWidget=function(){return this._uploader},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!h.isEmptyObj(t)){for(var i in this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.config.labelInline&&(this.config.labelPosition="left"),this.config.helpMessage=this.config.helpMessage||this.config.help,this.events.on(p.BaseElementEvent.change,function(){e.validate(),e.paint()}),this.events.fire(p.BaseElementEvent.configUpdate,[this.config]),this.paint()}},e.prototype._draw=function(){var t=this;this.config.helpMessage&&(this._helper?this._helper.attachHTML(this.config.helpMessage):(this._helper=new d.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.helpMessage)));var e=this.data.getLength()?r.el("ul.dhx_simplevault__files.dhx_simplevault-files",{class:this.config.$vaultHeight?"":"dhx_simplevault-files__fixed"},this.data.map(function(e){return r.el("li.dhx_simplevault-files__item",[r.el("span.dhx_simplevault-files__item-name",e.file.name),r.el(".dhx_button.dhx_simplevault-files__delete.dhx_button--icon.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle",{dhx_id:e.id,onclick:t._handlers.remove},[r.el("span.dxi.dxi-delete-forever")])])})):null,i=this.config,n=i.id,o=i.labelPosition,s=i.label,a=i.labelWidth,l=i.helpMessage,c=i.disabled,u=i.required,p=i.validation,_="left"===o&&a?a:"";return r.el(".dhx_form-group.dhx_form-group--simplevault",{class:h.getFormItemCss(this.config,Boolean(u)||Boolean(p))},[r.el("label.dhx_label",{for:n||this._uid,style:{minWidth:_,maxWidth:_},class:l?"dhx_label--with-help":"",onclick:this._handlers.add},l?[r.el("span.dhx_label__holder",s),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:s),r.el(".dhx_input__wrapper",[r.el("div",{_hooks:{didInsert:function(e){t._uploader.linkDropArea(e.el)}},ondragover:this._handlers.ondragover,class:"dhx_simplevault"+(this._dragover?" dhx_simplevault--on-drag":"")},[r.el("div.dhx_simplevault-loader",[r.el("span.dhx_simplevault__icon.dxi.dxi-vault")]),r.el(".dhx_simplevault__drop-area",[r.el("input.dhx_simplevault__input",{type:"file",id:n,disabled:c}),r.el("span.dhx_simplevault__icon.dxi.dxi-vault"),r.el("span.dhx_simplevault__title",[r.el("span",f.default.simpleVaultText),r.el("br"),r.el("label.dhx_simplevault__label",{onclick:this._handlers.add,for:n}," "+f.default.simpleVaultLabel)])]),e]),h.getValidationMessage(this.config)&&r.el("span.dhx_input__caption",{},h.getValidationMessage(this.config))])])},e}(l.View);e.SimpleVault=_},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(51)),n(i(109)),n(i(18))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ie.left+e.width-1||i.pageXe.top+e.height-1||i.pageY0?1:-1)*o.config.speed,i=o._getRefs().area,n=i.scrollHeight-o._runnerHeight,r=o._scrollTop+e;i.scrollTop=r<0?0:r>n?n:r,o._update()},i.onmousedownRunner=function(t){t.preventDefault();var e=o._getRefs(),i=e.area,n=e.runner,r=i.getBoundingClientRect(),s=r.top+window.pageYOffset,a=r.bottom+window.pageYOffset,l=i.scrollHeight-o._runnerHeight,c=t.pageY-n.getBoundingClientRect().top-window.pageYOffset,u=function(t){var e=t.pageY-c;i.scrollTop=e<=s?0:e>a?l:(e-s)/o._visibleArea,o._update()},d=function(){document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",d),document.body.classList.remove("dhx-no-select")};document.body.classList.add("dhx-no-select"),document.addEventListener("mousemove",u),document.addEventListener("mouseup",d)},i.onmousedownTrack=function(t){if(!t.target.classList.contains("scroll-runner")){t.preventDefault();var e=function(){document.removeEventListener("mouseup",e),window.clearInterval(l)},i=o._getRefs().area,n=t.target.getBoundingClientRect().top+window.pageYOffset,r=i.scrollHeight-o._runnerHeight,s=t.pageY,a=function(){var t;if(sn+o._runnerTop+o._runnerHeight))return;(t=o._scrollTop+i.clientHeight)>r&&(t=r)}i.scrollTop=t,o._update()};a();var l=setInterval(a,100);document.addEventListener("mouseup",e)}},i)}return t.prototype.render=function(t){var e,i=this;return 0===this._scrollWidth?t:o.el(".scroll-view-wrapper",{style:{width:"100%",height:"100%",overflow:"hidden",position:"relative"}},[o.el(".scroll-view",{onscroll:this._handlers.onscroll,_ref:"scroll-view",_hooks:{didInsert:function(){i._update()},didRecycle:function(){i._update()}},style:{height:"100%",width:"calc(100% + "+this._scrollWidth+"px)",overflowY:"scroll","-ms-overflow-style":"scrollbar"}},[t]),o.el(".y-scroll",(e={onmousedown:this._handlers.onmousedownTrack},e[this._wheelName]=this._handlers[this._wheelName],e.style={width:"10px",height:"100%",right:0,top:0,position:"absolute"},e),[o.el(".scroll-runner",{_ref:"scroll-runner",onmousedown:this._handlers.onmousedownRunner,style:{height:this._runnerHeight+"px",right:"2px",top:this._runnerTop,width:"6px",position:"absolute"}})])])},t.prototype._update=function(){var t=this._getRefs();if(t){var e=t.area,i=t.runner;this._visibleArea=e.clientHeight/e.scrollHeight,this._scrollTop=e.scrollTop,this._runnerTop=this._scrollTop*this._visibleArea,this._visibleArea<1?this._runnerHeight=e.clientHeight*this._visibleArea:this._runnerHeight=0,i.style.top=this._runnerTop+"px",i.style.height=this._runnerHeight+"px"}},t.prototype._getRefs=function(){var t=this._getRootView();if(t.refs&&t.refs["scroll-view"]&&t.refs["scroll-runner"])return{area:t.refs["scroll-view"].el,runner:t.refs["scroll-runner"].el}},t}();e.ScrollView=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}(i(112));var n=i(52);e.ItemType=n.ItemType,e.NavigationBarEvents=n.NavigationBarEvents},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(2),r=i(0),s=i(4),a=i(52),l=i(26),c=function(t){function e(e,i){var n=t.call(this,e,o.extend({navigationType:"click"},i))||this;n._currentRoot=null;return n.mount(e,r.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.getState=function(){var t={};for(var e in this.data.eachChild(this.data.getRoot(),function(e){e.twoState&&!e.group?t[e.id]=e.active:e.type!==a.ItemType.input&&e.type!==a.ItemType.selectButton||(t[e.id]=e.value)},!1),this._groups)this._groups[e].active&&(t[e]=this._groups[e].active);return t},e.prototype.setState=function(t){for(var e in t)if(this._groups&&this._groups[e])this._groups[e].active&&(this.data.update(this._groups[e].active,{active:!1}),this._groups[e].active=t[e],this.data.update(t[e],{active:!0}));else{var i=this.data.getItem(e);i.type===a.ItemType.input||i.type===a.ItemType.selectButton?this.data.update(e,{value:t[e]}):this.data.update(e,{active:t[e]})}},e.prototype._customHandlers=function(){var t=this;return{input:function(e){var i=s.locate(e);t.data.update(i,{value:e.target.value})},tooltip:function(e){var i=s.locateNode(e);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);o.tooltip&&l.tooltip(o.tooltip,{node:i,position:l.Position.bottom})}}}},e.prototype._getFactory=function(){return a.createFactory({widget:this,defaultType:a.ItemType.navItem,allowedTypes:[a.ItemType.button,a.ItemType.customHTMLButton,a.ItemType.imageButton,a.ItemType.input,a.ItemType.selectButton,a.ItemType.separator,a.ItemType.spacer,a.ItemType.title,a.ItemType.navItem,a.ItemType.menuItem,a.ItemType.customHTML],widgetName:"toolbar"})},e.prototype._draw=function(){var t=this;return r.el("nav.dhx_widget.dhx_toolbar",{class:this.config.css?this.config.css:""},[r.el("ul.dhx_navbar.dhx_navbar--horizontal",{dhx_widget_id:this._uid,tabindex:0,onclick:this._handlers.onclick,onmousedown:this._handlers.onmousedown,oninput:this._handlers.input,onmouseover:this._handlers.tooltip,_hooks:{didInsert:function(e){e.el.addEventListener("keyup",function(e){if(9===e.which){var i=s.locateNode(document.activeElement);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);o.tooltip&&l.tooltip(o.tooltip,{node:i,position:l.Position.bottom,force:!0})}}},!0)}}},this.data.map(function(e){return t._factory(e)},this.data.getRoot(),!1))])},e.prototype._getMode=function(t,e){return t.id===e?"bottom":"right"},e.prototype._close=function(e){this._activePosition=null,this._currentRoot=null,t.prototype._close.call(this,e)},e.prototype._setRoot=function(t){this.data.getParent(t)===this.data.getRoot()&&(this._currentRoot=t)},e}(a.Navbar);e.Toolbar=c},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i50&&(r-=55),o=setTimeout(s,r)},a=function(){clearTimeout(o),document.removeEventListener("mouseup",a)};s(),document.addEventListener("mouseup",a)}}}},this._customHandlers())},e.prototype._initEvents=function(){var t=this,e=null;this.data.events.on(h.DataEvents.change,function(){t.paint(),e&&clearTimeout(e),e=setTimeout(function(){var i={};t.data.eachChild(t.data.getRoot(),function(t){t.group&&(t.twoState=!0,function(t,e){t[e.group]?(e.active&&(t[e.group].active=e.id),t[e.group].elements.push(e.id)):t[e.group]={active:e.active?e.id:null,elements:[e.id]}}(i,t))},!0),t._groups=i,t._resetHotkeys(),e=null,t.paint()},100)}),this.events.on(h.NavigationBarEvents.click,function(e){var i=t.data.getItem(e),n=t.data.getItem(i.parent);if(n&&n.type===h.ItemType.selectButton&&t.data.update(i.parent,{value:i.value,icon:i.icon}),i.group){var o=t._groups[i.group];o.active&&t.data.update(o.active,{active:!1}),o.active=i.id,t.data.update(i.id,{active:!0})}}),this._customInitEvents()},e.prototype._getMode=function(t,e,i){return void 0===i&&(i=!1),t.parent===e?"bottom":"right"},e.prototype._drawMenuItems=function(t,e){var i=this;return void 0===e&&(e=!0),this.data.map(function(t){return i._factory(t,e)},t,!1)},e.prototype._setRoot=function(t){},e.prototype._getParents=function(t,e){var i=[],n=!1,o=this.data.getItem(t),r=o&&o.disabled;return this.data.eachParent(t,function(t){t.id===e?(i.push(t.id),n=!0):n||i.push(t.id)},!r),this._isContextMenu&&this._activePosition&&i.push(e),i},e.prototype._listenOuterClick=function(){this._documentHaveListener||(document.addEventListener("click",this._documentClick,!0),this._documentHaveListener=!0)},e.prototype._customInitEvents=function(){},e.prototype._drawPopups=function(){var t=this,e=this._activeMenu;if(!this._isContextMenu&&!e)return null;var i=this._currentRoot;if(this._isContextMenu&&!this._activePosition)return null;var n=this._getParents(e,i);return this._activeParents=n,n.forEach(function(e){return t.data.exists(e)&&t.data.update(e,{$activeParent:!0},!1)}),n.map(function(e){if(!t.data.haveItems(e))return null;var n=t.data.getItem(e)||t._rootItem;return t._popupActive=!0,s.el("ul",{class:"dhx_widget dhx_menu"+(t.config.menuCss?" "+t.config.menuCss:""),_key:e,_hooks:{didInsert:function(o){var r=o.el.getBoundingClientRect(),s=r.width,a=r.height,c=t._isContextMenu&&t._activePosition&&e===i?t._activePosition:n.$position,u=t._getMode(n,i,c===t._activePosition),d=l.calculatePosition(c,{mode:u,width:s,height:a});n.$style=d,o.patch({style:d})},didRecycle:function(o,r){if(t._isContextMenu&&t._activePosition&&e===i){var s=r.el.getBoundingClientRect(),a=s.width,c=s.height,u=l.calculatePosition(t._activePosition,{mode:t._getMode(n,i,!0),width:a,height:c});n.$style=u,r.patch({style:u})}}},tabindex:0,style:n.$style||{position:"absolute"}},t._drawMenuItems(e))}).reverse()},e.prototype._onMenuItemClick=function(t,e){var i=this.data.getItem(t);i.disabled||(i.twoState&&this.data.update(i.id,{active:!i.active}),this.events.fire(h.NavigationBarEvents.click,[t,e]),this._close(e))},e.prototype._activeItemChange=function(t,e){var i=this;if(this._activeParents){var n=this._getParents(t,this._currentRoot);this._activeParents.forEach(function(t){i.data.exists(t)&&-1===n.indexOf(t)&&i.data.update(t,{$activeParent:!1},!1)})}t&&!this._documentHaveListener&&this._listenOuterClick(),t&&this.data.haveItems(t)?(this._activeMenu===t&&this._popupActive||this.events.fire(h.NavigationBarEvents.openMenu,[t]),this._activeMenu=t,clearTimeout(this._currentTimeout),this.paint()):(clearTimeout(this._currentTimeout),this._currentTimeout=setTimeout(function(){return i.paint()},400))},e.prototype._resetHotkeys=function(){var t=this;c.keyManager.removeHotKey(null,this),this.data.map(function(e){e.hotkey&&c.keyManager.addHotKey(e.hotkey,function(){return t._onMenuItemClick(e.id,null)},t)})},e.prototype._setProp=function(t,e,i){var n,o=this;Array.isArray(t)?t.forEach(function(t){var n;return o.data.update(t,((n={})[e]=i,n))}):this.data.update(t,((n={})[e]=i,n))},e}(u.View);e.Navbar=f},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),o=i(116),r=i(117),s=i(118),a=i(119),l=i(120),c=i(121),u=i(122),d=i(123),h=i(14),f=i(15);e.createFactory=function(t){for(var e=t.defaultType,i=t.allowedTypes,p=t.widgetName,_=t.widget,v=new Set,g=0,m=i;g0&&o.getCount(t,r,i),t.value&&t.$openIcon?n.el("span.dhx_button__icon.dhx_button__icon--menu.dxi.dxi-menu-right"):null,t.loading&&n.el("span.dhx_button__loading",[n.el("span.dhx_button__loading-icon.dxi.dxi-loading")])])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(15);e.navItem=function(t,e,i){var r=" dhx_"+e+"-button";return n.el("button",{class:"dhx_button"+r+(t.active||t.$activeParent?r+"--active":"")+(t.disabled?r+"--disabled":"")+(t.$openIcon?r+"--select":"")+(t.circle?r+"--circle":"")+(t.size?" "+r+"--"+t.size:"")+(!t.value&&t.icon?r+"--icon":"")+(t.css?" "+t.css:""),dhx_id:t.id,disabled:t.disabled,type:"button"},[t.icon&&n.el("span",{class:t.icon+r+"__icon"}),t.html&&n.el("div",{class:r.trim()+"__html",".innerHTML":t.html}),!t.html&&t.value&&n.el("span",{class:r.trim()+"__text"},t.value),t.count>0&&o.getCount(t,r+"__count",i),t.$openIcon&&n.el("span.dxi.dxi-menu-right",{class:r+"__caret"})])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0);e.customHTMLButton=function(t,e,i){var o=i?" dhx_button dhx_menu-button":" dhx_button dhx_nav-menu-button";return n.el("button",{class:"dhx_custom-button"+o+(t.$activeParent?o+"--active":""),dhx_id:t.id,type:"button",".innerHTML":t.html},t.html?"":t.value)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(15);e.imageButton=function(t,e){var i="dhx_"+e+"-button-image",r="ribbon"===e;return n.el("button.dhx_button",{class:i+(t.size?" "+i+"--"+t.size:"")+(!t.value&&t.src?" "+i+"--icon":"")+(r&&t.$openIcon?" "+i+"--select":"")+(t.active?" "+i+"--active":""),dhx_id:t.id,type:"button"},[r&&t.value&&t.$openIcon&&n.el("span.dxi.dxi-menu-right",{class:i+"__caret"}),t.html?n.el("div",{class:i+"__text",".innerHTML":t.html}):t.value&&n.el("span",{class:i+"__text"},t.value),t.src&&n.el("span",{class:i+"__image",style:{backgroundImage:"url("+t.src+")"}}),t.count>0&&o.getCount(t,i+"__count",!0)])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(14);function r(t,e){t.fire(o.NavigationBarEvents.inputBlur,[e])}function s(t,e){t.fire(o.NavigationBarEvents.inputFocus,[e])}e.input=function(t,e,i){return n.el(".dhx_form-group.dhx_form-group--no-message-holder.dhx_form-group--label_sr.dhx_"+i+"__input",{style:{width:t.width?t.width:"200px"}},[n.el("label.dhx_label",{for:t.id},t.label),n.el(".dhx_input__wrapper",[n.el("input.dhx_input",{placeholder:t.placeholder,class:t.icon?"dhx_input--icon-padding":"",value:t.value,onblur:[r,e,t.id],onfocus:[s,e,t.id],dhx_id:t.id,_hooks:{didInsert:function(i){e&&e.fire(o.NavigationBarEvents.inputCreated,[t.id,i.el])}},_key:t.id}),t.icon?n.el(".dhx_input__icon",{class:t.icon}):null])])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(15);e.menuItem=function(t,e,i){var r=i?" dhx_menu-button":" dhx_nav-menu-button";return n.el("button",{class:"dhx_button"+r+(t.disabled?r+"--disabled":"")+(t.$activeParent?r+"--active":""),disabled:t.disabled,dhx_id:t.id,type:"button"},i?[t.icon||t.value||t.html?n.el("span.dhx_menu-button__block.dhx_menu-button__block--left",[t.icon&&n.el("span.dhx_menu-button__icon",{class:t.icon}),t.html?n.el("div.dhx_menu-button__text",{".innerHTML":t.html}):t.value&&n.el("span.dhx_menu-button__text",t.value)]):null,t.count>0||t.hotkey||t.items?n.el("span.dhx_menu-button__block.dhx_menu-button__block--right",[t.count>0&&o.getCount(t," dhx_menu-button__count",!1),t.hotkey&&n.el("span.dhx_menu-button__hotkey",t.hotkey),t.items&&n.el("span.dhx_menu-button__caret.dxi.dxi-menu-right")]):null]:[t.icon&&n.el("span.dhx_menu-button__icon",{class:t.icon}),t.html?n.el("div.dhx_menu-button__text",{".innerHTML":t.html}):t.value&&n.el("span.dhx_nav-menu-button__text",t.value)])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.separator=function(t,e){return null}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.spacer=function(t,e){return null}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0);e.title=function(t,e){return n.el("span",{class:"dhx_navbar-title dhx_navbar-title--"+e,".innerHTML":t.html},t.html?null:t.value)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.layoutConfig={css:"vault-layout",rows:[{id:"topbar",css:"vault-topbar"},{id:"vault",css:"vault-file-grid"}]},e.layoutConfigWithoutTopbar={css:"vault-layout",rows:[{id:"vault",css:"vault-file-grid"}]}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(30),o=["byte","kilobyte","megabyte","gigabyte"];e.getBasis=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),t<1024?t+" "+n.default[o[e]]:this.getBasis(Math.round(t/1024),e+1)};var r,s=13;function a(t){return{extension:t.name.split(".").pop()||"none",mime:t.file?t.file.type:""}}function l(t,e){switch(t){case"jpg":case"jpeg":case"gif":case"png":case"bmp":case"tiff":case"pcx":case"svg":case"ico":return r.image;case"avi":case"mpg":case"mpeg":case"rm":case"move":case"mov":case"mkv":case"flv":case"f4v":case"mp4":case"3gp":case"wmv":case"webm":case"vob":return r.video;case"rar":case"zip":case"tar":case"tgz":case"arj":case"gzip":case"bzip2":case"7z":case"ace":case"apk":case"deb":case"zipx":case"cab":case"tar-gz":case"rpm":case"xar":return r.archive;case"xlr":case"xls":case"xlsm":case"xlsx":case"ods":case"csv":case"tsv":return r.table;case"doc":case"docx":case"docm":case"dot":case"dotx":case"odt":case"wpd":case"wps":case"pages":return r.document;case"wav":case"aiff":case"au":case"mp3":case"aac":case"wma":case"ogg":case"flac":case"ape":case"wv":case"m4a":case"mid":case"midi":return r.audio;case"pot":case"potm":case"potx":case"pps":case"ppsm":case"ppsx":case"ppt":case"pptx":case"pptm":case"odp":return r.presentation;case"html":case"htm":case"eml":return r.web;case"exe":return r.application;case"dmg":return r.apple;case"pdf":case"ps":case"eps":return r.pdf;case"psd":return r.psd;case"txt":case"djvu":case"nfo":case"xml":return r.text;default:switch(e.split("/")[0]){case"image":return r.image;case"audio":return r.audio;case"video":return r.video;default:return r.other}}}e.truncateWord=function(t,e){var i,n;if(void 0===e&&(e=s),t.length<=e)return t;var o=t.lastIndexOf(".");if(-1===o)n=t.substr(t.length-4),i=t.substr(0,e-7);else{var r=o-3;n=t.substr(r),i=t.substr(0,e-(t.length-r))}return i+"..."+n},e.calculateCover=function(t){var e,i,n,o,r=t.width,s=t.height,a=r/s;return a>1?(e=s,n=(r-(i=s))/2,o=0):a<1?(i=r,n=0,o=(s-(e=r))/2):(e=r,i=r,n=0,o=0),{sx:n,sy:o,sWidth:i,sHeight:e,dx:0,dy:0}},function(t){t.image="image",t.video="video",t.archive="archive",t.table="table",t.document="document",t.presentation="presentation",t.application="application",t.web="web",t.apple="apple",t.pdf="pdf",t.psd="psd",t.audio="audio",t.other="other",t.text="text"}(r=e.FileType||(e.FileType={})),e.getFileType=l,e.getFileClassName=function(t){var e=a(t),i=e.mime,n=e.extension;return l(n,i)+" extension-"+n},e.isImage=function(t){var e=a(t),i=e.mime;return l(e.extension,i)===r.image}},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(3),s=i(30),a=i(18),l=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=e,n._progress=0;return n.mount(null,o.create({render:function(){return n._draw()}})),n._abortUpload=function(){n.events.fire(a.ProgressBarEvents.cancel)},n}return n(e,t),e.prototype.setState=function(t,e){this._progress=t,this.config.template?this._progressText=this.config.template(t,e):this._progressText=this._progress.toFixed(1)+"%",this.paint()},e.prototype._draw=function(){return o.el(".progress-bar",{_key:this._uid},[o.el(".progress-indicator",{style:{width:this._progress+"%"}}),o.el(".progress-text",{".innerHTML":this._progressText}),o.el("button",{class:"dhx_btn dhx_btn--flat dhx_btn_small action-abort-all",onclick:this._abortUpload},s.default.cancel)])},e}(r.View);e.ProgressBar=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this._readerStack=[],this._isActive=!1,this._data=t}return t.prototype.add=function(t,e){void 0===e&&(e=!1),this._readerStack.push(t),e||this.read()},t.prototype.read=function(){var t=this;if(this._readerStack.length&&!this._isActive){var e=this._readerStack.shift();this._isActive=!0;var i=new FileReader;i.readAsDataURL(e.file),i.onload=function(i){var n=new Image;n.src=i.target.result,n.onload=function(){t._data.exists(e.id)&&t._data.update(e.id,{image:n}),t._isActive=!1,t.read()}},i.onerror=function(){t._isActive=!1,t.read()}}},t.prototype.stop=function(){this._readerStack=[]},t}();e.ReadStackPreview=n},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(20),r=i(0),s=i(10),a=i(7),l=i(1),c=i(6),u=i(5),d=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=new l.EventSystem,n._initView(i);return n.mount(e,r.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.isDisabled=function(){return this.config.disabled},e.prototype.validate=function(){var t,e=this.config,i=e.required,n=e.value;return t=e.validation?this.config.validation(n):!i||Boolean(n),this.config.$validationStatus=t?c.ValidationStatus.success:c.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=c.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.timepicker.setValue(t),this.config.controls&&this.timepicker.events.fire(o.TimepickerEvents.apply,[]),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.clear=function(){12===this.config.timeFormat?this.timepicker.setValue("12:00AM"):this.timepicker.setValue("00:00"),this.config.value=""},e.prototype.getWidget=function(){return this.timepicker},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!u.isEmptyObj(t)){for(var i in this.timepicker&&this.timepicker.destructor(),this._popup&&this._popup.destructor(),this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1,editable:!1,value:""},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.config.editable=this.config.editable||this.config.editing,this._popup=new a.Popup({css:"dhx_widget--border-shadow"}),this.timepicker=new o.Timepicker(null,t),this._popup.attach(this.timepicker),this.config.value&&(this.timepicker.setValue(this.config.value),this.config.value=this.timepicker.getValue()),this.config.controls?(this.timepicker.events.on(o.TimepickerEvents.close,function(){e._popup.hide()}),this.timepicker.events.on(o.TimepickerEvents.apply,function(){e.config.value=e.timepicker.getValue(),e.validate(),e._popup.hide()}),this._popup.events.on(a.PopupEvents.afterHide,function(){var t=e.config.value;t&&t!==e.timepicker.getValue()&&e.timepicker.setValue(t),""===t&&e.clear(),e.paint()})):(this.timepicker.events.on(o.TimepickerEvents.change,function(){e.config.value=e.timepicker.getValue(),e.validate()}),this._popup.events.on(a.PopupEvents.afterHide,function(){e.paint()})),this.events.on(c.BaseElementEvent.change,function(t){var i=12===e.config.timeFormat?7:5;if(t.length>=i){var n=e._inputValidate(t);e._inputValidate(t)?e.timepicker.setValue(n):e.validate()}}),this.events.fire(c.BaseElementEvent.configUpdate,[this.config]),this.clearValidate()}},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onkeyup:function(e){var i=e.target.value.trim();t.config.controls||13!==e.keyCode||(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur());(e.which>=48&&e.which<=57||e.which>=65&&e.which<=90||e.which>=96&&e.which<=105)&&t.events.fire(c.BaseElementEvent.change,[i])}}},e.prototype._inputValidate=function(t){var e=this.config.timeFormat;return u.isTimeFormat(t,e)?t:""},e.prototype._draw=function(){var t=this.config,e=t.value,i=t.required,n=t.disabled,o=t.placeholder,s=t.name,a=t.id,l=t.validation,c=t.editable;return r.el("div.dhx_form-group",{class:u.getFormItemCss(this.config,Boolean(i)||Boolean(l))},[this._drawLabel(),r.el(".dhx_input__wrapper",[r.el("div.dhx_input__container",{},[r.el(".dhx_input__icon.dxi.dxi-clock-outline"),r.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:e,type:"text",_ref:"input",required:i,disabled:n,placeholder:o||"",name:s||"",id:a||this._uid,onfocus:this._handlers.onfocus,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!c})]),u.getValidationMessage(this.config)&&r.el("span.dhx_input__caption",{},u.getValidationMessage(this.config))])])},e}(s.Label);e.TimeInput=d},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(38),r=i(1),s=i(0),a=i(10),l=i(7),c=i(6),u=i(5),d=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=new r.EventSystem,n._initView(i);return n.mount(e,s.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.isDisabled=function(){return this.config.disabled},e.prototype.validate=function(){var t,e=this.config,i=e.required,n=e.value;return t=e.validation?this.config.validation(n):!i||Boolean(n),this.config.$validationStatus=t?c.ValidationStatus.success:c.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=c.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.config.value=t,this.colorpicker.setValue(t),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.clear=function(){this.config.value="",this.paint()},e.prototype.getWidget=function(){return this.colorpicker},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!u.isEmptyObj(t)){for(var i in this.colorpicker&&this.colorpicker.destructor(),this._popup&&this._popup.destructor(),this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1,editable:!1,value:""},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.config.editable=this.config.editable||this.config.editing,this._popup=new l.Popup({css:"dhx_widget--border-shadow"}),this.colorpicker=new o.Colorpicker(null,t),this._popup.attach(this.colorpicker),this.config.value&&(this.colorpicker.setValue(this.config.value),this.config.value=this.colorpicker.getValue()),this.colorpicker.events.on(o.ColorpickerEvents.change,function(){e.config.value=e.colorpicker.getValue(),e._popup.hide(),e.validate()}),this.events.on(c.BaseElementEvent.change,function(t){var i=e._inputValidate(t);e._inputValidate(t)?e.setValue(i):e.validate()}),this.events.fire(c.BaseElementEvent.configUpdate,[this.config]),this.clearValidate()}},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onchange:function(e){var i=e.target.value;t.events.fire(c.BaseElementEvent.change,[i])},onkeyup:function(e){13===e.keyCode&&(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur())}}},e.prototype._inputValidate=function(t){return o.isHex(t)?t:""},e.prototype._draw=function(){var t=this.config,e=t.required,i=t.value,n=t.icon,o=t.disabled,r=t.placeholder,a=t.name,l=t.id,c=t.editable;return s.el("div.dhx_form-group",{class:u.getFormItemCss(this.config,Boolean(e)||Boolean(this.config.validation))},[this._drawLabel(),s.el(".dhx_input__wrapper",[s.el("div.dhx_input__container",{},[s.el(".dhx_input__icon",{class:n||"dxi dxi-eyedropper-variant"+(i?" dhx_input__icon--color-selected":""),style:{"background-color":i||"transparent"}}),s.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:i,type:"text",_ref:"input",required:e,disabled:o,placeholder:r||"",name:a||"",id:l||this._uid,onfocus:this._handlers.onfocus,onchange:this._handlers.onchange,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!c})]),u.getValidationMessage(this.config)&&s.el("span.dhx_input__caption",{},u.getValidationMessage(this.config))])])},e}(a.Label);e.ColorpickerInput=d},function(t,e,i){}])}),window.dhx_legacy){if(window.dhx)for(var key in dhx)dhx_legacy[key]=dhx[key];window.dhx=dhx_legacy,delete window.dhx_legacy} \ No newline at end of file diff --git a/samples/dataview/index.html b/samples/dataview/index.html index 5815a5f..3dc1bf5 100644 --- a/samples/dataview/index.html +++ b/samples/dataview/index.html @@ -4,19 +4,21 @@ - + Samples - DHTMLX Dataview -
    +

    diff --git a/samples/form/01_init/01_init.html b/samples/form/01_init/01_init.html index a626c2b..eb76558 100644 --- a/samples/form/01_init/01_init.html +++ b/samples/form/01_init/01_init.html @@ -6,14 +6,16 @@ - - - + + + + + @@ -37,45 +39,54 @@

    - Initialization. +
    + Initialization. +

    - - diff --git a/samples/form/01_init/02_locale.html b/samples/form/01_init/02_locale.html index 40f9a46..baa57d2 100644 --- a/samples/form/01_init/02_locale.html +++ b/samples/form/01_init/02_locale.html @@ -6,14 +6,16 @@ - - - + + + + + @@ -37,7 +39,9 @@

    - Localization. +
    + Localization. +

    @@ -45,19 +49,17 @@

    -
    -
    +
    - - diff --git a/samples/form/01_init/03_all_inputs.html b/samples/form/01_init/03_all_inputs.html index e92bbbd..c9372f0 100644 --- a/samples/form/01_init/03_all_inputs.html +++ b/samples/form/01_init/03_all_inputs.html @@ -6,22 +6,16 @@ - - - + + + + + @@ -45,39 +39,40 @@

    - All dhxForm inputs. +
    + All dhxForm inputs. +

    -
    - +

    - - - + + + + + @@ -37,29 +39,30 @@

    - Validation. +
    + Validation. +

    -
    +
    - Validation for email and name inputs +

    Validation for email and name inputs

    -
    - - - + + + + + @@ -37,41 +39,44 @@

    - Required. +
    + Required. +

    - +
    - - - + + + + + @@ -37,147 +39,95 @@

    - Labels. +
    + Labels. +

    - -
    + +
    - +
    - - - + + + + + @@ -37,41 +39,44 @@

    - Helpers. +
    + Helpers. +

    - +
    -
    +
    - - - + + + + + @@ -37,24 +39,25 @@

    - Messages. +
    + Messages. +

    - +
    - - - + + + + + @@ -37,46 +39,43 @@

    - Disabled. +
    + Disabled. +

    - -
    + +
    - - - + + + + + @@ -62,94 +49,102 @@

    - Buttons. +
    + Buttons. +

    - +
    -
    -

    Sizes:

    +
    +

    Value:

    +
    + +
    +

    Sizes:

    -

    Colors:

    +

    Colors:

    -

    View:

    +

    View:

    -
    -
    - - -
    +
    +
    +

    Customization:






    + - -
    -
    - + + +
    diff --git a/samples/form/02_configuration/08_inputs.html b/samples/form/02_configuration/08_inputs.html index 922c1d1..7c18407 100644 --- a/samples/form/02_configuration/08_inputs.html +++ b/samples/form/02_configuration/08_inputs.html @@ -6,17 +6,20 @@ - - - + + + + + @@ -40,15 +43,16 @@

    - Inputs. +
    + Inputs. +

    - +
    - diff --git a/samples/form/02_configuration/09_radio_buttons.html b/samples/form/02_configuration/09_radio_buttons.html index 535edbd..aec1678 100644 --- a/samples/form/02_configuration/09_radio_buttons.html +++ b/samples/form/02_configuration/09_radio_buttons.html @@ -6,17 +6,20 @@ - - - + + + + + @@ -40,88 +43,97 @@

    - Radio buttons. +
    + Radio buttons. +

    - +
    - diff --git a/samples/form/02_configuration/10_checkboxes.html b/samples/form/02_configuration/10_checkboxes.html index 926ae29..f50c80b 100644 --- a/samples/form/02_configuration/10_checkboxes.html +++ b/samples/form/02_configuration/10_checkboxes.html @@ -6,17 +6,20 @@ - - - + + + + + @@ -40,118 +43,128 @@

    - Checkboxes. +
    + Checkboxes. +

    - +
    - - - + + + + + @@ -48,15 +43,16 @@

    - Textareas. +
    + Textareas. +

    - +
    - + diff --git a/samples/form/02_configuration/12_blocks.html b/samples/form/02_configuration/12_blocks.html index e243ce6..17e6acc 100644 --- a/samples/form/02_configuration/12_blocks.html +++ b/samples/form/02_configuration/12_blocks.html @@ -6,33 +6,22 @@ - - - + + + + + - @@ -56,65 +45,68 @@

    - Blocks. +
    + Blocks. +

    - +
    - + diff --git a/samples/form/02_configuration/13_simple_vault.html b/samples/form/02_configuration/13_simple_vault.html index f8d888a..659b15d 100644 --- a/samples/form/02_configuration/13_simple_vault.html +++ b/samples/form/02_configuration/13_simple_vault.html @@ -6,17 +6,20 @@ - - - + + + + + @@ -40,75 +43,84 @@

    - Simple vault. +
    + Simple vault. +

    - +
    - - - + + + + + @@ -37,24 +40,29 @@

    - Combo. +
    + Combo. +

    - +
    - - + + + + + @@ -37,21 +40,23 @@

    - Select. +
    + Select. +

    - +
    - - + + + + + @@ -40,127 +43,132 @@

    - DatePicker. +
    + DatePicker. +

    - +
    - diff --git a/samples/form/02_configuration/17_time_picker.html b/samples/form/02_configuration/17_time_picker.html index b74a130..95f551b 100644 --- a/samples/form/02_configuration/17_time_picker.html +++ b/samples/form/02_configuration/17_time_picker.html @@ -6,17 +6,20 @@ - - - + + + + + @@ -40,41 +43,42 @@

    - TimePicker. +
    + TimePicker. +

    - +
    - diff --git a/samples/form/02_configuration/18_color_picker.html b/samples/form/02_configuration/18_color_picker.html index faf2821..6ec8c66 100644 --- a/samples/form/02_configuration/18_color_picker.html +++ b/samples/form/02_configuration/18_color_picker.html @@ -6,17 +6,20 @@ - - - + + + + + @@ -40,10 +43,12 @@

    - ColorPicker. +
    + ColorPicker. +

    - +
    @@ -55,127 +60,130 @@

    placeholder: "Choose a color", label: "Color", labelWidth: "100px", - labelInline: true, + labelPosition: "left", disabled: false, required: false, - editing: false, - help: "", + editable: false, + helpMessage: "", preMessage: "", successMessage: "", errorMessage: "", - } + }; var formSettings = new dhx.Form("form-settings", { - cellCss: "dhx_widget--bordered", + css: "dhx_widget--bordered", rows: [ { type: "input", label: "icon", name: "icon", value: colorPickerConfig.icon, - labelWidth: "100px", - labelInline: true + labelWidth: "120px", + labelPosition: "left" }, { type: "input", label: "placeholder", name: "placeholder", value: colorPickerConfig.placeholder, - labelWidth: "100px", - labelInline: true + labelWidth: "120px", + labelPosition: "left" }, { type: "input", label: "label", name: "label", value: colorPickerConfig.label, - labelWidth: "100px", - labelInline: true + labelWidth: "120px", + labelPosition: "left" }, { type: "input", label: "labelWidth", name: "labelWidth", value: colorPickerConfig.labelWidth, - labelWidth: "100px", - labelInline: true + labelWidth: "120px", + labelPosition: "left" + }, + { + type: "select", + readonly: true, + name: "labelPosition", + label: "labelPosition", + labelPosition: "left", + labelWidth: "120px", + options: [ + {content: "left", value: "left"}, + {content: "top", value: "top"}, + ] }, { - align: "end", + align: "start", + padding: "0 0 0 140px", cols: [ { type: "checkbox", - label: "labelInline", - name: "labelInline", - labelInline: true, - checked: colorPickerConfig.labelInline, + label: "required", + name: "required", + labelPosition: "right", + checked: colorPickerConfig.required, gravity: false, - width: "132px" + width: "50%" }, { type: "checkbox", - label: "disabled", - name: "disabled", - labelInline: true, - checked: colorPickerConfig.disabled, + label: "editable", + name: "editable", + labelPosition: "right", + checked: colorPickerConfig.editable, gravity: false, - width: "132px" } ] - }, + }, { - align: "end", + align: "start", + padding: "0 0 0 140px", cols: [ { type: "checkbox", - label: "required", - name: "required", - labelInline: true, - checked: colorPickerConfig.required, - gravity: false, - width: "132px" - }, - { - type: "checkbox", - label: "editing", - name: "editing", - labelInline: true, - checked: colorPickerConfig.editing, + label: "disabled", + name: "disabled", + labelPosition: "right", + checked: colorPickerConfig.disabled, gravity: false, - width: "132px" } ] - }, + }, { type: "input", - label: "help", - name: "help", - value: colorPickerConfig.help, - labelWidth: "100px", - labelInline: true + label: "helpMessage", + name: "helpMessage", + value: colorPickerConfig.helpMessage, + labelWidth: "120px", + labelPosition: "left" }, { type: "input", label: "preMessage", name: "preMessage", value: colorPickerConfig.preMessage, - labelWidth: "100px", - labelInline: true + labelWidth: "120px", + labelPosition: "left" }, { type: "input", label: "successMessage", name: "successMessage", value: colorPickerConfig.successMessage, - labelWidth: "100px", - labelInline: true + labelWidth: "120px", + labelPosition: "left" }, { type: "input", label: "errorMessage", name: "errorMessage", value: colorPickerConfig.errorMessage, - labelWidth: "100px", - labelInline: true + labelWidth: "120px", + labelPosition: "left" } ] }); @@ -187,15 +195,16 @@

    function createForm() { if (form) { form.destructor(); - } + }; form = new dhx.Form("form-sample", { - cellCss: "dhx_widget--bordered", + css: "dhx_widget--bordered", rows: [ colorPickerConfig ] }); - } + }; createForm(); + diff --git a/samples/form/02_configuration/index.html b/samples/form/02_configuration/index.html index 2de7449..f815026 100644 --- a/samples/form/02_configuration/index.html +++ b/samples/form/02_configuration/index.html @@ -4,7 +4,7 @@ - + Configuration - DHTMLX Form @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Form samples -
  • -
  • - Configuration -
  • +
  • + Form samples +
  • +
  • + Configuration +
  • diff --git a/samples/form/03_usage/01_validate.html b/samples/form/03_usage/01_validate.html index 176faf8..3ef0cb3 100644 --- a/samples/form/03_usage/01_validate.html +++ b/samples/form/03_usage/01_validate.html @@ -6,17 +6,19 @@ - - - + + + + + @@ -40,32 +42,33 @@

    - Validate. +
    + Validate. +

    - +
    - -
    - - + +
    +
    - diff --git a/samples/form/03_usage/02_get_value.html b/samples/form/03_usage/02_get_value.html index 810f918..901d708 100644 --- a/samples/form/03_usage/02_get_value.html +++ b/samples/form/03_usage/02_get_value.html @@ -6,17 +6,19 @@ - - - + + + + + @@ -40,61 +42,64 @@

    - Get value. +
    + Get value. +

    - +
    - +
    - - +
    - diff --git a/samples/form/03_usage/03_clear.html b/samples/form/03_usage/03_clear.html new file mode 100644 index 0000000..1611cab --- /dev/null +++ b/samples/form/03_usage/03_clear.html @@ -0,0 +1,106 @@ + + + + + Clear - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + Clear. +
    +

    +
    +
    +
    + + + + +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/04_set_value.html b/samples/form/03_usage/04_set_value.html new file mode 100644 index 0000000..38413a1 --- /dev/null +++ b/samples/form/03_usage/04_set_value.html @@ -0,0 +1,214 @@ + + + + + Set value - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + Set value. +
    +

    +
    +
    +
    + +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/05_get_item.html b/samples/form/03_usage/05_get_item.html new file mode 100644 index 0000000..fd6d671 --- /dev/null +++ b/samples/form/03_usage/05_get_item.html @@ -0,0 +1,130 @@ + + + + + Get item - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + Get item. +
    +

    +
    +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/06_disable.html b/samples/form/03_usage/06_disable.html new file mode 100644 index 0000000..5cf97e7 --- /dev/null +++ b/samples/form/03_usage/06_disable.html @@ -0,0 +1,93 @@ + + + + + Disable - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + Disable. +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/07_isDisabled.html b/samples/form/03_usage/07_isDisabled.html new file mode 100644 index 0000000..6bf8c53 --- /dev/null +++ b/samples/form/03_usage/07_isDisabled.html @@ -0,0 +1,97 @@ + + + + + Is disabled - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + Is disabled. +
    +

    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/08_foreach.html b/samples/form/03_usage/08_foreach.html new file mode 100644 index 0000000..e1c8109 --- /dev/null +++ b/samples/form/03_usage/08_foreach.html @@ -0,0 +1,111 @@ + + + + + ForEach - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + ForEach. +
    +

    +
    +
    +
    + +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/09_validate_control.html b/samples/form/03_usage/09_validate_control.html new file mode 100644 index 0000000..31e8b4b --- /dev/null +++ b/samples/form/03_usage/09_validate_control.html @@ -0,0 +1,101 @@ + + + + + Validate control - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + Validate control. +
    +

    +
    +
    +
    + +
    + + +
    +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/10_get_control_value.html b/samples/form/03_usage/10_get_control_value.html new file mode 100644 index 0000000..63f7bb4 --- /dev/null +++ b/samples/form/03_usage/10_get_control_value.html @@ -0,0 +1,81 @@ + + + + + Get control value - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + Get control value. +
    +

    +
    +
    +
    + +
    + + +
    +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/11_set_control_value.html b/samples/form/03_usage/11_set_control_value.html new file mode 100644 index 0000000..3827cd2 --- /dev/null +++ b/samples/form/03_usage/11_set_control_value.html @@ -0,0 +1,80 @@ + + + + + Set control value - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + Set control value. +
    +

    +
    +
    +
    + +
    + + +
    +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/12_clear_control.html b/samples/form/03_usage/12_clear_control.html new file mode 100644 index 0000000..536e9db --- /dev/null +++ b/samples/form/03_usage/12_clear_control.html @@ -0,0 +1,88 @@ + + + + + Clear control - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + Clear control. +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/13_clear_control_validate.html b/samples/form/03_usage/13_clear_control_validate.html new file mode 100644 index 0000000..da0390c --- /dev/null +++ b/samples/form/03_usage/13_clear_control_validate.html @@ -0,0 +1,98 @@ + + + + + Clear control validate - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + Clear control validate. +
    +

    +
    +
    +
    + +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/14_get_widget_of_control.html b/samples/form/03_usage/14_get_widget_of_control.html new file mode 100644 index 0000000..264c480 --- /dev/null +++ b/samples/form/03_usage/14_get_widget_of_control.html @@ -0,0 +1,74 @@ + + + + + Get widget of control - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + Get widget of control. +
    +

    +
    +
    +
    + +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/15_disable_of_control.html b/samples/form/03_usage/15_disable_of_control.html new file mode 100644 index 0000000..800dc4d --- /dev/null +++ b/samples/form/03_usage/15_disable_of_control.html @@ -0,0 +1,96 @@ + + + + + Disable of control - DHTMLX Form + + + + + + + + + + + + +
    +
    + +

    +
    + Disable of control. +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + diff --git a/samples/form/03_usage/index.html b/samples/form/03_usage/index.html index e6af9ea..5d6018c 100644 --- a/samples/form/03_usage/index.html +++ b/samples/form/03_usage/index.html @@ -4,7 +4,7 @@ - + Usage - DHTMLX Form @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Form samples -
  • -
  • - Usage -
  • +
  • + Form samples +
  • +
  • + Usage +
  • @@ -32,6 +31,7 @@

    - Form custom styles. +
    + Form custom styles. +

    - +
    + + diff --git a/samples/form/04_customization/index.html b/samples/form/04_customization/index.html index c365b60..b3f9769 100644 --- a/samples/form/04_customization/index.html +++ b/samples/form/04_customization/index.html @@ -4,7 +4,7 @@ - + Customization - DHTMLX Form @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Form samples -
  • -
  • - Customization -
  • +
  • + Form samples +
  • +
  • + Customization +
  • diff --git a/samples/form/05_events/01_events.html b/samples/form/05_events/01_events.html index 5a6abf9..0394bed 100644 --- a/samples/form/05_events/01_events.html +++ b/samples/form/05_events/01_events.html @@ -6,38 +6,22 @@ - - - + + + + + @@ -61,17 +45,20 @@

    - Events. +
    + Events. +

    - +
    + diff --git a/samples/form/05_events/index.html b/samples/form/05_events/index.html index 5377e91..e518edc 100644 --- a/samples/form/05_events/index.html +++ b/samples/form/05_events/index.html @@ -4,7 +4,7 @@ - + Events - DHTMLX Form @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Form samples -
  • -
  • - Events -
  • +
  • + Form samples +
  • +
  • + Events +
  • diff --git a/samples/form/common/form.css b/samples/form/common/form.css new file mode 100644 index 0000000..87d6da1 --- /dev/null +++ b/samples/form/common/form.css @@ -0,0 +1,4 @@ +.dhx_sample-container { + width: 600px; + height: auto; +} \ No newline at end of file diff --git a/samples/form/index.html b/samples/form/index.html index 8339df3..6992412 100644 --- a/samples/form/index.html +++ b/samples/form/index.html @@ -4,19 +4,21 @@ - + Samples - DHTMLX Form -
    +

    diff --git a/samples/grid/01_init/01_basic.html b/samples/grid/01_init/01_basic.html index d849aeb..373aa1a 100644 --- a/samples/grid/01_init/01_basic.html +++ b/samples/grid/01_init/01_basic.html @@ -6,16 +6,12 @@ - - - - + + + + + -
    @@ -38,7 +34,7 @@

    - Basic initialization. + Basic initialization.

    -
    +
    diff --git a/samples/grid/01_init/02_load_json.html b/samples/grid/01_init/02_load_json.html index 67e1696..73f567e 100644 --- a/samples/grid/01_init/02_load_json.html +++ b/samples/grid/01_init/02_load_json.html @@ -6,15 +6,12 @@ - - - + + + + + -
    @@ -37,7 +34,7 @@

    - External data loading. + External data loading.

    -
    +
    - - - + + + + + -
    @@ -38,7 +34,7 @@

    - Large dataset. + Large dataset.

    -
    +
    diff --git a/samples/grid/01_init/04_footer.html b/samples/grid/01_init/04_footer.html index f79cfb7..21a7804 100644 --- a/samples/grid/01_init/04_footer.html +++ b/samples/grid/01_init/04_footer.html @@ -6,16 +6,12 @@ - - - - + + + + + -
    @@ -38,16 +34,15 @@

    - Grid with footer. + Grid with footer.

    -
    +
    diff --git a/samples/grid/01_init/05_external_datacollection.html b/samples/grid/01_init/05_external_datacollection.html index 60ffcb4..ea4abb5 100644 --- a/samples/grid/01_init/05_external_datacollection.html +++ b/samples/grid/01_init/05_external_datacollection.html @@ -1,76 +1,70 @@ - - - External datacollection - DHTMLX Grid - - - - - - - - - - - - -
    -
    - +

    +
    External datacollection. - -
    -

    -
    -
    - -
    -
    -
    - - +

    + + +
    +
    +
    + + \ No newline at end of file diff --git a/samples/grid/01_init/90_lazyLoad_test.html b/samples/grid/01_init/90_lazyLoad_test.html new file mode 100644 index 0000000..d5f218a --- /dev/null +++ b/samples/grid/01_init/90_lazyLoad_test.html @@ -0,0 +1,76 @@ + + + + + Basic initialization - DHTMLX Grid + + + + + + + + + + + + +
    +
    + +

    +
    + Basic initialization. + +
    +

    +
    +
    +
    +
    +
    + + + diff --git a/samples/grid/01_init/index.html b/samples/grid/01_init/index.html index d3d724b..6c00ccb 100644 --- a/samples/grid/01_init/index.html +++ b/samples/grid/01_init/index.html @@ -4,25 +4,24 @@ - + Initialization - DHTMLX Grid -
    +

    @@ -57,6 +56,11 @@

    External datacollection +
  • + + External data lazy load + +
  • diff --git a/samples/grid/02_configuration/01_header_spans.html b/samples/grid/02_configuration/01_header_spans.html index d5fb8dc..d8f6e3e 100644 --- a/samples/grid/02_configuration/01_header_spans.html +++ b/samples/grid/02_configuration/01_header_spans.html @@ -1,88 +1,80 @@ - - - - Header spans - DHTMLX Grid - - - - - - - - - - - - -
    -
    - +

    +
    Header spans. - -
    -

    -
    -
    -
    -
    -
    - - - +

    +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/samples/grid/02_configuration/02_cell_templates.html b/samples/grid/02_configuration/02_cell_templates.html index 09791c5..950493e 100644 --- a/samples/grid/02_configuration/02_cell_templates.html +++ b/samples/grid/02_configuration/02_cell_templates.html @@ -1,82 +1,70 @@ - - - - Cell templates - DHTMLX Grid - - - - - - - - - - - - -
    -
    - +

    +
    Template with content for cells. - -
    -

    -
    -
    -
    -
    -
    - - - - + + +
    +
    +
    +
    + + \ No newline at end of file diff --git a/samples/grid/02_configuration/03_auto_width.html b/samples/grid/02_configuration/03_auto_width.html new file mode 100644 index 0000000..a0ce625 --- /dev/null +++ b/samples/grid/02_configuration/03_auto_width.html @@ -0,0 +1,64 @@ + + + + + Auto width - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + You can distribute columns over the entire width of the Grid via the AutoWidth property. +
    +

    +
    +
    +
    +
    +
    + + + diff --git a/samples/grid/02_configuration/04_marks.html b/samples/grid/02_configuration/04_marks.html index 7615157..416fa6d 100644 --- a/samples/grid/02_configuration/04_marks.html +++ b/samples/grid/02_configuration/04_marks.html @@ -6,26 +6,13 @@ - - - - + + + + + - - +
    @@ -47,7 +34,7 @@

    - Mark cells. + Mark cells.

    -
    +
    - - \ No newline at end of file diff --git a/samples/grid/02_configuration/05_custom_marks.html b/samples/grid/02_configuration/05_custom_marks.html index 558f9f0..10f9e41 100644 --- a/samples/grid/02_configuration/05_custom_marks.html +++ b/samples/grid/02_configuration/05_custom_marks.html @@ -1,89 +1,73 @@ - - - - Custom mark cells - DHTMLX Grid - - - - - - - - - - - - - -
    -
    - +

    +
    Custom mark cells. - -
    -

    -
    -
    -
    -
    -
    - - - - - + + + +
    +
    +
    + + \ No newline at end of file diff --git a/samples/grid/02_configuration/06_frozen_columns.html b/samples/grid/02_configuration/06_frozen_columns.html index b1d0daa..104dbd6 100644 --- a/samples/grid/02_configuration/06_frozen_columns.html +++ b/samples/grid/02_configuration/06_frozen_columns.html @@ -6,14 +6,15 @@ - - - - + + + + + @@ -38,7 +39,7 @@

    - You can fix (or "freeze") a column or several columns, so that they will become static, while the rest of columns remain scrollable. + You can fix (or "freeze") a column or several columns, so that they will become static, while the rest of columns remain scrollable.

    - +
    -
    +
    - - \ No newline at end of file diff --git a/samples/grid/02_configuration/07_adjust.html b/samples/grid/02_configuration/07_adjust.html new file mode 100644 index 0000000..607ae25 --- /dev/null +++ b/samples/grid/02_configuration/07_adjust.html @@ -0,0 +1,98 @@ + + + + + Adjust columns - DHTMLX Grid + + + + + + + + + + + + +
    +
    + +

    +
    + You can configure columns' settings so that their width would automatically adjust to their content. +
    +

    +
    +
    +
    +
    + + +
    +
    +
    +
    +
    + + + diff --git a/samples/grid/02_configuration/08_min_width.html b/samples/grid/02_configuration/08_min_width.html new file mode 100644 index 0000000..63af030 --- /dev/null +++ b/samples/grid/02_configuration/08_min_width.html @@ -0,0 +1,111 @@ + + + + + Min width - DHTMLX Grid + + + + + + + + + + + + +
    +
    + +

    +
    + You can adjust the parameters of the columns so that their width is not less than the set value. +
    +

    +
    +
    +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    + + + diff --git a/samples/grid/02_configuration/09_max_width.html b/samples/grid/02_configuration/09_max_width.html new file mode 100644 index 0000000..7b5f981 --- /dev/null +++ b/samples/grid/02_configuration/09_max_width.html @@ -0,0 +1,111 @@ + + + + + Max width - DHTMLX Grid + + + + + + + + + + + + +
    +
    + +

    +
    + You can adjust the parameters of the columns so that their width does not exceed the set value. +
    +

    +
    +
    +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    + + + diff --git a/samples/grid/02_configuration/10_hidden_columns.html b/samples/grid/02_configuration/10_hidden_columns.html new file mode 100644 index 0000000..fa83bfd --- /dev/null +++ b/samples/grid/02_configuration/10_hidden_columns.html @@ -0,0 +1,64 @@ + + + + + Hidden columns - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + You can adjust the parameters of the columns so that they do not appear. +
    +

    +
    +
    +
    +
    + +
    + + + diff --git a/samples/grid/02_configuration/11_data_spans.html b/samples/grid/02_configuration/11_data_spans.html new file mode 100644 index 0000000..3bcc02f --- /dev/null +++ b/samples/grid/02_configuration/11_data_spans.html @@ -0,0 +1,74 @@ + + + + + Spans cells - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + Spans cells. + +
    +

    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/samples/grid/02_configuration/12_selection.html b/samples/grid/02_configuration/12_selection.html new file mode 100644 index 0000000..92e4400 --- /dev/null +++ b/samples/grid/02_configuration/12_selection.html @@ -0,0 +1,101 @@ + + + + + Selection - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + Selection. + +
    +

    +
    +
    +
    + + + +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/samples/grid/02_configuration/13_multiselection.html b/samples/grid/02_configuration/13_multiselection.html new file mode 100644 index 0000000..2d14bf9 --- /dev/null +++ b/samples/grid/02_configuration/13_multiselection.html @@ -0,0 +1,102 @@ + + + + + Multiselection - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + Multiselection. +
    +

    +
    +
    +
    + + + +
    +
    +
    +
    + + + diff --git a/samples/grid/02_configuration/14_row_styles.html b/samples/grid/02_configuration/14_row_styles.html new file mode 100644 index 0000000..9c1bd4f --- /dev/null +++ b/samples/grid/02_configuration/14_row_styles.html @@ -0,0 +1,68 @@ + + + + + Custom row style - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + Custom row style. + +
    +

    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/samples/grid/02_configuration/15_rows_height.html b/samples/grid/02_configuration/15_rows_height.html new file mode 100644 index 0000000..46aeaf5 --- /dev/null +++ b/samples/grid/02_configuration/15_rows_height.html @@ -0,0 +1,69 @@ + + + + + Rows height - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + Rows height. + +
    +

    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/samples/grid/02_configuration/16_custom_sizes.html b/samples/grid/02_configuration/16_custom_sizes.html new file mode 100644 index 0000000..3fb63cd --- /dev/null +++ b/samples/grid/02_configuration/16_custom_sizes.html @@ -0,0 +1,69 @@ + + + + + Custom sizes - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + Custom sizes. + +
    +

    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/samples/grid/02_configuration/17_editable.html b/samples/grid/02_configuration/17_editable.html new file mode 100644 index 0000000..871b638 --- /dev/null +++ b/samples/grid/02_configuration/17_editable.html @@ -0,0 +1,206 @@ + + + + + Editable data - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + Editable data. + +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + diff --git a/samples/grid/02_configuration/18_auto_empty_row.html b/samples/grid/02_configuration/18_auto_empty_row.html new file mode 100644 index 0000000..7d9746b --- /dev/null +++ b/samples/grid/02_configuration/18_auto_empty_row.html @@ -0,0 +1,101 @@ + + + + + Auto empty row - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + Auto empty row. + +
    +

    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/samples/grid/02_configuration/19_resizable.html b/samples/grid/02_configuration/19_resizable.html new file mode 100644 index 0000000..67a1d66 --- /dev/null +++ b/samples/grid/02_configuration/19_resizable.html @@ -0,0 +1,64 @@ + + + + + Resizable columns - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + You can adjust the grid and column settings so that their width could be resized. +
    +

    +
    +
    +
    +
    +
    + + + diff --git a/samples/grid/02_configuration/20_html_in_data.html b/samples/grid/02_configuration/20_html_in_data.html new file mode 100644 index 0000000..cbe120b --- /dev/null +++ b/samples/grid/02_configuration/20_html_in_data.html @@ -0,0 +1,157 @@ + + + + + Html in data - DHTMLX Grid + + + + + + + + + + + + +
    +
    + +

    +
    + You can allow cells of the column to contain html. +
    +

    +
    +
    +
    +
    +
    + + + diff --git a/samples/grid/02_configuration/21_key_navigation.html b/samples/grid/02_configuration/21_key_navigation.html new file mode 100644 index 0000000..fe79e3d --- /dev/null +++ b/samples/grid/02_configuration/21_key_navigation.html @@ -0,0 +1,679 @@ + + + + + Key navigation - DHTMLX Grid + + + + + + + + + + + + +
    +
    + +

    +
    + Key navigation. +
    +

    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +
    +
    + + + diff --git a/samples/grid/02_configuration/22_sortable.html b/samples/grid/02_configuration/22_sortable.html new file mode 100644 index 0000000..b5ebc83 --- /dev/null +++ b/samples/grid/02_configuration/22_sortable.html @@ -0,0 +1,64 @@ + + + + + Sortable columns - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + You can configure the sorting of individual columns via the Sortable property. +
    +

    +
    +
    +
    +
    +
    + + + diff --git a/samples/grid/02_configuration/23_drag_mode.html b/samples/grid/02_configuration/23_drag_mode.html new file mode 100644 index 0000000..6440421 --- /dev/null +++ b/samples/grid/02_configuration/23_drag_mode.html @@ -0,0 +1,96 @@ + + + + + Setup drag mode - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + Setup drag mode. +
    +

    +
    +
    +
    + +
    +
    +
    +

    Source:

    +
    +
    +
    +

    Both:

    +
    +
    +
    +

    Target:

    +
    +
    +
    + + + diff --git a/samples/grid/02_configuration/24_drag_copy.html b/samples/grid/02_configuration/24_drag_copy.html new file mode 100644 index 0000000..77afedb --- /dev/null +++ b/samples/grid/02_configuration/24_drag_copy.html @@ -0,0 +1,97 @@ + + + + + Setup drag copy - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + Setup drag copy. +
    +

    +
    +
    +
    + +
    +
    +
    +

    Move:

    +
    +
    +
    +

    Copy:

    +
    +
    +
    +

    Target:

    +
    +
    +
    + + + diff --git a/samples/grid/02_configuration/index.html b/samples/grid/02_configuration/index.html index a9775ab..586ebf6 100644 --- a/samples/grid/02_configuration/index.html +++ b/samples/grid/02_configuration/index.html @@ -4,25 +4,24 @@ - + Configuration - DHTMLX Grid -
    +

    @@ -44,8 +43,8 @@

  • - - Fitting container size + + Auto width
  • @@ -64,44 +63,95 @@

  • - - Auto width + + Adjust columns + +
  • +
  • + + Min width + +
  • +
  • + + Max width + +
  • +
  • + + Hidden columns
  • - + Spans cells
  • - + Selection
  • - + + Multiselection + +
  • +
  • + Custom row style
  • - + Rows height
  • - + Custom sizes
  • - - Editing data + + Editable data + +
  • +
  • + + Auto empty row + +
  • +
  • + + Resizable columns + +
  • +
  • + + Html in data + +
  • +
  • + + Key navigation + +
  • +
  • + + Sortable columns + +
  • + +
  • + + Setup drag mode
  • - - Auto Empty Row + + Setup drag copy
  • diff --git a/samples/grid/03_usage/01_export.html b/samples/grid/03_usage/01_export.html index 19a5c6d..853a4b5 100644 --- a/samples/grid/03_usage/01_export.html +++ b/samples/grid/03_usage/01_export.html @@ -2,23 +2,16 @@ - Export to Excel - DHTMLX Grid + Export - DHTMLX Grid - - - - + + + + + -
    @@ -35,13 +28,13 @@ Usage
  • - Export to Excel + Export
  • - dhtmlxGrid provides the possibility to export data from Grid into an Excel file. + dhtmlxGrid provides the possibility to export data from Grid into an Excel file.

    -
    - -
    +
    + + +
    - - diff --git a/samples/grid/03_usage/02_scroll_control.html b/samples/grid/03_usage/02_scroll_control.html index d6ca157..43c2d5a 100644 --- a/samples/grid/03_usage/02_scroll_control.html +++ b/samples/grid/03_usage/02_scroll_control.html @@ -6,19 +6,12 @@ - - - - + + + + + -
    @@ -41,7 +34,7 @@

    - You can scroll grid content to exact position defined by x and y coordinates via the scroll() method. + You can scroll grid content to exact position defined by x and y coordinates via the scroll() method.

    -
    +
    {top:0, left:0} @@ -58,7 +51,6 @@

    - - diff --git a/samples/grid/03_usage/03_basic_filter.html b/samples/grid/03_usage/03_basic_filter.html index 5a3dfd7..802bceb 100644 --- a/samples/grid/03_usage/03_basic_filter.html +++ b/samples/grid/03_usage/03_basic_filter.html @@ -6,19 +6,12 @@ - - - - + + + + + -
    @@ -41,7 +34,7 @@

    - You can filter grid data by the specified criteria with the help of the filter() method of data collection. + You can filter grid data by the specified criteria with the help of the filter() method of data collection.

    -
    +
    @@ -57,7 +50,6 @@

    - - diff --git a/samples/grid/03_usage/04_header_filter.html b/samples/grid/03_usage/04_header_filter.html index 55f775d..8d166dd 100644 --- a/samples/grid/03_usage/04_header_filter.html +++ b/samples/grid/03_usage/04_header_filter.html @@ -6,16 +6,12 @@ - - - - + + + + + -
    @@ -38,36 +34,30 @@

    - Header filter. - + Header filter.

    -
    +
    - - diff --git a/samples/grid/03_usage/05_external_filter.html b/samples/grid/03_usage/05_external_filter.html index 0d994cc..df6ea55 100644 --- a/samples/grid/03_usage/05_external_filter.html +++ b/samples/grid/03_usage/05_external_filter.html @@ -6,17 +6,15 @@ - - - - + + + + + @@ -41,7 +39,7 @@

    - You can filter grid data by the specified criteria with the help of the filter() method of data collection. + You can filter grid data by the specified criteria with the help of the filter() method of data collection.

    - +
    -
    - - + + + + + + + + + + - - +
    +
    + +
    - - diff --git a/samples/grid/03_usage/06_add_row_css.html b/samples/grid/03_usage/06_add_row_css.html index 1598168..68c681d 100644 --- a/samples/grid/03_usage/06_add_row_css.html +++ b/samples/grid/03_usage/06_add_row_css.html @@ -6,19 +6,12 @@ - - - - + + + + + -
    @@ -41,7 +34,7 @@

    - Add row css. + Add row css.

    -
    +
    - - diff --git a/samples/grid/03_usage/07_add_cell_css.html b/samples/grid/03_usage/07_add_cell_css.html index d7b0add..0709707 100644 --- a/samples/grid/03_usage/07_add_cell_css.html +++ b/samples/grid/03_usage/07_add_cell_css.html @@ -6,19 +6,12 @@ - - - - + + + + + -
    @@ -41,7 +34,7 @@

    - Add cell css. + Add cell css.

    -
    +
    - - diff --git a/samples/grid/03_usage/08_sorting.html b/samples/grid/03_usage/08_sorting.html index 61faa15..a51d808 100644 --- a/samples/grid/03_usage/08_sorting.html +++ b/samples/grid/03_usage/08_sorting.html @@ -6,16 +6,12 @@ - - - - + + + + + -
    @@ -38,7 +34,7 @@

    - It is possible to sort data in the grid via the sort() method of data collection. + It is possible to sort data in the grid via the sort() method of data collection.

    -
    +
    - - diff --git a/samples/grid/03_usage/09_editing.html b/samples/grid/03_usage/09_editing.html index b1de0fb..b928c09 100644 --- a/samples/grid/03_usage/09_editing.html +++ b/samples/grid/03_usage/09_editing.html @@ -1,183 +1,171 @@ - - - - Editing data - DHTMLX Grid - - - - - - - - - - - - -
    -
    - +

    +
    + It is possible to edit data in the grid via the editCell() method. +
    -

    -

    - - -
    - -
    -
    -
    -
    - - - - + { + project: "Inventory", + owner: "Fred Duncan", + start_date: "01/06/2018", + end_date: "01/09/2018", + status: "Done", + hours: 484, + cost: 21296, + budget: 14907, + balance: -6389, + }, + { + project: "Trip planner", + owner: "Michael Rice", + start_date: "01/08/2018", + end_date: "06/11/2018", + status: "Done", + hours: 345, + cost: 14835, + budget: 70911, + balance: 56076, + }, + { + project: "HR System", + owner: "Andrew Stewart", + start_date: "01/06/2018", + end_date: "02/09/2018", + status: "Done", + hours: 57, + cost: 2052, + budget: 5068, + balance: 3016, + }, + { + project: "HR System", + owner: "Martin Thompson", + start_date: "06/02/2018", + end_date: "01/06/2018", + status: "Done", + hours: 211, + cost: 8229, + budget: 16540, + balance: 8311, + }, + { + project: "Ticket System", + owner: "Martin Thompson", + start_date: "06/05/2019", + end_date: "03/07/2019", + status: "In Progress", + hours: 3, + cost: 144, + budget: 122, + balance: -22, + }, + { + project: "Education System", + owner: "Mark Harper", + start_date: "02/04/2019", + end_date: "03/08/2019", + status: "In Progress", + hours: 76, + cost: 3496, + budget: 12515, + balance: 9019, + } + ]; + var grid = new dhx.Grid("grid", { + columns: [ + { + width: 150, + id: "project", + header: [{ text: "Project" }, { content: "selectFilter" }], + }, + { + width: 150, id: "status", header: [{ text: "Status" }, { content: "selectFilter" }], + editorType: "select", + options: ["Done", "In Progress", "Not Started"] + }, + { width: 150, id: "owner", header: [{ text: "Owner" }, { content: "inputFilter" }] }, + { width: 150, id: "hours", header: [{ text: "Number of hours" }, { content: "inputFilter" }] }, + { width: 150, id: "start_date", header: [{ text: "Calendar", colspan: 2 }, { text: "Start date" }], type: "date", dateFormat: "%d/%m/%Y" }, + { width: 150, id: "end_date", header: ["", { text: "End date" }], type: "date", dateFormat: "%d/%m/%Y" }, + { width: 150, id: "cost", header: [{ text: "Cost" }, { content: "inputFilter" }] }, + { width: 150, id: "budget", header: [{ text: "Budget" }, { content: "inputFilter" }] }, + { width: 150, id: "balance", header: [{ text: "Balance" }, { content: "inputFilter" }] }, + ], + data: data + }); + function editCell() { + this.grid.editCell(this.grid.data.getId(0), this.grid.config.columns[0].id); + } + + \ No newline at end of file diff --git a/samples/grid/03_usage/10_delete_row.html b/samples/grid/03_usage/10_delete_row.html index 57c2607..5b82c5f 100644 --- a/samples/grid/03_usage/10_delete_row.html +++ b/samples/grid/03_usage/10_delete_row.html @@ -6,19 +6,12 @@ - - - - + + + + + -
    @@ -41,18 +34,17 @@

    - You can delete data in the grid in the following way. + You can delete data in the grid in the following way.

    - -
    + +
    - - diff --git a/samples/grid/03_usage/11_show_hide_column.html b/samples/grid/03_usage/11_show_hide_column.html new file mode 100644 index 0000000..1e0f313 --- /dev/null +++ b/samples/grid/03_usage/11_show_hide_column.html @@ -0,0 +1,97 @@ + + + + + Show/Hide column - DHTMLX Grid + + + + + + + + + + + + +
    +
    + +

    +
    + It is possible to show and hide column in the grid via the showColumn() and hideColumn() methods. +
    +

    +
    +
    +
    +
    + + +
    + + +
    +
    +
    +
    + + + diff --git a/samples/grid/03_usage/12_is_column_hidden.html b/samples/grid/03_usage/12_is_column_hidden.html new file mode 100644 index 0000000..c6d7949 --- /dev/null +++ b/samples/grid/03_usage/12_is_column_hidden.html @@ -0,0 +1,78 @@ + + + + + Is column hidden - DHTMLX Grid + + + + + + + + + + + +
    +
    + +

    +
    + It is possible to check whether a column in the grid is hidden via the isColumnHidden() method. +
    +

    +
    +
    +
    + + + + +
    +
    +
    +
    + + + diff --git a/samples/grid/03_usage/13_get_sorting_state.html b/samples/grid/03_usage/13_get_sorting_state.html new file mode 100644 index 0000000..32f863c --- /dev/null +++ b/samples/grid/03_usage/13_get_sorting_state.html @@ -0,0 +1,75 @@ + + + + + Get sorting state - DHTMLX Grid + + + + + + + + + + + + +
    +
    + +

    +
    + You can learn sort state in the grid via the getSortingState method. +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + diff --git a/samples/grid/03_usage/index.html b/samples/grid/03_usage/index.html index 05db00b..afe93ec 100644 --- a/samples/grid/03_usage/index.html +++ b/samples/grid/03_usage/index.html @@ -4,25 +4,24 @@ - + Usage - DHTMLX Grid -
    +

    @@ -34,7 +33,7 @@

    1. - Export to Excel + Export
    2. @@ -82,6 +81,21 @@

      Delete row

    3. +
    4. + + Show/Hide column + +
    5. +
    6. + + Is column hidden + +
    7. +
    8. + + Get sorting state + +
    diff --git a/samples/grid/04_customization/01_header_custom_cells.html b/samples/grid/04_customization/01_header_custom_cells.html index 2b05c38..ccf0f48 100644 --- a/samples/grid/04_customization/01_header_custom_cells.html +++ b/samples/grid/04_customization/01_header_custom_cells.html @@ -6,20 +6,12 @@ - - - - + + + + + -
    @@ -42,7 +34,7 @@

    - Styling header cells. + Styling header cells.

    -
    +
    - - diff --git a/samples/grid/04_customization/02_footer_custom_cells.html b/samples/grid/04_customization/02_footer_custom_cells.html index 7cbc756..7b522c8 100644 --- a/samples/grid/04_customization/02_footer_custom_cells.html +++ b/samples/grid/04_customization/02_footer_custom_cells.html @@ -6,20 +6,12 @@ - - - - + + + + + -
    @@ -42,7 +34,7 @@

    - Styling footer cells. + Styling footer cells.

    -
    +
    - - diff --git a/samples/grid/04_customization/03_grid_css.html b/samples/grid/04_customization/03_grid_css.html index 550dacf..1acc8fa 100644 --- a/samples/grid/04_customization/03_grid_css.html +++ b/samples/grid/04_customization/03_grid_css.html @@ -1,81 +1,68 @@ - - - - Styling grid - DHTMLX Grid - - - - - - - - - - - - -
    -
    - +

    +
    Styling grid. - -
    -

    -
    + +
    -
    -
    -
    - - - - - +
    +
    +
    + + \ No newline at end of file diff --git a/samples/grid/04_customization/04_custom_selection.html b/samples/grid/04_customization/04_custom_selection.html index 5e41f0d..7774167 100644 --- a/samples/grid/04_customization/04_custom_selection.html +++ b/samples/grid/04_customization/04_custom_selection.html @@ -1,84 +1,77 @@ - - - - Styling selection - DHTMLX Grid - - - - - - - - - - - - -
    -
    - +

    +
    Styling selection. - -
    -

    -
    -
    -
    -
    -
    - - - - - + + + +
    +
    +
    + + \ No newline at end of file diff --git a/samples/grid/04_customization/index.html b/samples/grid/04_customization/index.html index 1f5c8f8..76c8bb8 100644 --- a/samples/grid/04_customization/index.html +++ b/samples/grid/04_customization/index.html @@ -4,25 +4,24 @@ - + Customization - DHTMLX Grid -
    +

    diff --git a/samples/grid/05_events/01_events.html b/samples/grid/05_events/01_events.html index 9e23a13..4b67d74 100644 --- a/samples/grid/05_events/01_events.html +++ b/samples/grid/05_events/01_events.html @@ -6,16 +6,12 @@ - - - - + + + + + -
    @@ -38,16 +34,15 @@

    - Grid events. + Grid events.

    -
    +
    @@ -68,7 +63,10 @@

    { width: 150, id: "urban", header: [{ text: "Urban Pop" }] } ], selection: true, - data: dataset + editable: true, + data: dataset, + resizable: true, + dragMode: "both" }); var eventsContainer = document.querySelector("#events"); @@ -77,7 +75,7 @@

    "scroll", "sort", "expand", - "headerInput", + "filterChange", "cellClick", "cellRightClick", "cellMouseOver", @@ -92,7 +90,16 @@

    "headerCellDblClick", "footerCellDblClick", "headerCellRightClick", - "footerCellRightClick" + "footerCellRightClick", + "beforeEditStart", + "afterEditStart", + "beforeEditEnd", + "afterEditEnd", + "beforeResizeStart", + "resize", + "afterResizeEnd", + "beforeKeyDown", + "afterKeyDown", ]; function eventHandler(event, arguments) { @@ -100,7 +107,7 @@

    for (var i = 0; i < arguments.length; i++) { argsList += "
    " + JSON.stringify(arguments[i]) + "
    "; } - eventsContainer.insertAdjacentHTML("afterBegin", "
    Event: " + event + "
    Arguments:
    " + argsList + "
    ") + eventsContainer.insertAdjacentHTML("afterBegin", "
    Event: " + event + "
    Arguments:
    " + argsList + "
    "); } function clearAll() { eventsContainer.innerHTML = ""; diff --git a/samples/grid/05_events/index.html b/samples/grid/05_events/index.html index 154828d..6d2ec31 100644 --- a/samples/grid/05_events/index.html +++ b/samples/grid/05_events/index.html @@ -4,25 +4,24 @@ - + Events - DHTMLX Grid -
    +

    diff --git a/samples/grid/common/data/data.min.js b/samples/grid/common/data/data.min.js new file mode 100644 index 0000000..7b4458b --- /dev/null +++ b/samples/grid/common/data/data.min.js @@ -0,0 +1,12 @@ +/* +@license + +undefined v.6.3.1 Professional + +This software is covered by DHTMLX Commercial License. +Usage without proper license is prohibited. + +(c) XB Software. + +*/ +if(window.dhx&&(window.dhx_legacy=dhx,delete window.dhx),function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.dhx=e():t.dhx=e()}(window,function(){return function(t){var e={};function r(i){if(e[i])return e[i].exports;var n=e[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,i){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(i,n,function(e){return t[e]}.bind(null,n));return i},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="/codebase/",r(r.s=8)}([function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=r(1),n=r(14);e.isEqualObj=function(t,e){for(var r in t)if(t[r]!==e[r])return!1;return!0},e.naturalCompare=function(t,e){if(isNaN(t)||isNaN(e)){var r=[],i=[];for(t.replace(/(\d+)|(\D+)/g,function(t,e,i){r.push([e||1/0,i||""])}),e.replace(/(\d+)|(\D+)/g,function(t,e,r){i.push([e||1/0,r||""])});r.length&&i.length;){var n=r.shift(),o=i.shift(),s=n[0]-o[0]||n[1].localeCompare(o[1]);if(s)return s}return r.length-i.length}return t-e},e.findByConf=function(t,e){if("function"==typeof e){if(e.call(this,t))return t}else if(e.by&&e.match&&t[e.by]===e.match)return t},e.isDebug=function(){var t=window.dhx;if(void 0!==t)return void 0!==t.debug&&t.debug},e.dhxWarning=function(t){console.warn(t)},e.dhxError=function(t){throw new Error(t)},e.toProxy=function(t){var e=typeof t;return"string"===e?new i.DataProxy(t):"object"===e?t:void 0},e.toDataDriver=function(t){if("string"==typeof t){var e=window.dhx,r=e&&e.dataDrivers||n.dataDrivers;if(r[t])return new r[t];console.warn("Incorrect data driver type:",t),console.warn("Available types:",JSON.stringify(Object.keys(r)))}else if("object"==typeof t)return t},e.copyWithoutInner=function(t,e){var r={};for(var i in t)"$"===i[0]||e&&e[i]||(r[i]=t[i]);return r},e.isTreeCollection=function(t){return Boolean(t.getRoot)},e.hasJsonOrArrayStructure=function(t){if("object"==typeof t)return!0;if("string"!=typeof t)return!1;try{var e=JSON.parse(t);return"[object Object]"===Object.prototype.toString.call(e)||Array.isArray(e)}catch(t){return!1}}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=r(5),n=function(){function t(t,e){this.url=this._url=t,this.config=e}return t.prototype.updateUrl=function(t,e){for(var r in void 0===e&&(e={}),this._url=this.url=t||this._url,this.url+="?",e)this.config[r]=e[r],this.url+=r+"="+encodeURIComponent(e[r])+"&";this.url=this.url.slice(0,-1)},t.prototype.load=function(){return i.ajax.get(this.url,null,{responseType:"text"})},t.prototype.save=function(t,e){switch(e){case"delete":return i.ajax.delete(this.url,t);case"update":case"insert":default:return i.ajax.post(this.url,t)}},t}();e.DataProxy=n},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.all="all",t.level="level",t.leafs="leafs"}(e.TreeFilterType||(e.TreeFilterType={})),function(t){t.top="top",t.bot="bot",t.in="in"}(e.DropPosition||(e.DropPosition={})),function(t){t.afterAdd="afteradd",t.beforeAdd="beforeadd",t.removeAll="removeall",t.beforeRemove="beforeremove",t.afterRemove="afterremove",t.change="change",t.load="load",t.loadError="loaderror",t.beforeLazyLoad="beforelazyload",t.afterLazyLoad="afterlazyload"}(e.DataEvents||(e.DataEvents={})),function(t){t.beforeDrag="beforedrag",t.beforeDrop="beforeDrop",t.dragStart="dragstart",t.dragEnd="dragend",t.canDrop="candrop",t.cancelDrop="canceldrop",t.dropComplete="dropcomplete",t.dragOut="dragOut",t.dragIn="dragIn"}(e.DragEvents||(e.DragEvents={})),function(t){t.target="target",t.both="both",t.source="source"}(e.DragMode||(e.DragMode={})),function(t){t.child="child",t.sibling="sibling",t.complex="complex"}(e.DropBehaviour||(e.DropBehaviour={})),function(t){t.json="json",t.csv="csv",t.xml="xml"}(e.DataDriver||(e.DataDriver={}))},function(t,e,r){(function(e,r){!function(){var i=1,n={},o=!1;function s(t){e.setImmediate?r(t):e.importScripts?setTimeout(t):(n[++i]=t,e.postMessage(i,"*"))}function a(t){"use strict";if("function"!=typeof t&&void 0!=t)throw TypeError();if("object"!=typeof this||this&&this.then)throw TypeError();var e,r,i=this,n=0,o=0,u=[];i.promise=i,i.resolve=function(t){return e=i.fn,r=i.er,n||(o=t,n=1,s(f)),i},i.reject=function(t){return e=i.fn,r=i.er,n||(o=t,n=2,s(f)),i},i._d=1,i.then=function(t,e){if(1!=this._d)throw TypeError();var r=new a;return r.fn=t,r.er=e,3==n?r.resolve(o):4==n?r.reject(o):u.push(r),r},i.catch=function(t){return i.then(null,t)};var c=function(t){n=t||4,u.map(function(t){3==n&&t.resolve(o)||t.reject(o)})};try{"function"==typeof t&&t(i.resolve,i.reject)}catch(t){i.reject(t)}return i;function h(t,e,r,i){if(2==n)return i();if("object"!=typeof o&&"function"!=typeof o||"function"!=typeof t)i();else try{var s=0;t.call(o,function(t){s++||(o=t,e())},function(t){s++||(o=t,r())})}catch(t){o=t,r()}}function f(){var t;try{t=o&&o.then}catch(t){return o=t,n=2,f()}h(t,function(){n=1,f()},function(){n=2,f()},function(){try{1==n&&"function"==typeof e?o=e(o):2==n&&"function"==typeof r&&(o=r(o),n=1)}catch(t){return o=t,c()}o==i?(o=TypeError(),c()):h(t,function(){c(3)},c,function(){c(1==n&&3)})})}}(e=this).setImmediate||e.addEventListener("message",function(t){if(t.source==e)if(o)s(n[t.data]);else{o=!0;try{n[t.data]()}catch(t){}delete n[t.data],o=!1}}),a.resolve=function(t){if(1!=this._d)throw TypeError();return t instanceof a?t:new a(function(e){e(t)})},a.reject=function(t){if(1!=this._d)throw TypeError();return new a(function(e,r){r(t)})},a.all=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());var e=new a;return function r(i,n){return n?e.resolve(n):i?e.reject(i):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(e,i){e&&e.then&&e.then(function(e){return t[i]=e,r(),e},r)}))}(),e},a.race=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());if(0==t.length)return new a;var e=new a;return function r(i,n){return n?e.resolve(n):i?e.reject(i):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(t,e){t&&t.then&&t.then(function(t){r(null,t)},r)}))}(),e},a._d=1,t.exports=a}()}).call(this,r(4),r(11).setImmediate)},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e,r){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=r(2),n=r(0);function o(t){return t?t.indexOf("json")>=0?"json":t.indexOf("xml")>=0?"xml":"text":"text"}function s(e,r,s,a,u){var c=a||{};if(u&&(c.Accept="application/"+u),"GET"!==s&&(c["Content-Type"]=c["Content-Type"]||"application/json"),"GET"===s){var h=r&&"object"==typeof r?function(t){return Object.keys(t).reduce(function(e,r){var i="object"==typeof t[r]?JSON.stringify(t[r]):t[r];return e.push(r+"="+encodeURIComponent(i)),e},[]).join("&")}(r):r&&"string"==typeof r?r:"";h&&(e+=-1===e.indexOf("?")?"?":"&",e+=h),r=null}return window.fetch?window.fetch(e,{method:s,body:r?JSON.stringify(r):null,headers:c}).then(function(e){if(!e.ok)return e.text().then(function(r){return t.reject({status:e.status,statusText:e.statusText,message:r})});var r=u||o(e.headers.get("Content-Type"));if("raw"===r)return{headers:Object.fromEntries(e.headers.entries()),url:e.url,body:e.body};if(204!==e.status)switch(r){case"json":return e.json();case"xml":var s=n.toDataDriver(i.DataDriver.xml);return s?e.text().then(function(t){return s.toJsonObject(t)}):e.text();default:return e.text()}}):new t(function(t,a){var h=new XMLHttpRequest;for(var f in h.onload=function(){h.status>=200&&h.status<300?("raw"===u&&t({url:h.responseURL,headers:h.getAllResponseHeaders().trim().split(/[\r\n]+/).reduce(function(t,e){var r=e.split(": ");return t[r[0]]=r[1],t},{}),body:h.response}),204===h.status?t():t(function(t,e){switch(e){case"json":return JSON.parse(t);case"text":return t;case"xml":var r=n.toDataDriver(i.DataDriver.xml);return r?r.toJsonObject(t):{parseError:"Incorrect data driver type: 'xml'"};default:return t}}(h.responseText,u||o(h.getResponseHeader("Content-Type"))))):a({status:h.status,statusText:h.statusText})},h.onerror=function(){a({status:h.status,statusText:h.statusText,message:h.responseText})},h.open(s,e),c)h.setRequestHeader(f,c[f]);switch(s){case"POST":case"DELETE":case"PUT":h.send(void 0!==r?JSON.stringify(r):"");break;case"GET":default:h.send()}})}e.ajax={get:function(t,e,r){return s(t,e,"GET",r&&r.headers,void 0!==r?r.responseType:void 0)},post:function(t,e,r){return s(t,e,"POST",r&&r.headers,void 0!==r?r.responseType:void 0)},put:function(t,e,r){return s(t,e,"PUT",r&&r.headers,void 0!==r?r.responseType:void 0)},delete:function(t,e,r){return s(t,e,"DELETE",r&&r.headers,void 0!==r?r.responseType:void 0)}}}).call(this,r(3))},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=r(20),n=(new Date).valueOf();e.uid=function(){return"u"+n++},e.extend=function t(e,r,i){if(void 0===i&&(i=!0),r)for(var n in r){var o=r[n],s=e[n];void 0===o?delete e[n]:!i||"object"!=typeof s||s instanceof Date||s instanceof Array?e[n]=o:t(s,o)}return e},e.copy=function(t,e){var r={};for(var i in t)e&&"$"===i[0]||(r[i]=t[i]);return r},e.naturalSort=function(t){return t.sort(function(t,e){return"string"==typeof t?t.localeCompare(e):t-e})},e.findIndex=function(t,e){for(var r=t.length,i=0;ie.length)return!1;for(var r=0;re)return[];for(var r=[];t<=e;)r.push(t++);return r},e.isNumeric=function(t){return!isNaN(t-parseFloat(t))},e.downloadFile=function(t,e,r){void 0===r&&(r="text/plain");var i=new Blob([t],{type:r});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(i,e);else{var n=document.createElement("a"),o=URL.createObjectURL(i);n.href=o,n.download=e,document.body.appendChild(n),n.click(),setTimeout(function(){document.body.removeChild(n),window.URL.revokeObjectURL(o)},0)}},e.debounce=function(t,e,r){var i;return function(){var n=this,o=arguments,s=r&&!i;clearTimeout(i),i=setTimeout(function(){i=null,r||t.apply(n,o)},e),s&&t.apply(this,o)}}},function(t,e,r){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,r=1,i=arguments.length;r=0?e:-1},t.prototype.getId=function(t){if(this._order[t])return this._order[t].id},t.prototype.getLength=function(){return this._order.length},t.prototype.isDataLoaded=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this._order.length),h.isNumeric(t)&&h.isNumeric(e)?!this._order.slice(t,e).find(function(t){return t.$empty}):!this._order.find(function(t){return t.$empty})},t.prototype.filter=function(t,e){if(this.isDataLoaded()){if((e=h.extend({add:!1,multiple:!0},e)).add||(this._order=this._initOrder||this._order,this._initOrder=null),this._filters=this._filters||{},e.multiple&&t||(this._filters={}),t){if("function"==typeof t){this._filters._={match:"_",compare:t}}else t.match?(t.compare=t.compare||function(t,e){return t===e},this._filters[t.by]=t):delete this._filters[t.by];this._applyFilters()}this.events.fire(c.DataEvents.change)}else u.dhxWarning("the method doesn't work with lazyLoad")},t.prototype.find=function(t){for(var e in this._pull){var r=u.findByConf(this._pull[e],t);if(r)return r}return null},t.prototype.findAll=function(t){var e=[];for(var r in this._pull){var i=u.findByConf(this._pull[r],t);i&&e.push(i)}return e},t.prototype.sort=function(t){if(this.isDataLoaded()){if(t)this._sort.sort(this._order,t),this._initOrder&&this._initOrder.length&&this._sort.sort(this._initOrder,t);else{for(var e in this._order=[],this._pull)this._order.push(this._pull[e]);this._applyFilters()}this.events.fire(c.DataEvents.change)}else u.dhxWarning("the method doesn't work with lazyLoad")},t.prototype.copy=function(t,e,r,i){var n=this;return t instanceof Array?t.map(function(t,o){return n._copy(t,e,r,i,o)}):this._copy(t,e,r,i)},t.prototype.move=function(t,e,r,i){var n=this;return t instanceof Array?t.map(function(t,o){return n._move(t,e,r,i,o)}):this._move(t,e,r,i)},t.prototype.forEach=function(t){for(var e=0;ethis._order.length-1&&(e=this._order.length-1);for(var i=this._order.slice(t,e),n=[],o=t;o<=e;o++)n.push(r.call(this,this._order[o],o,i));return n},t.prototype.reduce=function(t,e){for(var r=0;r=0&&(this._order=this._order.filter(function(e){return e.id!==t}),delete this._pull[t]),this._initOrder&&this._initOrder.length&&(this._initOrder=this._initOrder.filter(function(e){return e.id!==t}))},t.prototype._parse_data=function(t){var e=this._order.length;this.config.prep&&(t=this.config.prep(t));for(var r=0,i=t;r=0&&t[r]?(this._pull[e.id]=e,t.splice(r,0,e)):(this._pull[e.id]=e,t.push(e))},t.prototype._applyFilters=function(){var t=this;if(this._filters&&Object.keys(this._filters).length){var e=this._order.filter(function(e){return Object.keys(t._filters).every(function(r){return e[r]?t._filters[r].compare(e[r],t._filters[r].match,e):t._filters[r].compare(e)})});this._initOrder||(this._initOrder=this._order),this._order=e}},t}();e.DataCollection=f},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=r(7);e.DataCollection=i.DataCollection;var n=r(22);e.TreeCollection=n.TreeCollection;var o=r(5);e.ajax=o.ajax;var s=r(1);e.DataProxy=s.DataProxy;var a=r(23);e.LazyDataProxy=a.LazyDataProxy},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t){this.events={},this.context=t||this}return t.prototype.on=function(t,e,r){var i=t.toLowerCase();this.events[i]=this.events[i]||[],this.events[i].push({callback:e,context:r||this.context})},t.prototype.detach=function(t,e){var r=t.toLowerCase(),i=this.events[r];if(e&&i&&i.length)for(var n=i.length-1;n>=0;n--)i[n].context===e&&i.splice(n,1);else this.events[r]=[]},t.prototype.fire=function(t,e){void 0===e&&(e=[]);var r=t.toLowerCase();return!this.events[r]||this.events[r].map(function(t){return t.callback.apply(t.context,e)}).indexOf(!1)<0},t.prototype.clear=function(){this.events={}},t}();e.EventSystem=i,e.EventsMixin=function(t){var e=new i(t=t||{});t.detachEvent=e.detach.bind(e),t.attachEvent=e.on.bind(e),t.callEvent=e.fire.bind(e)}},function(t,e,r){"use strict";(function(t){var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,r=1,i=arguments.length;r=a&&c<=a+t.length-1?(u.push(t[h]),h++):u.push({$empty:!0});t=u}return this._parent.removeAll(),this._parent.$parse(t),t},e.prototype.save=function(e){for(var r=this,i=function(i){if(i.saving||i.pending)n.dhxWarning("item is saving");else{var s=o._findPrevState(i.id);if(s&&s.saving){var a=new t(function(t,o){s.promise.then(function(){i.pending=!1,t(r._setPromise(i,e))}).catch(function(t){r._removeFromOrder(s),r._setPromise(i,e),n.dhxWarning(t),o(t)})});o._addToChain(a),i.pending=!0}else o._setPromise(i,e)}},o=this,s=0,a=this._changes.order;s=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},r(12),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,r(4))},function(t,e,r){(function(t,e){!function(t,r){"use strict";if(!t.setImmediate){var i,n=1,o={},s=!1,a=t.document,u=Object.getPrototypeOf&&Object.getPrototypeOf(t);u=u&&u.setTimeout?u:t,"[object process]"==={}.toString.call(t.process)?i=function(t){e.nextTick(function(){h(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,r=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=r,e}}()?function(){var e="setImmediate$"+Math.random()+"$",r=function(r){r.source===t&&"string"==typeof r.data&&0===r.data.indexOf(e)&&h(+r.data.slice(e.length))};t.addEventListener?t.addEventListener("message",r,!1):t.attachEvent("onmessage",r),i=function(r){t.postMessage(e+r,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){h(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var r=a.createElement("script");r.onreadystatechange=function(){h(e),r.onreadystatechange=null,t.removeChild(r),r=null},t.appendChild(r)}}():i=function(t){setTimeout(h,0,t)},u.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),r=0;r1)for(var r=1;r\n";for(var s in t)Array.isArray(t[s])?(r+=n(e+i)+"<"+s+">\n",r+=t[s].map(function(t){return o(t,e+2*i)}).join("\n")+"\n",r+=n(e+i)+"\n"):r+=n(e+i)+"<"+s+">"+t[s]+"\n";return r+=n(e)+""}e.jsonToXML=function(t,e){void 0===e&&(e="root");for(var r='\n<'+e+">",i=0;i"}},function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=r(0),n=function(){function t(){}return t.prototype.sort=function(t,e){var r=this;e.rule&&"function"==typeof e.rule?this._sort(t,e):e.by&&(e.rule=function(t,n){var o=r._checkVal(e.as,t[e.by]),s=r._checkVal(e.as,n[e.by]);return i.naturalCompare(o.toString(),s.toString())},this._sort(t,e))},t.prototype._checkVal=function(t,e){return t?t.call(this,e):e},t.prototype._sort=function(t,e){var r=this,i={asc:1,desc:-1};return t.sort(function(t,n){return e.rule.call(r,t,n)*(i[e.dir]||i.asc)})},t}();e.Sort=n},function(t,e,r){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,r=1,i=arguments.length;r-1)return e[r[u]](i,n);o=o.parentNode}return!0}},e.locate=function(t,e){void 0===e&&(e="dhx_id");var r=n(t,e);return r?r.getAttribute(e):""},e.locateNode=n,e.locateNodeByClassName=function(t,e){for(t instanceof Event&&(t=t.target);t;){if(e){if(t.classList&&t.classList.contains(e))return t}else if(t.getAttribute&&t.getAttribute("dhx_id"))return t;t=t.parentNode}},e.getBox=function(t){var e=t.getBoundingClientRect(),r=document.body,i=window.pageYOffset||r.scrollTop,n=window.pageXOffset||r.scrollLeft;return{top:e.top+i,left:e.left+n,right:r.offsetWidth-e.right,bottom:r.offsetHeight-e.bottom,width:e.right-e.left,height:e.bottom-e.top}};var o,s=-1;function a(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,right:e.right+window.pageXOffset,top:e.top+window.pageYOffset,bottom:e.bottom+window.pageYOffset}}function u(t,e){var r=e.mode===o.bottom||e.mode===o.top?h(t,e):f(t,e),i=r.left,n=r.top;return{left:Math.round(i)+"px",top:Math.round(n)+"px",minWidth:Math.round(e.width)+"px",position:"absolute"}}function c(){return{rightBorder:window.pageXOffset+window.innerWidth,bottomBorder:window.pageYOffset+window.innerHeight}}function h(t,e){var r,n,s=c(),a=s.rightBorder,u=s.bottomBorder-t.bottom-e.height,h=t.top-e.height;if(e.mode===o.bottom?u>=0?n=t.bottom:h>=0&&(n=h):h>=0?n=h:u>=0&&(n=t.bottom),u<0&&h<0){if(e.auto)return f(t,i({},e,{mode:o.right,auto:!1}));n=u>h?t.bottom:h}if(e.centering)r=function(t,e,r){var i=(e-(t.right-t.left))/2,n=t.left-i,o=t.right+i;return n>=0&&o<=r?n:n<0?0:r-e}(t,e.width,a);else{var l=a-t.left-e.width,d=t.right-e.width;r=l>=0?t.left:d>=0?d:d>l?t.left:d}return{left:r,top:n}}function f(t,e){var r,n,s=c(),a=s.rightBorder,u=s.bottomBorder,f=a-t.right-e.width,l=t.left-e.width;if(e.mode===o.right?f>=0?r=t.right:l>=0&&(r=l):l>=0?r=l:f>=0&&(r=t.right),l<0&&f<0){if(e.auto)return h(t,i({},e,{mode:o.bottom,auto:!1}));r=l>f?l:t.right}if(e.centering)n=function(t,e,r){var i=(e-(t.bottom-t.top))/2,n=t.top-i,o=t.bottom+i;return n>=0&&o<=r?n:n<0?0:r-e}(t,e.height,a);else{var d=t.bottom-e.height,p=u-t.top-e.height;n=p>=0?t.top:d>0?d:d>p?d:t.top}return{left:r,top:n}}e.getScrollbarWidth=function(){if(s>-1)return s;var t=document.createElement("div");return document.body.appendChild(t),t.style.cssText="position: absolute;left: -99999px;overflow:scroll;width: 100px;height: 100px;",s=t.offsetWidth-t.clientWidth,document.body.removeChild(t),s},e.fitPosition=function(t,e){return u(a(t),e)},e.isIE=function(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1},e.getRealPosition=a,function(t){t.left="left",t.right="right",t.bottom="bottom",t.top="top"}(o=e.Position||(e.Position={})),e.calculatePosition=u},function(t,e){if(Element&&!Element.prototype.matches){var r=Element.prototype;r.matches=r.matchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.webkitMatchesSelector}},function(t,e,r){"use strict";var i=this&&this.__extends||function(){var t=function(e,r){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(e,r)};return function(e,r){function i(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(i.prototype=r.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var n=r(6),o=r(7),s=r(1),a=r(0),u=r(2);function c(t,e,r,i){void 0!==i&&-1!==i&&t[r]&&t[r][i]?t[r].splice(i,0,e):(t[r]||(t[r]=[]),t[r].push(e))}var h=function(t){function e(e,r){var i,o=t.call(this,e,r)||this,s=o._root="_ROOT_"+n.uid();return o._childs=((i={})[s]=[],i),o._initChilds=null,o}return i(e,t),e.prototype.add=function(t,e,r){var i=this;return void 0===e&&(e=-1),void 0===r&&(r=this._root),"object"!=typeof t&&(t={value:t}),Array.isArray(t)?t.map(function(t,n){return i._add(t,e,r,n)}):this._add(t,e,r)},e.prototype.getRoot=function(){return this._root},e.prototype.getParent=function(t,e){if(void 0===e&&(e=!1),!this._pull[t])return null;var r=this._pull[t].parent;return e?this._pull[r]:r},e.prototype.getItems=function(t){return this._childs&&this._childs[t]?this._childs[t]:[]},e.prototype.getLength=function(t){return void 0===t&&(t=this._root),this._childs[t]?this._childs[t].length:null},e.prototype.removeAll=function(e){var r;if(e)for(var i=0,n=this._childs[e].slice();i0&&-1!==r&&(r+=1);var o=t.prototype.add.call(this,e,r);if(Array.isArray(e.items))for(var s=0,a=e.items;s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/grid/common/flags/cn.svg b/samples/grid/common/flags/cn.svg new file mode 100644 index 0000000..27a9811 --- /dev/null +++ b/samples/grid/common/flags/cn.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/samples/grid/common/flags/id.svg b/samples/grid/common/flags/id.svg new file mode 100644 index 0000000..6736471 --- /dev/null +++ b/samples/grid/common/flags/id.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/samples/grid/common/flags/in.svg b/samples/grid/common/flags/in.svg new file mode 100644 index 0000000..a01d16b --- /dev/null +++ b/samples/grid/common/flags/in.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/grid/common/flags/pk.svg b/samples/grid/common/flags/pk.svg new file mode 100644 index 0000000..1cf6798 --- /dev/null +++ b/samples/grid/common/flags/pk.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/samples/grid/common/flags/us.svg b/samples/grid/common/flags/us.svg new file mode 100644 index 0000000..54ac2fe --- /dev/null +++ b/samples/grid/common/flags/us.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/samples/grid/common/grid.css b/samples/grid/common/grid.css new file mode 100644 index 0000000..12445a7 --- /dev/null +++ b/samples/grid/common/grid.css @@ -0,0 +1,48 @@ +.dhx_sample-container { + height: 600px; +} +.max_cell { + background: #f44336; + color: #FFF; +} + +.min_cell { + background: #4CAF50; + color: #FFF +} + +.my_custom_mark { + background: lightcoral; +} + +.total_col { + background: #f2f2f2; +} + +.dhx_sample-container__widget .myCustomColspan { + background: #f2f2f2; + text-align: center; +} + +.my_custom_row { + background: coral; +} + +.myCustomClass{ + background:greenyellow; +} + +.title { + font-size: 1.2em; + color: tomato; +} + +.custom_footer { + font-size: 18px; + text-decoration: underline; +} + +.myGridCss .dhx_grid-cell { + background: #f2f2f2; + border-color: #FFF; +} \ No newline at end of file diff --git a/samples/grid/index.html b/samples/grid/index.html index e6d2f4a..cc06ea4 100644 --- a/samples/grid/index.html +++ b/samples/grid/index.html @@ -4,19 +4,21 @@ - + Samples - DHTMLX Grid -
    +

    diff --git a/samples/helpers/01_await_redraw/01_init.html b/samples/helpers/01_await_redraw/01_init.html new file mode 100644 index 0000000..ba7820b --- /dev/null +++ b/samples/helpers/01_await_redraw/01_init.html @@ -0,0 +1,106 @@ + + + + + Base initialization - DHTMLX Helpers + + + + + + + + + + + + +
    +
    + +

    +
    + Base initialization. +
    +

    +
    +
    + +
    +
    + +
    + + + diff --git a/samples/helpers/01_await_redraw/index.html b/samples/helpers/01_await_redraw/index.html new file mode 100644 index 0000000..2f83bf9 --- /dev/null +++ b/samples/helpers/01_await_redraw/index.html @@ -0,0 +1,42 @@ + + + + + + + + Await Redraw - DHTMLX Helpers + + + +
    +
    + +

    + DHTMLX Helpers Await Redraw Samples +

    +
    +
    + + + \ No newline at end of file diff --git a/samples/helpers/03_icons/01_init.html b/samples/helpers/03_icons/01_init.html new file mode 100644 index 0000000..827a9c3 --- /dev/null +++ b/samples/helpers/03_icons/01_init.html @@ -0,0 +1,494 @@ + + + + + Base icons - DHTMLX Helpers + + + + + + + + + + + + + + + + +
    +
    + +

    +
    + Base icons. +
    +

    +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + diff --git a/samples/helpers/03_icons/index.html b/samples/helpers/03_icons/index.html new file mode 100644 index 0000000..35ffcd6 --- /dev/null +++ b/samples/helpers/03_icons/index.html @@ -0,0 +1,42 @@ + + + + + + + + Icons - DHTMLX Helpers + + + +
    +
    + +

    + DHTMLX Helpers Icons Samples +

    +
    +
    + + + \ No newline at end of file diff --git a/samples/helpers/common/clipboard.min.js b/samples/helpers/common/clipboard.min.js new file mode 100644 index 0000000..02c549e --- /dev/null +++ b/samples/helpers/common/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.4 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return function(n){var o={};function r(t){if(o[t])return o[t].exports;var e=o[t]={i:t,l:!1,exports:{}};return n[t].call(e.exports,e,e.exports,r),e.l=!0,e.exports}return r.m=n,r.c=o,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=0)}([function(t,e,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i=function(){function o(t,e){for(var n=0;n-1)return e[n[s]](o,i);r=r.parentNode}return!0}},e.locate=function(t,e){void 0===e&&(e="dhx_id");var n=i(t,e);return n?n.getAttribute(e):""},e.locateNode=i,e.getBox=function(t){var e=t.getBoundingClientRect(),n=document.body,o=window.pageYOffset||n.scrollTop,i=window.pageXOffset||n.scrollLeft;return{top:e.top+o,left:e.left+i,right:n.offsetWidth-e.right,bottom:n.offsetHeight-e.bottom,width:e.right-e.left,height:e.bottom-e.top}};var r,a=-1;function c(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,right:e.right+window.pageXOffset,top:e.top+window.pageYOffset,bottom:e.bottom+window.pageYOffset}}function s(t,e){var n=e.mode===r.bottom||e.mode===r.top?l(t,e):d(t,e),o=n.left,i=n.top;return{left:Math.round(o)+"px",top:Math.round(i)+"px",minWidth:Math.round(e.width)+"px",position:"absolute"}}function u(){return{rightBorder:window.pageXOffset+window.innerWidth,bottomBorder:window.pageYOffset+window.innerHeight}}function l(t,e){var n,i,a=u(),c=a.rightBorder,s=a.bottomBorder-t.bottom-e.height,l=t.top-e.height;if(e.mode===r.bottom?s>=0?i=t.bottom:l>=0&&(i=l):l>=0?i=l:s>=0&&(i=t.bottom),s<0&&l<0){if(e.auto)return d(t,o({},e,{mode:r.right,auto:!1}));i=s>l?t.bottom:l}if(e.centering)n=function(t,e,n){var o=(e-(t.right-t.left))/2,i=t.left-o,r=t.right+o;return i>=0&&r<=n?i:i<0?0:n-e}(t,e.width,c);else{var f=c-t.left-e.width,h=t.right-e.width;n=f>=0?t.left:h>=0?h:h>f?t.left:h}return{left:n,top:i}}function d(t,e){var n,i,a=u(),c=a.rightBorder,s=a.bottomBorder,d=c-t.right-e.width,f=t.left-e.width;if(e.mode===r.right?d>=0?n=t.right:f>=0&&(n=f):f>=0?n=f:d>=0&&(n=t.right),f<0&&d<0){if(e.auto)return l(t,o({},e,{mode:r.bottom,auto:!1}));n=f>d?f:t.right}if(e.centering)i=function(t,e,n){var o=(e-(t.bottom-t.top))/2,i=t.top-o,r=t.bottom+o;return i>=0&&r<=n?i:i<0?0:n-e}(t,e.height,c);else{var h=t.bottom-e.height,p=s-t.top-e.height;i=p>=0?t.top:h>0?h:h>p?h:t.top}return{left:n,top:i}}e.getScrollbarWidth=function(){if(a>-1)return a;var t=document.createElement("div");return document.body.appendChild(t),t.style.cssText="position: absolute;left: -99999px;overflow:scroll;width: 100px;height: 100px;",a=t.offsetWidth-t.clientWidth,document.body.removeChild(t),a},e.fitPosition=function(t,e){return s(c(t),e)},e.isIE=function(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1},e.getRealPosition=c,function(t){t.left="left",t.right="right",t.bottom="bottom",t.top="top"}(r=e.Position||(e.Position={})),e.calculatePosition=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.left="left",t.right="right",t.top="top",t.bottom="bottom",t.center="center"}(e.RealPosition||(e.RealPosition={})),function(t){t.right="right",t.bottom="bottom",t.center="center"}(e.Position||(e.Position={})),function(t){t.topLeft="top-left",t.topRight="top-right",t.bottomLeft="bottom-left",t.bottomRight="bottom-right"}(e.MessageContainerPosition||(e.MessageContainerPosition={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n(7);var o=n(8);e.alert=o.alert;var i=n(12);e.confirm=i.confirm;var r=n(1),a=n(13);e.message=a.message;var c=n(15);e.disableTooltip=c.disableTooltip,e.enableTooltip=c.enableTooltip,e.tooltip=c.tooltip;var s=window;e.i18n=s.dhx&&s.dhx.i18n?s.dhx.i18:{},e.i18n.setLocale=function(t,n){var o=e.i18n[t];for(var i in n)o[i]=n[i]},e.i18n.message=e.i18n.message||r.default},function(t,e,n){},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var o=n(1),i=n(3);e.alert=function(e){var n=e.buttons&&e.buttons[0]?e.buttons[0]:o.default.apply,r=i.blockScreen(e.blockerCss);return new t(function(t){var o=document.createElement("div");o.className="dhx_widget dhx_alert "+(e.css||""),o.innerHTML="\n\t\t\t"+(e.header?'
    '+e.header+"
    ":"")+"\n\t\t\t"+(e.text?'
    '+e.text+"
    ":"")+'\n\t\t\t",document.body.appendChild(o),o.querySelector(".dhx_alert__apply-button").focus(),o.querySelector("button").addEventListener("click",function(){r(),document.body.removeChild(o),t(!0)})})}}).call(this,n(2))},function(t,e,n){(function(t){var o=void 0!==t&&t||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function r(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new r(i.call(setTimeout,o,arguments),clearTimeout)},e.setInterval=function(){return new r(i.call(setInterval,o,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(o,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(10),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(0))},function(t,e,n){(function(t,e){!function(t,n){"use strict";if(!t.setImmediate){var o,i=1,r={},a=!1,c=t.document,s=Object.getPrototypeOf&&Object.getPrototypeOf(t);s=s&&s.setTimeout?s:t,"[object process]"==={}.toString.call(t.process)?o=function(t){e.nextTick(function(){l(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?function(){var e="setImmediate$"+Math.random()+"$",n=function(n){n.source===t&&"string"==typeof n.data&&0===n.data.indexOf(e)&&l(+n.data.slice(e.length))};t.addEventListener?t.addEventListener("message",n,!1):t.attachEvent("onmessage",n),o=function(n){t.postMessage(e+n,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){l(t.data)},o=function(e){t.port2.postMessage(e)}}():c&&"onreadystatechange"in c.createElement("script")?function(){var t=c.documentElement;o=function(e){var n=c.createElement("script");n.onreadystatechange=function(){l(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():o=function(t){setTimeout(l,0,t)},s.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n1)for(var n=1;n '+e.header+"

    ":"")+"\n\t\t"+(e.text?'
    '+e.text+"
    ":"")+'\n\t\t\t",document.body.appendChild(o),o.querySelector(".dhx_alert__confirm-reject").focus();var i=function(e){"BUTTON"===e.target.tagName&&function(e){a(),o.removeEventListener("click",i),document.body.removeChild(o),t(e)}(e.target.classList.contains("dhx_alert__confirm-aply"))};o.addEventListener("click",i)})}}).call(this,n(2))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o=n(4),i=n(5),r=new WeakMap,a=new Map;function c(t,e){e&&clearTimeout(r.get(t));var n=t.parentNode,o=n.getAttribute("data-position"),i=n.parentNode,c=a.get(i);if(c){var s=c[o];if(s){var u=s.stack,l=u.indexOf(t);return-1!==l?(n.removeChild(t),u.splice(l,1),void(0===u.length&&i.removeChild(n))):void 0}}}function s(t,e){var n=document.createElement("div");return n.setAttribute("data-position",e),n.className="dhx_message-container dhx_message-container--"+e+(t===document.body?" dhx_message-container--in-body":""),n}e.message=function(t){var e;"string"==typeof t&&(t={text:t}),t.position=t.position||i.MessageContainerPosition.topRight;var n=document.createElement("div");n.className="dhx_widget dhx_message "+(t.css||""),t.html?n.innerHTML=t.html:n.innerHTML=''+t.text+"\n\t\t"+(t.icon?'':"");var u=t.node?o.toNode(t.node):document.body;"static"===getComputedStyle(u).position&&(u.style.position="relative");var l=a.get(u);l?l[t.position]||(l[t.position]={stack:[],container:s(u,t.position)}):a.set(u,((e={})[t.position]={stack:[],container:s(u,t.position)},e));var d=a.get(u)[t.position],f=d.stack,h=d.container;if(0===f.length&&u.appendChild(h),f.push(n),h.appendChild(n),t.expire){var p=setTimeout(function(){return c(n)},t.expire);r.set(n,p)}n.onclick=function(){return c(n,!0)}}},function(t,e){if(Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}},function(t,e,n){"use strict";var o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,n=1,o=arguments.length;nwindow.innerWidth+window.pageXOffset&&(a=window.pageXOffset+t.left-n,i=r.RealPosition.left),{left:a,top:c=window.pageYOffset+t.top+(t.height-o)/2,pos:i};case r.Position.bottom:default:return(a=window.pageXOffset+t.left+(t.width-n)/2)+n>window.innerWidth+window.pageXOffset?a=window.innerWidth+window.pageXOffset-n:a<0&&(a=0),i=r.RealPosition.bottom,(c=window.pageYOffset+t.bottom)+o+8>window.innerHeight+window.pageYOffset&&(c=window.pageYOffset+t.top-o,i=r.RealPosition.top),{left:a,top:c,pos:i}}}e.findPosition=s;var u=document.createElement("div"),l=document.createElement("span");l.className="dhx_tooltip__text",u.appendChild(l),u.style.position="absolute";var d,f=null,h=!1,p=null,m=null;function v(t,e,n,o,i){void 0===i&&(i=!1);var a=t.getBoundingClientRect();l.textContent=e,document.body.appendChild(u),u.className="dhx_widget dhx_tooltip"+(i?" dhx_tooltip--forced":"");var c=u.getBoundingClientRect(),d=s(a,n,c.width,c.height),f=d.left,p=d.top,m=d.pos;switch(m){case r.RealPosition.bottom:case r.RealPosition.top:case r.RealPosition.left:case r.RealPosition.right:case r.RealPosition.center:u.style.left=f+"px",u.style.top=p+"px"}u.className+=" dhx_tooltip--"+m+" "+(o||""),h=!0,i||setTimeout(function(){u.className+=" dhx_tooltip--animate"})}function g(t,e,n){var o=n.force,i=n.showDelay,s=n.hideDelay,l=n.position,g=n.css;o||(m=setTimeout(function(){v(t,e,l||r.Position.bottom,g)},i||a));var b=function(){h&&function(t){f&&(p=setTimeout(function(){document.body.removeChild(u),h=!1,p=null},t||c))}(s),clearTimeout(m),t.removeEventListener("mouseleave",b),t.removeEventListener("blur",b),document.removeEventListener("mousedown",b),f=null,d=null};o&&v(t,e,l,g,o),t.addEventListener("mouseleave",b),t.addEventListener("blur",b),document.addEventListener("mousedown",b),d=b}function b(t,e){var n=i.toNode(e.node);n!==f&&(d&&(d(),d=null),f=n,p?(clearTimeout(p),p=null,g(n,t,o({},e,{force:!0}))):g(n,t,e))}function _(t){var e=i.locateNode(t,"dhx_tooltip_text");e&&b(e.getAttribute("dhx_tooltip_text"),{position:e.getAttribute("dhx_tooltip_position")||r.Position.bottom,node:e})}e.tooltip=b,e.enableTooltip=function(){document.addEventListener("mousemove",_)},e.disableTooltip=function(){document.removeEventListener("mousemove",_)}}])}),window.dhx_legacy){if(window.dhx)for(var key in dhx)dhx_legacy[key]=dhx[key];window.dhx=dhx_legacy,delete window.dhx_legacy} \ No newline at end of file diff --git a/samples/helpers/index.html b/samples/helpers/index.html new file mode 100644 index 0000000..45aac80 --- /dev/null +++ b/samples/helpers/index.html @@ -0,0 +1,49 @@ + + + + + + + + Samples - DHTMLX Helpers + + + +
    +
    + +

    + DHTMLX Helpers Samples +

    +
    +
    + + + \ No newline at end of file diff --git a/samples/index.html b/samples/index.html index 9719a61..321686e 100644 --- a/samples/index.html +++ b/samples/index.html @@ -4,16 +4,15 @@ - + DHTMLX Suite -
    +
    +

    +
    -
    -
    - -
    - - - - - + { + cols: [ + { + id: "sidebar", + html: "Sidebar", + gravity: false, + css: "dhx_layout-cell--border_right", + width: "200px" + }, + { + rows: [{ + id: "content", + css: "", + html: "Content" + },] + }, + { + id: "rightbar", + html: "Aside", + gravity: false, + css: "dhx_layout-cell--border_left", + width: "200px" + }, + ] + }, + { + id: "footer", + html: "Footer", + css: "dhx_layout-cell--border_top", + gravity: false, + height: "60px" + } + ] + }; + var layout = new dhx.Layout("layout", config); + + \ No newline at end of file diff --git a/samples/layout/01_init/index.html b/samples/layout/01_init/index.html index fa34aa0..5c18e04 100644 --- a/samples/layout/01_init/index.html +++ b/samples/layout/01_init/index.html @@ -4,7 +4,7 @@ - + Initialization - DHTMLX Layout @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Layout samples -
  • -
  • - Initialization -
  • +
  • + Layout samples +
  • +
  • + Initialization +
  • diff --git a/samples/layout/02_configuration/01_html_content.html b/samples/layout/02_configuration/01_html_content.html index 491041f..17c21ea 100644 --- a/samples/layout/02_configuration/01_html_content.html +++ b/samples/layout/02_configuration/01_html_content.html @@ -1,101 +1,99 @@ - - - - Html content - DHTMLX Layout - - - - - - - - - - - -
    -
    - +

    +
    Html content. -

    -
    + +

    +
    -
    -
    - -
    - - - - - +
    +
    +
    + + \ No newline at end of file diff --git a/samples/layout/02_configuration/02_header.html b/samples/layout/02_configuration/02_header.html index 436c97f..120e60f 100644 --- a/samples/layout/02_configuration/02_header.html +++ b/samples/layout/02_configuration/02_header.html @@ -1,97 +1,93 @@ - - - - Header - DHTMLX Layout - - - - - - - - - - - -
    -
    - +

    +
    Header. -

    -
    + +

    + -
    -
    - -
    - - - - - + header: "Content", + headerHeight: 60 + }, + { + id: "rightbar", + header: "Aside", + gravity: false, + css: "dhx_layout-cell--border_left", + width: "200px", + headerHeight: 80 + } + ] + }, + { + id: "footer", + header: "Footer", + css: "dhx_layout-cell--border_top", + gravity: false, + height: "80px" + } + ] + }); + + \ No newline at end of file diff --git a/samples/layout/02_configuration/03_sizes.html b/samples/layout/02_configuration/03_sizes.html index 2893bf8..9777ed4 100644 --- a/samples/layout/02_configuration/03_sizes.html +++ b/samples/layout/02_configuration/03_sizes.html @@ -6,21 +6,12 @@ - - - + + + + + -
    @@ -42,59 +33,62 @@

    - Sizes. +
    + Sizes. +

    -
    - - + } + ] + }, + { + id: "rightbar", + html: "Aside", + gravity: false, + css: "dhx_layout-cell--border_left", + width: "200px" + }, + ] + }, + { + id: "footer", + html: "Footer", + css: "dhx_layout-cell--border_top", + gravity: false, + height: "60px" + } + ] + }); + diff --git a/samples/layout/02_configuration/04_collapsable.html b/samples/layout/02_configuration/04_collapsable.html index a01eba7..2f5cc84 100644 --- a/samples/layout/02_configuration/04_collapsable.html +++ b/samples/layout/02_configuration/04_collapsable.html @@ -6,15 +6,12 @@ - - - + + + + + -
    @@ -36,63 +33,66 @@

    - Collapsable. +
    + Collapsable. +

    -
    - - + var layout = new dhx.Layout("layout", { + css: "dhx_layout-cell--bordered", + rows: [ + { + id: "toolbar", + header: "Header", + collapsable: true, + css: "dhx_layout-cell--border_bottom", + gravity: false, + height: "80px" + }, + { + cols: [ + { + id: "sidebar", + header: "Sidebar", + collapsable: true, + gravity: false, + css: "dhx_layout-cell--border_right", + width: "200px" + }, + { + rows: [ + { + id: "content", + css: "", + header: "Content", + } + ] + }, + { + id: "rightbar", + header: "Aside", + collapsable: true, + gravity: false, + css: "dhx_layout-cell--border_left", + width: "200px" + }, + ] + }, + { + id: "footer", + header: "Footer", + collapsable: true, + css: "dhx_layout-cell--border_top", + gravity: false, + height: "80px" + } + ] + }); + diff --git a/samples/layout/02_configuration/05_resizable.html b/samples/layout/02_configuration/05_resizable.html index ada1078..17f634b 100644 --- a/samples/layout/02_configuration/05_resizable.html +++ b/samples/layout/02_configuration/05_resizable.html @@ -6,17 +6,14 @@ - - - + + + + + - - +

    - Resizable. +
    + Resizable. +

    -
    - - + var layout = new dhx.Layout("layout", { + css: "dhx_layout-cell--bordered", + width: "1220px", + height: "300px", + rows: [ + { + id: "toolbar", + html: "Header", + css: "dhx_layout-cell--border_bottom", + gravity: false, + height: "60px", + resizable: true + }, + { + cols: [ + { + id: "sidebar", + html: "Sidebar", + resizable: true, + css: "dhx_layout-cell--border_right", + width: "200px" + }, + { + resizable: true, + width: "820px", + id: "content", + css: "", + html: "Content" + }, + { + id: "rightbar", + html: "Aside", + resizable: true, + css: "dhx_layout-cell--border_left", + width: "200px" + }, + ], + resizable: true + }, + { + id: "footer", + html: "Footer", + css: "dhx_layout-cell--border_top", + gravity: false, + height: "60px" + } + ] + }); + diff --git a/samples/layout/02_configuration/06_accordion.html b/samples/layout/02_configuration/06_accordion.html index 468f263..967d4f1 100644 --- a/samples/layout/02_configuration/06_accordion.html +++ b/samples/layout/02_configuration/06_accordion.html @@ -6,19 +6,18 @@ - - - + + + + + @@ -42,25 +41,24 @@

    - Accordion. +
    + Accordion. +

    - +
    -
    - - diff --git a/samples/layout/02_configuration/07_padding.html b/samples/layout/02_configuration/07_padding.html index 484df80..af3f7a5 100644 --- a/samples/layout/02_configuration/07_padding.html +++ b/samples/layout/02_configuration/07_padding.html @@ -1,91 +1,83 @@ - - - - Padding - DHTMLX Layout - - - - - - - - - - - -
    -
    - +

    +
    Padding. -

    -
    + + +
    -
    - -
    - -
    -
    -
    -
    - -
    +
    + +
    + +
    +
    +
    +
    +
    + - - + var layout = new dhx.Layout("layout", getLayoutConfig(paddingSize)); + document.querySelector("#set-padding-size").addEventListener("click", function () { + paddingSize = document.querySelector("#padding-size").value; + if (layout) { + layout.destructor() + } + layout = new dhx.Layout("layout", getLayoutConfig(paddingSize)); + }) + + \ No newline at end of file diff --git a/samples/layout/02_configuration/08_align.html b/samples/layout/02_configuration/08_align.html index ec1c5fa..d9d8611 100644 --- a/samples/layout/02_configuration/08_align.html +++ b/samples/layout/02_configuration/08_align.html @@ -1,156 +1,144 @@ - - - - Align - DHTMLX Layout - - - - - - - - - - - -
    -
    - +

    +
    Align. -

    -
    + + +
    -
    -
    - - - - - - -
    -
    -
    -
    - -
    +
    +
    + + + + + + +
    +
    +
    +
    +
    + - - - + + \ No newline at end of file diff --git a/samples/layout/02_configuration/09_gravity.html b/samples/layout/02_configuration/09_gravity.html index 8f0d200..153edc1 100644 --- a/samples/layout/02_configuration/09_gravity.html +++ b/samples/layout/02_configuration/09_gravity.html @@ -1,80 +1,73 @@ - - - - Gravity - DHTMLX Layout - - - - - - - - - - - -
    -
    - +

    +
    Gravity. -

    -
    + + +
    -
    -
    - - -
    -
    -
    -
    -
    - - - - + var layout = new dhx.Layout("layout", getLayoutConfig(gravity)); + document.getElementById("form-controls").addEventListener("change", function (e) { + gravity = e.target.value === "1"; + if (layout) { + layout.destructor() + } + layout = new dhx.Layout("layout", getLayoutConfig(gravity)); + }); + + \ No newline at end of file diff --git a/samples/layout/02_configuration/index.html b/samples/layout/02_configuration/index.html index 3d5d8e8..93c1f86 100644 --- a/samples/layout/02_configuration/index.html +++ b/samples/layout/02_configuration/index.html @@ -4,7 +4,7 @@ - + Configuration - DHTMLX Layout @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Layout samples -
  • -
  • - Configuration -
  • +
  • + Layout samples +
  • +
  • + Configuration +
  • diff --git a/samples/layout/03_usage/01_attach.html b/samples/layout/03_usage/01_attach.html index fb1ad42..b73313c 100644 --- a/samples/layout/03_usage/01_attach.html +++ b/samples/layout/03_usage/01_attach.html @@ -1,129 +1,131 @@ - - - - Attach - DHTMLX Layout - - - - - - - - - - - - - - - -
    -
    - +

    +
    Attach. -

    -
    + +

    + -
    - - -
    -
    -
    +
    + + +
    +
    +
    +
    + + var list = new dhx.List(null, { + template: listTemplate, + itemHeight: 52, + height: "100%", + dragMode: "both", + }); + list.data.load('../common/library.json'); - + function attachList() { + layout.getCell("list").attach(list); + } + function attachDataView() { + layout.getCell("dataview").attach(dataview); + } + + \ No newline at end of file diff --git a/samples/layout/03_usage/02_add_cell.html b/samples/layout/03_usage/02_add_cell.html index df2c49f..cd2b342 100644 --- a/samples/layout/03_usage/02_add_cell.html +++ b/samples/layout/03_usage/02_add_cell.html @@ -6,9 +6,11 @@ - - - + + + + + @@ -31,7 +33,9 @@

    - Add cell. +
    + Add cell. +

    @@ -40,11 +44,9 @@

    -
    - - diff --git a/samples/layout/03_usage/03_remove_cell.html b/samples/layout/03_usage/03_remove_cell.html index c07ba26..73fe40f 100644 --- a/samples/layout/03_usage/03_remove_cell.html +++ b/samples/layout/03_usage/03_remove_cell.html @@ -6,9 +6,11 @@ - - - + + + + + @@ -31,21 +33,21 @@

    - Remove cell. +
    + Remove cell. +

    - +
    -
    - - diff --git a/samples/layout/03_usage/04_hide.html b/samples/layout/03_usage/04_hide.html index 193f901..72e4318 100644 --- a/samples/layout/03_usage/04_hide.html +++ b/samples/layout/03_usage/04_hide.html @@ -6,9 +6,11 @@ - - - + + + + + @@ -31,7 +33,9 @@

    - Hide. +
    + Hide. +

    @@ -40,34 +44,33 @@

    -
    - - diff --git a/samples/layout/03_usage/05_show.html b/samples/layout/03_usage/05_show.html index b500c7f..8a88256 100644 --- a/samples/layout/03_usage/05_show.html +++ b/samples/layout/03_usage/05_show.html @@ -6,9 +6,11 @@ - - - + + + + + @@ -31,7 +33,9 @@

    - Show. +
    + Show. +

    @@ -40,33 +44,33 @@

    -
    - diff --git a/samples/layout/03_usage/06_expand_collapse.html b/samples/layout/03_usage/06_expand_collapse.html new file mode 100644 index 0000000..9e4b52f --- /dev/null +++ b/samples/layout/03_usage/06_expand_collapse.html @@ -0,0 +1,100 @@ + + + + + Expand/collapse - DHTMLX Layout + + + + + + + + + + + + +
    +
    + +

    +
    + Expand/collapse. +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + diff --git a/samples/layout/03_usage/07_toggle.html b/samples/layout/03_usage/07_toggle.html new file mode 100644 index 0000000..95d79bc --- /dev/null +++ b/samples/layout/03_usage/07_toggle.html @@ -0,0 +1,99 @@ + + + + + Toggle - DHTMLX Layout + + + + + + + + + + + + +
    +
    + +

    +
    + Toggle. +
    +

    +
    +
    +
    + +
    +
    +
    +
    + + + diff --git a/samples/layout/03_usage/08_foreach.html b/samples/layout/03_usage/08_foreach.html new file mode 100644 index 0000000..1b1c511 --- /dev/null +++ b/samples/layout/03_usage/08_foreach.html @@ -0,0 +1,155 @@ + + + + + ForEach - DHTMLX Layout + + + + + + + + + + + + +
    +
    + +

    +
    + ForEach. +
    +

    +
    +
    +
    +
    + + + + +
    + + +
    +
    +
    +
    + + + diff --git a/samples/layout/03_usage/index.html b/samples/layout/03_usage/index.html index d10b826..34a3b77 100644 --- a/samples/layout/03_usage/index.html +++ b/samples/layout/03_usage/index.html @@ -4,7 +4,7 @@ - + Usage - DHTMLX Layout @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Layout samples -
  • -
  • - Usage -
  • +
  • + Layout samples +
  • +
  • + Usage +
  • @@ -57,6 +56,21 @@

    Show +
  • + + Expand/collapse + +
  • +
  • + + Toggle + +
  • +
  • + + ForEach + +
  • diff --git a/samples/layout/04_customization/01_custom_css.html b/samples/layout/04_customization/01_custom_css.html index e61a200..6aa0462 100644 --- a/samples/layout/04_customization/01_custom_css.html +++ b/samples/layout/04_customization/01_custom_css.html @@ -6,103 +6,28 @@ - - - + + + + + - - - -
    -
    - -

    - Custom css. -

    -
    -
    -
    -
    - -
    - - + + +
    +
    + +

    +
    + Custom css. +
    +

    +
    +
    +
    +
    +
    + diff --git a/samples/layout/04_customization/index.html b/samples/layout/04_customization/index.html index d6e3b24..6c4481c 100644 --- a/samples/layout/04_customization/index.html +++ b/samples/layout/04_customization/index.html @@ -4,7 +4,7 @@ - + Customization - DHTMLX Layout @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Layout samples -
  • -
  • - Customization -
  • +
  • + Layout samples +
  • +
  • + Customization +
  • diff --git a/samples/layout/05_events/01_events.html b/samples/layout/05_events/01_events.html new file mode 100644 index 0000000..82dfa7a --- /dev/null +++ b/samples/layout/05_events/01_events.html @@ -0,0 +1,178 @@ + + + + + Events - DHTMLX Layout + + + + + + + + + + + +
    +
    + +

    +
    + Events. +
    +

    +
    +
    +
    + + +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/samples/layout/05_events/index.html b/samples/layout/05_events/index.html new file mode 100644 index 0000000..b230859 --- /dev/null +++ b/samples/layout/05_events/index.html @@ -0,0 +1,42 @@ + + + + + + + + Events - DHTMLX Layout + + + +
    +
    + +

    + DHTMLX Layout Events Samples +

    +
    +
    + + + \ No newline at end of file diff --git a/samples/layout/common/dataview/dataview.min.css b/samples/layout/common/dataview/dataview.min.css new file mode 100644 index 0000000..8a0056a --- /dev/null +++ b/samples/layout/common/dataview/dataview.min.css @@ -0,0 +1 @@ +.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:-webkit-grab!important;cursor:grab!important}.dhx_no-select--pointer{cursor:pointer}.dhx_no-select--pointer,.dhx_no-select--resize{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{box-sizing:border-box}body{margin:0}.dhx_widget{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_widget--bordered{border:1px solid #e4e4e4}.dhx_widget--border_top{border-top:1px solid #e4e4e4}.dhx_widget--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_widget--border_left{border-left:1px solid #e4e4e4}.dhx_widget--border_right{border-right:1px solid #e4e4e4}.dhx_widget--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget.dhx_widget--bg_white{background-color:#fff}.dhx_widget.dhx_widget--bg_gray{background-color:#f7f7f7}.dhx_drag-ghost{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;z-index:999;opacity:.6}.dhx_drag-ghost *{box-sizing:border-box}.dhx_drag-ghost .dhx_list-item{list-style-type:none}.dhx_drag-ghost .dhx_list-item--selected{background-color:#fff;box-shadow:inset 0 0 0 0 #0288d1}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:#fff;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_drag-ghost .dhx_tree-list-item__icon{position:relative;display:inline;vertical-align:middle;color:rgba(0,0,0,.3);font-size:20px;top:2px}.dhx_drag-ghost .dhx_tree-list-item__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;vertical-align:middle;line-height:20px;color:rgba(0,0,0,.7)}.dhx_drag-ghost .dhx_dataview-item,.dhx_drag-ghost .dhx_grid-cell,.dhx_drag-ghost .dhx_list-item{background-color:#fff;border:1px solid #e4e4e4!important}@font-face{font-family:Roboto;src:url(fonts/roboto-regular-webfont.woff2) format("woff2"),url(fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-medium-webfont.woff2) format("woff2"),url(fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-bold-webfont.woff2) format("woff2"),url(fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}@font-face{font-family:dhxicons;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff")}.dxi:before{font-family:dhxicons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dxi.dxi-alert-circle:before{content:"\F101"}.dxi.dxi-arrow-collapse:before{content:"\F102"}.dxi.dxi-arrow-expand:before{content:"\F103"}.dxi.dxi-blur-off:before{content:"\F104"}.dxi.dxi-blur:before{content:"\F105"}.dxi.dxi-calendar-today:before{content:"\F106"}.dxi.dxi-check:before{content:"\F107"}.dxi.dxi-checkbox-blank-outline:before{content:"\F108"}.dxi.dxi-checkbox-marked-circle:before{content:"\F109"}.dxi.dxi-checkbox-marked:before{content:"\F10A"}.dxi.dxi-chevron-down:before{content:"\F10B"}.dxi.dxi-chevron-left:before{content:"\F10C"}.dxi.dxi-chevron-right:before{content:"\F10D"}.dxi.dxi-chevron-up:before{content:"\F10E"}.dxi.dxi-clock-outline:before{content:"\F10F"}.dxi.dxi-clock:before{content:"\F110"}.dxi.dxi-close-circle:before{content:"\F111"}.dxi.dxi-close:before{content:"\F112"}.dxi.dxi-delete-forever:before{content:"\F113"}.dxi.dxi-delete:before{content:"\F114"}.dxi.dxi-dots-horizontal:before{content:"\F115"}.dxi.dxi-dots-vertical:before{content:"\F116"}.dxi.dxi-download:before{content:"\F117"}.dxi.dxi-empty:before{content:"\F118"}.dxi.dxi-eraser:before{content:"\F119"}.dxi.dxi-eye-off:before{content:"\F11A"}.dxi.dxi-eye:before{content:"\F11B"}.dxi.dxi-eyedropper-variant:before{content:"\F11C"}.dxi.dxi-file-excel:before{content:"\F11D"}.dxi.dxi-file-export:before{content:"\F11E"}.dxi.dxi-file-import:before{content:"\F11F"}.dxi.dxi-file-outline:before{content:"\F120"}.dxi.dxi-filter-variant:before{content:"\F121"}.dxi.dxi-folder-open:before{content:"\F122"}.dxi.dxi-folder:before{content:"\F123"}.dxi.dxi-format-align-center:before{content:"\F124"}.dxi.dxi-format-align-left:before{content:"\F125"}.dxi.dxi-format-align-right:before{content:"\F126"}.dxi.dxi-format-bold:before{content:"\F127"}.dxi.dxi-format-color-fill:before{content:"\F128"}.dxi.dxi-format-color-text:before{content:"\F129"}.dxi.dxi-format-italic:before{content:"\F12A"}.dxi.dxi-format-line-spacing:before{content:"\F12B"}.dxi.dxi-format-quote-close:before{content:"\F12C"}.dxi.dxi-format-quote-open:before{content:"\F12D"}.dxi.dxi-format-strikethrough:before{content:"\F12E"}.dxi.dxi-format-underline:before{content:"\F12F"}.dxi.dxi-format-vertical-align-bottom:before{content:"\F130"}.dxi.dxi-format-vertical-align-center:before{content:"\F131"}.dxi.dxi-format-vertical-align-top:before{content:"\F132"}.dxi.dxi-function-variant:before{content:"\F133"}.dxi.dxi-help-circle-outline:before{content:"\F134"}.dxi.dxi-information-outline:before{content:"\F135"}.dxi.dxi-key:before{content:"\F136"}.dxi.dxi-link-variant-off:before{content:"\F137"}.dxi.dxi-link-variant:before{content:"\F138"}.dxi.dxi-loading:before{content:"\F139"}.dxi.dxi-magnify:before{content:"\F13A"}.dxi.dxi-menu-down:before{content:"\F13B"}.dxi.dxi-menu-left:before{content:"\F13C"}.dxi.dxi-menu-right:before{content:"\F13D"}.dxi.dxi-menu-up:before{content:"\F13E"}.dxi.dxi-minus-box:before{content:"\F13F"}.dxi.dxi-minus:before{content:"\F140"}.dxi.dxi-numeric:before{content:"\F141"}.dxi.dxi-pencil:before{content:"\F142"}.dxi.dxi-plus-circle:before{content:"\F143"}.dxi.dxi-plus:before{content:"\F144"}.dxi.dxi-printer:before{content:"\F145"}.dxi.dxi-redo:before{content:"\F146"}.dxi.dxi-rotate-right:before{content:"\F147"}.dxi.dxi-select-all:before{content:"\F148"}.dxi.dxi-sort-variant:before{content:"\F149"}.dxi.dxi-table-column-plus-before:before{content:"\F14A"}.dxi.dxi-table-column-remove:before{content:"\F14B"}.dxi.dxi-table-column:before{content:"\F14C"}.dxi.dxi-table-row-plus-before:before{content:"\F14D"}.dxi.dxi-table-row-remove:before{content:"\F14E"}.dxi.dxi-table-row:before{content:"\F14F"}.dxi.dxi-undo:before{content:"\F150"}.dxi.dxi-unfold-more-horizontal:before{content:"\F151"}.dxi.dxi-vault:before{content:"\F152"}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:20px}.dxi--small:before{font-size:16px}.dxi--medium:before{font-size:20px}.dxi--large:before{font-size:24px}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;touch-action:manipulation;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:4px}.dhx_button__loading{display:none;position:absolute;left:0;top:0;right:0;bottom:0;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dhx_button__loading-icon{-webkit-animation:a .9s linear infinite;animation:a .9s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{-webkit-box-pack:justify;justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:28px}.dhx_button--circle.dhx_button--size_medium{border-radius:32px}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:6px;padding-right:6px}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:4px;padding-right:4px}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__loading{display:-webkit-box;display:flex}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:4px 12px;font-size:14px;line-height:20px}.dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:16px;margin-top:-8px;margin-left:-8px}.dhx_button--size_medium{padding:6px 16px;text-transform:uppercase;line-height:20px}.dhx_button--size_medium .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:20px;margin-top:-10px;margin-left:-10px}.dhx_button--view_flat{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;color:#fff;-webkit-transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{-webkit-transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out;transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_flat.dhx_button--color_primary{background-color:#0288d1;outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:#35a0da}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:#0288d1;box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_primary:disabled{background-color:#81c4e8}.dhx_button--view_flat.dhx_button--color_secondary{background-color:#4d4d4d;outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:#717171}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:#4d4d4d;box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_secondary:disabled{background-color:#a6a6a6}.dhx_button--view_flat.dhx_button--color_danger{background-color:#ff5252;outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:#ff7575}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:#ff5252;box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_danger:disabled{background-color:#ffa9a9}.dhx_button--view_flat.dhx_button--color_success{background-color:#0ab169;outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:#3bc187}.dhx_button--view_flat.dhx_button--color_success:active{background-color:#0ab169;box-shadow:none}.dhx_button--view_flat.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_success:disabled{background-color:#85d8b4}.dhx_button--view_link{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;border-radius:2px;background:transparent;-webkit-transition:background-color .2s ease-in,box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_link:focus,.dhx_button--view_link:hover{-webkit-transition:background-color .2s ease-out,box-shadow .2s ease-out;transition:background-color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_link.dhx_button--color_primary{color:#0288d1;outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:#d9edf8}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:#b8def2}.dhx_button--view_link.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_primary:disabled{color:#81c4e8}.dhx_button--view_link.dhx_button--color_secondary{color:#4d4d4d;outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:#e4e4e4}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:#cdcdcd}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_secondary:disabled{color:#a6a6a6}.dhx_button--view_link.dhx_button--color_danger{color:#ff5252;outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:#ffe5e5}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:#ffcfcf}.dhx_button--view_link.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_danger:disabled{color:#ffa9a9}.dhx_button--view_link.dhx_button--color_success{color:#0ab169;outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:#daf3e9}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:#bae9d5}.dhx_button--view_link.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_success:disabled{color:#85d8b4}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:8px;margin-right:auto}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_form-group{position:relative;display:block;text-align:left;padding-bottom:16px}.dhx_form-group--simplevault{line-height:0;height:100%}.dhx_form-group--simplevault .dhx_label{margin-bottom:4px}.dhx_form-group--textarea{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;height:100%}.dhx_form-group--textarea .dhx_input--textarea,.dhx_form-group--textarea .dhx_input__wrapper{height:100%}.dhx_form-group--textarea .dhx_label{min-height:20px;line-height:20px;margin-bottom:4px}.dhx_form-group--inline{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;-webkit-box-align:center;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;-webkit-box-flex:0;flex:0 1 auto;max-height:40px;margin-right:16px;margin-bottom:0;text-align:right;width:100%;margin-top:6px;align-self:flex-start}.dhx_form-group--inline .dhx_input__wrapper{-webkit-box-flex:0;flex:0 1 auto;width:300%;height:100%}.dhx_form-group--inline .dhx_label--with-help{-webkit-box-pack:end;justify-content:flex-end}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative;margin-bottom:0}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--no-message-holder{padding-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input__caption,.dhx_form-group--state_error .dhx_label{color:#ff5252}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{box-shadow:inset 0 0 0 1px #ffbaba}.dhx_form-group--state_error .dhx_simplevault-files,.dhx_form-group--state_error .dhx_simplevault-files:focus,.dhx_form-group--state_error .dhx_simplevault__drop-area,.dhx_form-group--state_error .dhx_simplevault__drop-area:focus{border-color:#ffbaba}.dhx_form-group--state_success .dhx_input__caption,.dhx_form-group--state_success .dhx_label{color:#0ab169}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{box-shadow:inset 0 0 0 1px #9de0c3}.dhx_form-group--state_success .dhx_simplevault__drop-area,.dhx_form-group--state_success .dhx_simplevault__drop-area:focus{border-top-color:#9de0c3;border-left-color:#9de0c3;border-right-color:#9de0c3}.dhx_form-group--state_success .dhx_simplevault-files,.dhx_form-group--state_success .dhx_simplevault-files:focus{border-right-color:#9de0c3;border-left-color:#9de0c3;border-bottom-color:#9de0c3}.dhx_form-group--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_form-group .dhx_combobox{margin:0}.dhx_form-group .dhx_slider{padding-bottom:0}.dhx_input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:#f6f6f6;background-clip:padding-box;box-shadow:inset 0 0 0 1px #dfdfdf;border:0;border-radius:2px;outline:0;-webkit-transition:border-color .2s ease-in,box-shadow .2s ease-in;transition:border-color .2s ease-in,box-shadow .2s ease-in}.dhx_input::-webkit-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::-moz-placeholder{color:rgba(0,0,0,.5)}.dhx_input:-ms-input-placeholder,.dhx_input::-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::placeholder{color:rgba(0,0,0,.5)}.dhx_input:focus{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_input--icon-padding{padding-right:24px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{box-shadow:none;background:none;padding-left:0}.dhx_input--textinput:focus{box-shadow:none}.dhx_input__wrapper{width:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:relative}.dhx_input__wrapper:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_input__container{width:100%;display:inline-block;position:relative}.dhx_input__caption{left:0;bottom:0;max-width:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;font-weight:400;line-height:16px;color:rgba(0,0,0,.5);white-space:wrap;overflow-x:hidden;text-overflow:ellipsis;cursor:default}.dhx_input__icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:4px;z-index:1;color:rgba(0,0,0,.5);pointer-events:none}.dhx_input__icon--color-selected{border-radius:2px}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:20px;line-height:20px}.dhx_label{display:inline-block;width:auto;-webkit-box-flex:0;flex:0 1 auto;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;cursor:pointer;-webkit-transition:color .2s ease-in,opacity .2s ease-in;transition:color .2s ease-in,opacity .2s ease-in}.dhx_label:hover{opacity:.8;-webkit-transition:color .2s ease-out,opacity .2s ease-out;transition:color .2s ease-out,opacity .2s ease-out}.dhx_label__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_label--with-help{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.dhx_label-help{margin-left:4px;color:#0288d1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_label-help:focus{outline:none}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__visual-input{display:block;border:2px solid rgba(0,0,0,.5);min-width:20px;min-height:20px;background-color:#fff;border-radius:2px;cursor:pointer}.dhx_checkbox .dhx_label{margin-top:4px;margin-bottom:0;width:auto}.dhx_checkbox .dhx_label:after{display:none}.dhx_checkbox .dhx_input__caption{position:static;display:block;-webkit-transform:none;transform:none}.dhx_checkbox.dhx_form-group--inline{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_checkbox.dhx_form-group--hidden{display:none}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.dhx_checkbox__input:focus+.dhx_checkbox__visual-input{border-color:#0288d1}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input{background-color:#0288d1;background-position:50%;background-size:cover;border-color:#0288d1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_radiobutton{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_radiobutton__visual-input{display:block;border:2px solid rgba(0,0,0,.5);bottom:4px;left:0;min-width:20px;min-height:20px;background-color:#fff;border-radius:50%}.dhx_radiobutton .dhx_label{margin-top:4px;margin-bottom:0;width:auto;cursor:pointer}.dhx_radiobutton .dhx_input__caption{position:static;display:block}.dhx_radiobutton.dhx_form-group--inline{white-space:nowrap;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.dhx_radiobutton.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0;padding-top:2px;padding-bottom:2px}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.dhx_radiobutton__input:focus+.dhx_radiobutton__visual-input{border-color:#0288d1}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:#0288d1;border-color:#0288d1;box-shadow:inset 0 0 0 4px #fff;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{border:none;border-radius:2px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;font-weight:400;text-align:center;overflow:hidden;position:relative}.dhx_simplevault__drop-area{background-color:#f6f6f6;border:1px solid #dfdfdf;-webkit-transition:all .2s ease-in;transition:all .2s ease-in;display:-webkit-box;display:flex;height:115px;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 20px}.dhx_simplevault__drop-area--on-drag{border-style:dashed;-webkit-transition:border .2s ease-out;transition:border .2s ease-out}.dhx_simplevault__icon:before{font-size:40px;color:rgba(0,0,0,.3);-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:#0288d1;cursor:pointer}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in,-webkit-transform .2s ease-in}.dhx_simplevault-files{background-color:#f6f6f6;border:1px solid #dfdfdf;border-top:none;-webkit-transition:all .2s ease-in;transition:all .2s ease-in;width:100%;margin:0;padding:0;list-style:none;max-height:calc(100% - 115px);height:calc(100% - 115px);overflow-y:auto}.dhx_simplevault-files__fixed{max-height:276px}.dhx_simplevault-files__item{position:relative;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;text-align:left;color:rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:1px solid #e4e4e4}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_simplevault-loader{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:#ededed;-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0;will-change:transform;-webkit-transition:0ms;transition:0ms;z-index:1}.dhx_simplevault-loader .dhx_simplevault__icon:before{color:#0288d1}.dhx_dataview{position:relative;overflow-y:auto;height:100%;max-height:100%;background-color:#fff}.dhx_dataview--has-scroll .dhx_dataview-row:last-child .dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-bottom:0}.dhx_dataview-row{display:-webkit-box;display:flex;flex-wrap:nowrap;-webkit-box-pack:start;justify-content:flex-start}.dhx_dataview-row .dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-top:0}.dhx_dataview-item{position:relative;-webkit-box-flex:0;flex:0 1 auto;border:1px solid #e4e4e4;padding:8px;-webkit-transition:box-shadow .2s ease-in;transition:box-shadow .2s ease-in}.dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-left:0}.dhx_dataview-item--last-item-in-row:not(.dhx_dataview-item--with-gap){border-right:0}.dhx_dataview-item:focus{outline:none}.dhx_dataview-item:after{content:"";display:block;position:absolute;left:0;right:0;bottom:0;top:0;z-index:1;border:1px solid transparent;-webkit-transition:opacity .2s ease-in-out,background-color .2s ease-in-out;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;pointer-events:none}.dhx_dataview-item--focus{box-shadow:inset 0 0 0 1px #a6a6a6}.dhx_dataview-item--focus,.dhx_dataview-item--selected{-webkit-transition:box-shadow .2s ease-out;transition:box-shadow .2s ease-out}.dhx_dataview-item--selected{box-shadow:inset 0 0 0 1px #0288d1}.dhx_dataview-item--drophere:after{background-color:#f7f7f7;opacity:.6}.dhx_dataview-item--dragtarget{opacity:.6}.dhx_dataview-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_dataview-input{padding-left:5px} \ No newline at end of file diff --git a/samples/layout/common/dataview/dataview.min.js b/samples/layout/common/dataview/dataview.min.js new file mode 100644 index 0000000..0c115c1 --- /dev/null +++ b/samples/layout/common/dataview/dataview.min.js @@ -0,0 +1,21 @@ +/* +@license + +undefined v.6.4.0 Professional + +This software is covered by DHTMLX Commercial License. +Usage without proper license is prohibited. + +(c) XB Software. + +*/ +if(window.dhx&&(window.dhx_legacy=dhx,delete window.dhx),function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.dhx=e():t.dhx=e()}(window,function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/codebase/",n(n.s=21)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.all="all",t.level="level",t.leafs="leafs"}(e.TreeFilterType||(e.TreeFilterType={})),function(t){t.top="top",t.bot="bot",t.in="in"}(e.DropPosition||(e.DropPosition={})),function(t){t.afterAdd="afteradd",t.beforeAdd="beforeadd",t.removeAll="removeall",t.beforeRemove="beforeremove",t.afterRemove="afterremove",t.change="change",t.load="load",t.loadError="loaderror",t.beforeLazyLoad="beforelazyload",t.afterLazyLoad="afterlazyload"}(e.DataEvents||(e.DataEvents={})),function(t){t.beforeDrag="beforedrag",t.beforeDrop="beforeDrop",t.dragStart="dragstart",t.dragEnd="dragend",t.canDrop="candrop",t.cancelDrop="canceldrop",t.dropComplete="dropcomplete",t.dragOut="dragOut",t.dragIn="dragIn"}(e.DragEvents||(e.DragEvents={})),function(t){t.target="target",t.both="both",t.source="source"}(e.DragMode||(e.DragMode={})),function(t){t.child="child",t.sibling="sibling",t.complex="complex"}(e.DropBehaviour||(e.DropBehaviour={})),function(t){t.json="json",t.csv="csv",t.xml="xml"}(e.DataDriver||(e.DataDriver={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(4),r=n(14);e.isEqualObj=function(t,e){for(var n in t)if(t[n]!==e[n])return!1;return!0},e.naturalCompare=function(t,e){if(isNaN(t)||isNaN(e)){var n=[],i=[];for(t.replace(/(\d+)|(\D+)/g,function(t,e,i){n.push([e||1/0,i||""])}),e.replace(/(\d+)|(\D+)/g,function(t,e,n){i.push([e||1/0,n||""])});n.length&&i.length;){var r=n.shift(),o=i.shift(),s=r[0]-o[0]||r[1].localeCompare(o[1]);if(s)return s}return n.length-i.length}return t-e},e.findByConf=function(t,e){if("function"==typeof e){if(e.call(this,t))return t}else if(e.by&&e.match&&t[e.by]===e.match)return t},e.isDebug=function(){var t=window.dhx;if(void 0!==t)return void 0!==t.debug&&t.debug},e.dhxWarning=function(t){console.warn(t)},e.dhxError=function(t){throw new Error(t)},e.toProxy=function(t){var e=typeof t;return"string"===e?new i.DataProxy(t):"object"===e?t:void 0},e.toDataDriver=function(t){if("string"==typeof t){var e=window.dhx,n=e&&e.dataDrivers||r.dataDrivers;if(n[t])return new n[t];console.warn("Incorrect data driver type:",t),console.warn("Available types:",JSON.stringify(Object.keys(n)))}else if("object"==typeof t)return t},e.copyWithoutInner=function(t,e){var n={};for(var i in t)"$"===i[0]||e&&e[i]||(n[i]=t[i]);return n},e.isTreeCollection=function(t){return Boolean(t.getRoot)},e.hasJsonOrArrayStructure=function(t){if("object"==typeof t)return!0;if("string"!=typeof t)return!1;try{var e=JSON.parse(t);return"[object Object]"===Object.prototype.toString.call(e)||Array.isArray(e)}catch(t){return!1}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=(new Date).valueOf();e.uid=function(){return"u"+r++},e.extend=function t(e,n,i){if(void 0===i&&(i=!0),n)for(var r in n){var o=n[r],s=e[r];void 0===o?delete e[r]:!i||"object"!=typeof s||s instanceof Date||s instanceof Array?e[r]=o:t(s,o)}return e},e.copy=function(t,e){var n={};for(var i in t)e&&"$"===i[0]||(n[i]=t[i]);return n},e.naturalSort=function(t){return t.sort(function(t,e){return"string"==typeof t?t.localeCompare(e):t-e})},e.findIndex=function(t,e){for(var n=t.length,i=0;ie.length)return!1;for(var n=0;ne)return[];for(var n=[];t<=e;)n.push(t++);return n},e.isNumeric=function(t){return!isNaN(t-parseFloat(t))},e.downloadFile=function(t,e,n){void 0===n&&(n="text/plain");var i=new Blob([t],{type:n});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(i,e);else{var r=document.createElement("a"),o=URL.createObjectURL(i);r.href=o,r.download=e,document.body.appendChild(r),r.click(),setTimeout(function(){document.body.removeChild(r),window.URL.revokeObjectURL(o)},0)}},e.debounce=function(t,e,n){var i;return function(){var r=this,o=arguments,s=n&&!i;clearTimeout(i),i=setTimeout(function(){i=null,n||t.apply(r,o)},e),s&&t.apply(this,o)}},e.compare=function t(e,n){for(var i in e){if(e.hasOwnProperty(i)!==n.hasOwnProperty(i))return!1;switch(typeof e[i]){case"object":if(!t(e[i],n[i]))return!1;break;case"function":if(void 0===n[i]||"compare"!==i&&e[i].toString()!==n[i].toString())return!1;break;default:if(e[i]!==n[i])return!1}}for(var i in n)if(void 0===e[i])return!1;return!0}},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n-1)return e[n[l]](i,r);o=o.parentNode}return!0}},e.locate=function(t,e){void 0===e&&(e="dhx_id");var n=r(t,e);return n?n.getAttribute(e):""},e.locateNode=r,e.locateNodeByClassName=function(t,e){for(t instanceof Event&&(t=t.target);t;){if(e){if(t.classList&&t.classList.contains(e))return t}else if(t.getAttribute&&t.getAttribute("dhx_id"))return t;t=t.parentNode}},e.getBox=function(t){var e=t.getBoundingClientRect(),n=document.body,i=window.pageYOffset||n.scrollTop,r=window.pageXOffset||n.scrollLeft;return{top:e.top+i,left:e.left+r,right:n.offsetWidth-e.right,bottom:n.offsetHeight-e.bottom,width:e.right-e.left,height:e.bottom-e.top}};var o,s=-1;function a(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,right:e.right+window.pageXOffset,top:e.top+window.pageYOffset,bottom:e.bottom+window.pageYOffset}}function l(t,e){var n=e.mode===o.bottom||e.mode===o.top?u(t,e):d(t,e),i=n.left,r=n.top;return{left:Math.round(i)+"px",top:Math.round(r)+"px",minWidth:Math.round(e.width)+"px",position:"absolute"}}function c(){return{rightBorder:window.pageXOffset+window.innerWidth,bottomBorder:window.pageYOffset+window.innerHeight}}function u(t,e){var n,r,s=c(),a=s.rightBorder,l=s.bottomBorder-t.bottom-e.height,u=t.top-e.height;if(e.mode===o.bottom?l>=0?r=t.bottom:u>=0&&(r=u):u>=0?r=u:l>=0&&(r=t.bottom),l<0&&u<0){if(e.auto)return d(t,i(i({},e),{mode:o.right,auto:!1}));r=l>u?t.bottom:u}if(e.centering)n=function(t,e,n){var i=(e-(t.right-t.left))/2,r=t.left-i,o=t.right+i;return r>=0&&o<=n?r:r<0?0:n-e}(t,e.width,a);else{var f=a-t.left-e.width,h=t.right-e.width;n=f>=0?t.left:h>=0?h:h>f?t.left:h}return{left:n,top:r}}function d(t,e){var n,r,s=c(),a=s.rightBorder,l=s.bottomBorder,d=a-t.right-e.width,f=t.left-e.width;if(e.mode===o.right?d>=0?n=t.right:f>=0&&(n=f):f>=0?n=f:d>=0&&(n=t.right),f<0&&d<0){if(e.auto)return u(t,i(i({},e),{mode:o.bottom,auto:!1}));n=f>d?f:t.right}if(e.centering)r=function(t,e,n){var i=(e-(t.bottom-t.top))/2,r=t.top-i,o=t.bottom+i;return r>=0&&o<=n?r:r<0?0:n-e}(t,e.height,a);else{var h=t.bottom-e.height,p=l-t.top-e.height;r=p>=0?t.top:h>0?h:h>p?h:t.top}return{left:n,top:r}}e.getScrollbarWidth=function(){if(s>-1)return s;var t=document.createElement("div");return document.body.appendChild(t),t.style.cssText="position: absolute;left: -99999px;overflow:scroll;width: 100px;height: 100px;",s=t.offsetWidth-t.clientWidth,document.body.removeChild(t),s},e.fitPosition=function(t,e){return l(a(t),e)},e.isIE=function(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1},e.getRealPosition=a,function(t){t.left="left",t.right="right",t.bottom="bottom",t.top="top"}(o=e.Position||(e.Position={})),e.calculatePosition=l},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(11),r=function(){function t(t,e){this.url=this._url=t,this.config=e}return t.prototype.updateUrl=function(t,e){for(var n in void 0===e&&(e={}),this._url=this.url=t||this._url,this.url+="?",e)this.config[n]=e[n],this.url+=n+"="+encodeURIComponent(e[n])+"&";this.url=this.url.slice(0,-1)},t.prototype.load=function(){return i.ajax.get(this.url,null,{responseType:"text"})},t.prototype.save=function(t,e){switch(e){case"delete":return i.ajax.delete(this.url,t);case"update":case"insert":default:return i.ajax.post(this.url,t)}},t}();e.DataProxy=r},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(0)),i(n(13)),i(n(31)),i(n(32)),i(n(4)),i(n(34)),i(n(1)),i(n(16)),i(n(15)),i(n(35)),i(n(14)),i(n(11))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t){this.events={},this.context=t||this}return t.prototype.on=function(t,e,n){var i=t.toLowerCase();this.events[i]=this.events[i]||[],this.events[i].push({callback:e,context:n||this.context})},t.prototype.detach=function(t,e){var n=t.toLowerCase(),i=this.events[n];if(e&&i&&i.length)for(var r=i.length-1;r>=0;r--)i[r].context===e&&i.splice(r,1);else this.events[n]=[]},t.prototype.fire=function(t,e){void 0===e&&(e=[]);var n=t.toLowerCase();return!this.events[n]||this.events[n].map(function(t){return t.callback.apply(t.context,e)}).indexOf(!1)<0},t.prototype.clear=function(){this.events={}},t}();e.EventSystem=i,e.EventsMixin=function(t){var e=new i(t=t||{});t.detachEvent=e.detach.bind(e),t.attachEvent=e.on.bind(e),t.callEvent=e.fire.bind(e)}},function(t,e,n){(function(e,n){!function(){var i=1,r={},o=!1;function s(t){e.setImmediate?n(t):e.importScripts?setTimeout(t):(r[++i]=t,e.postMessage(i,"*"))}function a(t){"use strict";if("function"!=typeof t&&void 0!=t)throw TypeError();if("object"!=typeof this||this&&this.then)throw TypeError();var e,n,i=this,r=0,o=0,l=[];i.promise=i,i.resolve=function(t){return e=i.fn,n=i.er,r||(o=t,r=1,s(d)),i},i.reject=function(t){return e=i.fn,n=i.er,r||(o=t,r=2,s(d)),i},i._d=1,i.then=function(t,e){if(1!=this._d)throw TypeError();var n=new a;return n.fn=t,n.er=e,3==r?n.resolve(o):4==r?n.reject(o):l.push(n),n},i.catch=function(t){return i.then(null,t)};var c=function(t){r=t||4,l.map(function(t){3==r&&t.resolve(o)||t.reject(o)})};try{"function"==typeof t&&t(i.resolve,i.reject)}catch(t){i.reject(t)}return i;function u(t,e,n,i){if(2==r)return i();if("object"!=typeof o&&"function"!=typeof o||"function"!=typeof t)i();else try{var s=0;t.call(o,function(t){s++||(o=t,e())},function(t){s++||(o=t,n())})}catch(t){o=t,n()}}function d(){var t;try{t=o&&o.then}catch(t){return o=t,r=2,d()}u(t,function(){r=1,d()},function(){r=2,d()},function(){try{1==r&&"function"==typeof e?o=e(o):2==r&&"function"==typeof n&&(o=n(o),r=1)}catch(t){return o=t,c()}o==i?(o=TypeError(),c()):u(t,function(){c(3)},c,function(){c(1==r&&3)})})}}(e=this).setImmediate||e.addEventListener("message",function(t){if(t.source==e)if(o)s(r[t.data]);else{o=!0;try{r[t.data]()}catch(t){}delete r[t.data],o=!1}}),a.resolve=function(t){if(1!=this._d)throw TypeError();return t instanceof a?t:new a(function(e){e(t)})},a.reject=function(t){if(1!=this._d)throw TypeError();return new a(function(e,n){n(t)})},a.all=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());var e=new a;return function n(i,r){return r?e.resolve(r):i?e.reject(i):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(e,i){e&&e.then&&e.then(function(e){return t[i]=e,n(),e},n)}))}(),e},a.race=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());if(0==t.length)return new a;var e=new a;return function n(i,r){return r?e.resolve(r):i?e.reject(i):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(t,e){t&&t.then&&t.then(function(t){n(null,t)},n)}))}(),e},a._d=1,t.exports=a}()}).call(this,n(10),n(24).setImmediate)},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeUnSelect="beforeunselect",t.afterUnSelect="afterunselect",t.beforeSelect="beforeselect",t.afterSelect="afterselect"}(e.SelectionEvents||(e.SelectionEvents={}))},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=n(37);function r(t){var n=window.ResizeObserver,i=function(e){var n=e.el.offsetHeight,i=e.el.offsetWidth;t(i,n)};return n?e.el("div.dhx-resize-observer",{_hooks:{didInsert:function(t){new n(function(){return i(t)}).observe(t.el)}}}):e.el("iframe.dhx-resize-observer",{_hooks:{didInsert:function(t){t.el.contentWindow.onresize=function(){return i(t)},i(t)}}})}e.el=i.defineElement,e.sv=i.defineSvgElement,e.view=i.defineView,e.create=i.createView,e.inject=i.injectView,e.KEYED_LIST=i.KEYED_LIST,e.disableHelp=function(){i.DEVMODE.mutations=!1,i.DEVMODE.warnings=!1,i.DEVMODE.verbose=!1,i.DEVMODE.UNKEYED_INPUT=!1},e.resizer=r,e.resizeHandler=function(t,n){return e.create({render:function(){return r(n)}}).mount(t)},e.awaitRedraw=function(){return new t(function(t){requestAnimationFrame(function(){t()})})}}).call(this,n(7))},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),r=n(1);function o(t){return t?t.indexOf("json")>=0?"json":t.indexOf("xml")>=0?"xml":"text":"text"}function s(e,n,s,a,l){var c=a||{};if(l&&(c.Accept="application/"+l),"GET"!==s&&(c["Content-Type"]=c["Content-Type"]||"application/json"),"GET"===s){var u=n&&"object"==typeof n?function(t){return Object.keys(t).reduce(function(e,n){var i="object"==typeof t[n]?JSON.stringify(t[n]):t[n];return e.push(n+"="+encodeURIComponent(i)),e},[]).join("&")}(n):n&&"string"==typeof n?n:"";u&&(e+=-1===e.indexOf("?")?"?":"&",e+=u),n=null}return window.fetch?window.fetch(e,{method:s,body:n?JSON.stringify(n):null,headers:c}).then(function(e){if(!e.ok)return e.text().then(function(n){return t.reject({status:e.status,statusText:e.statusText,message:n})});var n=l||o(e.headers.get("Content-Type"));if("raw"===n)return{headers:Object.fromEntries(e.headers.entries()),url:e.url,body:e.body};if(204!==e.status)switch(n){case"json":return e.json();case"xml":var s=r.toDataDriver(i.DataDriver.xml);return s?e.text().then(function(t){return s.toJsonObject(t)}):e.text();default:return e.text()}}):new t(function(t,a){var u=new XMLHttpRequest;for(var d in u.onload=function(){u.status>=200&&u.status<300?("raw"===l&&t({url:u.responseURL,headers:u.getAllResponseHeaders().trim().split(/[\r\n]+/).reduce(function(t,e){var n=e.split(": ");return t[n[0]]=n[1],t},{}),body:u.response}),204===u.status?t():t(function(t,e){switch(e){case"json":return JSON.parse(t);case"text":return t;case"xml":var n=r.toDataDriver(i.DataDriver.xml);return n?n.toJsonObject(t):{parseError:"Incorrect data driver type: 'xml'"};default:return t}}(u.responseText,l||o(u.getResponseHeader("Content-Type"))))):a({status:u.status,statusText:u.statusText})},u.onerror=function(){a({status:u.status,statusText:u.statusText,message:u.responseText})},u.open(s,e),c)u.setRequestHeader(d,c[d]);switch(s){case"POST":case"DELETE":case"PUT":u.send(void 0!==n?JSON.stringify(n):"");break;case"GET":default:u.send()}})}e.ajax={get:function(t,e,n){return s(t,e,"GET",n&&n.headers,void 0!==n?n.responseType:void 0)},post:function(t,e,n){return s(t,e,"POST",n&&n.headers,void 0!==n?n.responseType:void 0)},put:function(t,e,n){return s(t,e,"PUT",n&&n.headers,void 0!==n?n.responseType:void 0)},delete:function(t,e,n){return s(t,e,"DELETE",n&&n.headers,void 0!==n?n.responseType:void 0)}}}).call(this,n(7))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.click="click",t.doubleClick="doubleclick",t.focusChange="focuschange",t.beforeEditStart="beforeEditStart",t.afterEditStart="afterEditStart",t.beforeEditEnd="beforeEditEnd",t.afterEditEnd="afterEditEnd",t.itemRightClick="itemRightClick",t.itemMouseOver="itemMouseOver",t.contextmenu="contextmenu"}(e.ListEvents||(e.ListEvents={}))},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=0?e:-1},t.prototype.getId=function(t){if(this._order[t])return this._order[t].id},t.prototype.getLength=function(){return this._order.length},t.prototype.isDataLoaded=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this._order.length),u.isNumeric(t)&&u.isNumeric(e)?0===this._order.slice(t,e).filter(function(t){return t.$empty}).length:!this.find(function(t){return t.$empty})},t.prototype.filter=function(t,e){if(this.isDataLoaded()){if((e=u.extend({add:!1,multiple:!0},e)).add||(this._order=this._initOrder||this._order,this._initOrder=null),this._filters=this._filters||{},e.multiple&&t||(this._filters={}),t){if("function"==typeof t){this._filters._={match:"_",compare:t}}else t.match?(t.compare=t.compare||function(t,e){return t===e},this._filters[t.by]=t):delete this._filters[t.by];this._applyFilters()}this.events.fire(c.DataEvents.change)}else l.dhxWarning("the method doesn't work with lazyLoad")},t.prototype.find=function(t){for(var e in this._pull){var n=l.findByConf(this._pull[e],t);if(n)return n}return null},t.prototype.findAll=function(t){var e=[];for(var n in this._pull){var i=l.findByConf(this._pull[n],t);i&&e.push(i)}return e},t.prototype.sort=function(t){if(this.isDataLoaded()){if(t)this._sort.sort(this._order,t),this._initOrder&&this._initOrder.length&&this._sort.sort(this._initOrder,t);else{for(var e in this._order=[],this._pull)this._order.push(this._pull[e]);this._applyFilters()}this.events.fire(c.DataEvents.change)}else l.dhxWarning("the method doesn't work with lazyLoad")},t.prototype.copy=function(t,e,n,i){var r=this;return t instanceof Array?t.map(function(t,o){return r._copy(t,e,n,i,o)}):this._copy(t,e,n,i)},t.prototype.move=function(t,e,n,i){var r=this;return t instanceof Array?t.map(function(t,o){return r._move(t,e,n,i,o)}):this._move(t,e,n,i)},t.prototype.forEach=function(t){for(var e=0;ethis._order.length-1&&(e=this._order.length-1);for(var i=this._order.slice(t,e),r=[],o=t;o<=e;o++)r.push(n.call(this,this._order[o],o,i));return r},t.prototype.reduce=function(t,e){for(var n=0;n=0&&(this._order=this._order.filter(function(e){return e.id!==t}),delete this._pull[t]),this._initOrder&&this._initOrder.length&&(this._initOrder=this._initOrder.filter(function(e){return e.id!==t}))},t.prototype._parse_data=function(t){var e=this._order.length;this.config.prep&&(t=this.config.prep(t));for(var n=0,i=t;n=0&&t[n]?(this._pull[e.id]=e,t.splice(n,0,e)):(this._pull[e.id]=e,t.push(e))},t.prototype._applyFilters=function(){var t=this;if(this._filters&&Object.keys(this._filters).length){var e=this._order.filter(function(e){return Object.keys(t._filters).every(function(n){return e[n]?t._filters[n].compare(e[n],t._filters[n].match,e):t._filters[n].compare(e)})});this._initOrder||(this._initOrder=this._order),this._order=e}},t}();e.DataCollection=d},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=48&&e.which<=57||e.which>=65&&e.which<=90?String.fromCharCode(e.which):32!==e.which||i.isIE()?e.key:e.code)&&n.toLowerCase()),o=t._keysStorage[r];if(o)for(var s=0;s=0;s--)n[i].splice(o[s],1)}},t.prototype.exist=function(t){var e=r(t);return!!this._keysStorage[e]},t}();e.keyManager=new o,e.addHotkeys=function(t,n){var i=new Date,r=function(t){return function(e){n&&!1===n()||t(e)}};for(var o in t)e.keyManager.addHotKey(o,r(t[o]),i);return function(){return e.keyManager.removeHotKey(void 0,i)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=n(3),o=function(){function t(t,e){this._uid=i.uid(),this.config=e||{}}return t.prototype.mount=function(t,e){e&&(this._view=e),t&&this._view&&this._view.mount&&(this._container=r.toNode(t),this._container.tagName?this._view.mount(this._container):this._container.attach&&this._container.attach(this))},t.prototype.unmount=function(){var t=this.getRootView();t&&t.node&&(t.unmount(),this._view=null)},t.prototype.getRootView=function(){return this._view},t.prototype.getRootNode=function(){return this._view&&this._view.node&&this._view.node.el},t.prototype.paint=function(){this._view&&(this._view.node||this._container)&&(this._doNotRepaint=!1,this._view.redraw())},t}();e.View=o,e.toViewLike=function(t){return{getRootView:function(){return t},paint:function(){return t.node&&t.redraw()},mount:function(e){return t.mount(e)}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(8),r=n(5),o=function(){function t(t,e){var n=this;if(this.config=t,this.events=e.events,this._data=e,this._selected=[],this._lastShiftSelectedIndexes=[],this._data.events.on(r.DataEvents.removeAll,function(){n._selected=[]}),"string"==typeof this.config.multiselection){-1===["click","ctrlClick"].indexOf(this.config.multiselection)&&(this.config.multiselection=!1)}this._data.events.on(r.DataEvents.afterRemove,function(t){if(n._selected=n._selected.filter(function(e){return e!==t.id}),!n.config.multiselection||0===n.getId().length){var e=n._data.getId(n._lastSelectedIndex);if(e)n.add(e);else{var i=n._data.getId(n._data.getLength()-1);i&&n.add(i)}}})}return t.prototype.getId=function(){return this.config.multiselection?this._selected:this._selected[0]},t.prototype.getItem=function(){var t=this;if(this._selected.length){var e=this._selected.map(function(e){return t._data.getItem(e)});return this.config.multiselection?e:e[0]}return null},t.prototype.contains=function(t){return t?this._selected.indexOf(t)>-1:this._selected.length>0},t.prototype.remove=function(t){var e=this;if(t)return!t&&!this._selected.length||(t?this._unselectItem(t):(this._selected.forEach(function(t){return e._unselectItem(t)}),!0));this._data.map(function(t){t.$selected=!1,e._selected=[]})},t.prototype.add=function(t,e,n){var r=this;if(this.events.fire(i.SelectionEvents.beforeSelect))return t?void(this.config.multiselection?this._addMulti(t,e,n):this._addSingle(t,e)):(this._selected=[],void this._data.map(function(t){t.$selected=!0,r._selected.push(t.id)}))},t.prototype._addMulti=function(t,e,n){var r=this,o=this._data.getIndex(t);"click"!==this.config.multiselection&&!0!==this.config.multiselection||(n?(this._addWithShift(o),this.events.fire(i.SelectionEvents.afterSelect,[t])):(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[])),"ctrlClick"===this.config.multiselection&&(n||e||(this._data.map(function(t){t.$selected=!1,r._selected=[]}),this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]),n&&(this._addWithShift(o),this.events.fire(i.SelectionEvents.afterSelect,[t])),e&&(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]))},t.prototype._addWithShift=function(t){var e=this;t>=this._lastSelectedIndex&&(this._data.map(function(t,n){-1!==e._lastShiftSelectedIndexes.indexOf(n)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(n)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==n&&t!==e._lastSelectedIndex}))}),this._data.map(function(n,i){i>=e._lastSelectedIndex&&i<=t&&(n.$selected=!0,-1===e._selected.indexOf(n.id)&&e._selected.push(n.id),i!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(i)&&e._lastShiftSelectedIndexes.push(i))})),t<=this._lastSelectedIndex&&(this._data.map(function(t,n){-1!==e._lastShiftSelectedIndexes.indexOf(n)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(n)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==n&&t!==e._lastSelectedIndex}))}),this._data.map(function(n,i){i<=e._lastSelectedIndex&&i>=t&&(n.$selected=!0,-1===e._selected.indexOf(n.id)&&e._selected.push(n.id),i!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(i)&&e._lastShiftSelectedIndexes.push(i))}))},t.prototype._addSingle=function(t,e){this.remove(),this.config&&"ctrlClick"!==this.config.multiselection?this._selectItem(t):e&&this._selectItem(t)},t.prototype._isSelected=function(t){return-1!==this._selected.indexOf(t)},t.prototype._selectItem=function(t){this._selected.push(t),this._data.update(t,{$selected:!0}),this._lastSelectedIndex=this._data.getIndex(t),this.events.fire(i.SelectionEvents.afterSelect,[t])},t.prototype._unselectItem=function(t){return!!this.events.fire(i.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=this._selected.filter(function(e){return e!==t}),this.events.fire(i.SelectionEvents.afterUnSelect,[t]),!0)},t}();e.Selection=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.click="click",t.doubleClick="doubleclick",t.focusChange="focuschange",t.beforeEditStart="beforeEditStart",t.afterEditStart="afterEditStart",t.beforeEditEnd="beforeEditEnd",t.afterEditEnd="afterEditEnd",t.itemRightClick="itemRightClick",t.itemMouseOver="itemMouseOver",t.contextmenu="contextmenu"}(e.DataViewEvents||(e.DataViewEvents={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n(22);var i=n(5);e.DataCollection=i.DataCollection;var r=n(36);e.DataView=r.DataView},function(t,e,n){},function(t,e,n){"use strict";(function(t){var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=a&&c<=a+t.length-1?(l.push(t[u]),u++):l.push({$empty:!0});t=l}return this._parent.getInitialData()&&this._parent.removeAll(),this._parent.$parse(t),t},e.prototype.save=function(e){for(var n=this,i=function(i){if(i.saving||i.pending)r.dhxWarning("item is saving");else{var s=o._findPrevState(i.id);if(s&&s.saving){var a=new t(function(t,o){s.promise.then(function(){i.pending=!1,t(n._setPromise(i,e))}).catch(function(t){n._removeFromOrder(s),n._setPromise(i,e),r.dhxWarning(t),o(t)})});o._addToChain(a),i.pending=!0}else o._setPromise(i,e)}},o=this,s=0,a=this._changes.order;s=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(25),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(10))},function(t,e,n){(function(t,e){!function(t,n){"use strict";if(!t.setImmediate){var i,r=1,o={},s=!1,a=t.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(t);l=l&&l.setTimeout?l:t,"[object process]"==={}.toString.call(t.process)?i=function(t){e.nextTick(function(){u(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?function(){var e="setImmediate$"+Math.random()+"$",n=function(n){n.source===t&&"string"==typeof n.data&&0===n.data.indexOf(e)&&u(+n.data.slice(e.length))};t.addEventListener?t.addEventListener("message",n,!1):t.attachEvent("onmessage",n),i=function(n){t.postMessage(e+n,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){u(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){u(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(u,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n1)for(var n=1;n\n";for(var s in t)Array.isArray(t[s])?(n+=r(e+i)+"<"+s+">\n",n+=t[s].map(function(t){return o(t,e+2*i)}).join("\n")+"\n",n+=r(e+i)+"\n"):n+=r(e+i)+"<"+s+">"+t[s]+"\n";return n+=r(e)+""}e.jsonToXML=function(t,e){void 0===e&&(e="root");for(var n='\n<'+e+">",i=0;i"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(){function t(){}return t.prototype.sort=function(t,e){var n=this;e.rule&&"function"==typeof e.rule?this._sort(t,e):e.by&&(e.rule=function(t,r){var o=n._checkVal(e.as,t[e.by]),s=n._checkVal(e.as,r[e.by]);return i.naturalCompare(o.toString(),s.toString())},this._sort(t,e))},t.prototype._checkVal=function(t,e){return t?t.call(this,e):e},t.prototype._sort=function(t,e){var n=this,i={asc:1,desc:-1};return t.sort(function(t,r){return e.rule.call(n,t,r)*(i[e.dir]||i.asc)})},t}();e.Sort=r},function(t,e){if(Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),r=this&&this.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e0&&-1!==n&&(n+=1);var o=t.prototype._add.call(this,e,n);if(Array.isArray(e.items))for(var s=0,a=e.items;s1?(this._selectedIds=e,this._itemsForGhost=n):(this._selectedIds=[],this._itemsForGhost=null),o&&s){var a=i.getBox(r),l=a.left,c=a.top;this._transferData.initXOffset=t.pageX-l,this._transferData.initYOffset=t.pageY-c,this._transferData.x=t.pageX,this._transferData.y=t.pageY,this._transferData.targetId=s,this._transferData.id=o,this._transferData.item=r}}},t.prototype._moveGhost=function(t,e){this._transferData.ghost&&(this._transferData.ghost.style.left=t-this._transferData.initXOffset+"px",this._transferData.ghost.style.top=e-this._transferData.initYOffset+"px")},t.prototype._removeGhost=function(){document.body.removeChild(this._transferData.ghost)},t.prototype._onDrop=function(){if(this._canMove){var t=r.collectionStore.getItem(this._lastCollectionId),e=t&&t.config;if(t&&e.dragMode!==o.DragMode.source){if(t.events.fire(o.DragEvents.beforeDrop,[this._lastId,this._transferData.target])){var n={id:this._lastId,target:t},i={id:this._transferData.id,target:this._transferData.target};this._move(i,n),n.target.events.fire(o.DragEvents.dropComplete,[n.id,this._transferData.dropPosition])}this._endDrop()}else this._endDrop()}else this._endDrop()},t.prototype._onDragStart=function(t,e){var n=r.collectionStore.getItem(e),i=n.config;if(i.dragMode===o.DragMode.target)return null;var s=n.data.getItem(t),a=function(t,e){var n=t.getBoundingClientRect(),i=document.createElement("div"),r=t.cloneNode(!0);return r.style.width=n.width+"px",r.style.height=n.height+"px",r.style.maxHeight=n.height+"px",r.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,r.style.opacity="0.8",r.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,i.appendChild(r),e&&e.length&&e.forEach(function(t,e){var r=t.cloneNode(!0);r.style.width=n.width+"px",r.style.height=n.height+"px",r.style.maxHeight=n.height+"px",r.style.top=12*(e+1)-n.height-n.height*e+"px",r.style.left=12*(e+1)+"px",r.style.opacity="0.6",r.style.zIndex=""+(-e-1),i.appendChild(r)}),i.className="dhx_drag-ghost",i}(this._transferData.item,this._itemsForGhost);return n.events.fire(o.DragEvents.beforeDrag,[s,a])&&t?(n.events.fire(o.DragEvents.dragStart,[t,this._selectedIds]),this._toggleTextSelection(!0),this._transferData.target=n,this._transferData.dragConfig=i,a):null},t.prototype._onDrag=function(t){var e=t.clientX,n=t.clientY,a=document.elementFromPoint(e,n),l=i.locate(a,"dhx_widget_id");if(l){var c=r.collectionStore.getItem(l),u=i.locate(a,"dhx_id");if(!u)return this._cancelCanDrop(),this._lastCollectionId=l,this._lastId=null,void this._canDrop();if(c.config.dropBehaviour===o.DropBehaviour.complex){var d=function(t){var e=t.clientY,n=i.locateNode(t);if(!n)return null;var r=n.childNodes[0].getBoundingClientRect();return(e-r.top)/r.height}(t);this._transferData.dropPosition=d<=.25?o.DropPosition.top:d>=.75?o.DropPosition.bot:o.DropPosition.in}else if(this._lastId===u&&this._lastCollectionId===l)return;var f={id:this._transferData.id,target:this._transferData.target};if("source"!==c.config.dragMode)if(f.target.events.fire(o.DragEvents.dragOut,[u,c]),l!==this._transferData.targetId||!s.isTreeCollection(f.target.data)||s.isTreeCollection(f.target.data)&&f.target.data.canCopy(f.id,u))this._cancelCanDrop(),this._lastId=u,this._lastCollectionId=l,f.target.events.fire(o.DragEvents.dragIn,[u,this._transferData.dropPosition,r.collectionStore.getItem(l)])&&this._canDrop();else this._cancelCanDrop()}else this._canMove&&this._cancelCanDrop()},t.prototype._move=function(t,e){var n=t.target.data,i=e.target.data,r=0,a=e.id;switch(s.isTreeCollection(i)?e.target.config.dropBehaviour:void 0){case o.DropBehaviour.child:break;case o.DropBehaviour.sibling:a=i.getParent(a),r=i.getIndex(e.id)+1;break;case o.DropBehaviour.complex:var l=this._transferData.dropPosition;l===o.DropPosition.top?(a=i.getParent(a),r=i.getIndex(e.id)):l===o.DropPosition.bot&&(a=i.getParent(a),r=i.getIndex(e.id)+1);break;default:r=e.id?t.target===e.target&&i.getIndex(t.id)1?this._selectedIds.map(function(t){n.copy(t,r,i,a),r>-1&&r++}):n.copy(t.id,r,i,a):this._selectedIds instanceof Array&&this._selectedIds.length>1?this._selectedIds.map(function(t){n.move(t,r,i,a),r>-1&&r++}):n.move(t.id,r,i,a)},t.prototype._endDrop=function(){this._toggleTextSelection(!1),this._transferData.target&&this._transferData.target.events.fire(o.DragEvents.dragEnd,[this._transferData.id,this._selectedIds]),this._cancelCanDrop(),this._canMove=!0,this._transferData={},this._lastId=null,this._lastCollectionId=null},t.prototype._cancelCanDrop=function(){this._canMove=!1;var t=r.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(o.DragEvents.cancelDrop,[this._lastId]),this._lastCollectionId=null,this._lastId=null},t.prototype._canDrop=function(){this._canMove=!0;var t=r.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(o.DragEvents.canDrop,[this._lastId,this._transferData.dropPosition])},t.prototype._toggleTextSelection=function(t){t?document.body.classList.add("dhx_no-select"):document.body.classList.remove("dhx_no-select")},t}(),l=window.dhxHelpers=window.dhxHelpers||{};l.dragManager=l.dragManager||new a,e.dragManager=l.dragManager},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(){this._store={}}return t.prototype.setItem=function(t,e){this._store[t]=e},t.prototype.getItem=function(t){return this._store[t]?this._store[t]:null},t}(),r=window.dhxHelpers=window.dhxHelpers||{};r.collectionStore=r.collectionStore||new i,e.collectionStore=r.collectionStore},function(t,e,n){"use strict";(function(t){var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var r=n(4),o=n(2),s=n(11),a=function(e){function n(t,n){var i=e.call(this,t)||this;return i.config=o.extend({from:0,limit:50,delay:50,prepare:0},n),i.updateUrl(t,{from:i.config.from,limit:i.config.limit}),i}return i(n,e),n.prototype.load=function(){var e=this;return new t(function(t){e._timeout?(clearTimeout(e._timeout),e._timeout=setTimeout(function(){s.ajax.get(e.url,{responseType:"text"}).then(t),e._cooling=!0},e.config.delay),e._cooling&&(t(null),e._cooling=!1)):(s.ajax.get(e.url,{responseType:"text"}).then(t),e._cooling=!0,e._timeout=setTimeout(function(){}))})},n}(r.DataProxy);e.LazyDataProxy=a}).call(this,n(7))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(6),r=n(8),o=n(0),s=function(){function t(t,e,n){var r=this;this.events=n||new i.EventSystem(this),this._data=e,this._data.events.on(o.DataEvents.removeAll,function(){r._selected=null}),this._data.events.on(o.DataEvents.change,function(){if(r._selected){var t=r._data.getNearId(r._selected);t!==r._selected&&(r._selected=null,t&&r.add(t))}})}return t.prototype.getId=function(){return this._selected},t.prototype.getItem=function(){return this._selected?this._data.getItem(this._selected):null},t.prototype.remove=function(t){return!(t=t||this._selected)||!!this.events.fire(r.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=null,this.events.fire(r.SelectionEvents.afterUnSelect,[t]),!0)},t.prototype.add=function(t){this._selected!==t&&(this.remove(),this.events.fire(r.SelectionEvents.beforeSelect,[t])&&(this._selected=t,this._data.update(t,{$selected:!0}),this.events.fire(r.SelectionEvents.afterSelect,[t])))},t}();e.Selection=s},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,i=arguments.length;ne.offsetHeight,i=t.node.attrs.class.replace(" dhx_dataview--has-scroll",""),r=n?i+" dhx_dataview--has-scroll":i;t.node.patch({class:r})}}});return i.mount(e,c),i}return i(e,t),e.prototype.editItem=function(t){this._edited=t,this.data.getItem(this._edited)&&this.events.fire(p.DataViewEvents.beforeEditStart,[t])?(this._getHotkeys(),this.paint(),this.events.fire(p.DataViewEvents.afterEditStart,[t])):this._edited=null},e.prototype.getFocusItem=function(){return this.data.getItem(this.data.getId(this._focusIndex))},e.prototype.setItemInRow=function(t){this.config.itemsInRow=t,this.paint()},e.prototype.setFocus=function(t){var e=this.data.getIndex(t);this._setFocusIndex(e)},e.prototype.getFocus=function(){var t=this.data.getItem(this.data.getId(this._focusIndex));if(t)return t.id},e.prototype.destructor=function(){this.events.clear(),this._navigationDestructor&&this._navigationDestructor(),this._documentClickDestuctor&&this._documentClickDestuctor(),this.unmount()},e.prototype.getFocusIndex=function(){return this._focusIndex},e.prototype.setFocusIndex=function(t){this._setFocusIndex(t)},e.prototype.edit=function(t){this.editItem(t)},e.prototype._setFocusIndex=function(t){if(!(t<0||t>this.data.getLength()-1)){this._focusIndex=t;var e=this.getRootNode();if(e&&e.parentNode){var n=e.children[Math.floor(this._focusIndex/this.config.itemsInRow)];if(n){var i=n.children[this._focusIndex%this.config.itemsInRow],r=parseInt(this.config.gap.toString().replace("px",""),null);i.offsetTop>=e.clientHeight+e.scrollTop-i.clientHeight?e.scrollTop=i.offsetTop-e.clientHeight+i.clientHeight+r:i.offsetTop0&&n[i-1].type===e?(n[i-1].body+=r.body,n.splice(i--,1)):H(r,t,i,null):H(r,t,i,null))}}(t)}}var R={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,order:!0,lineClamp:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};function V(t,e){return isNaN(e)||R[t]?e:e+"px"}function F(t,e){var n=(t.attrs||a).style,i=e?(e.attrs||a).style:null;if(null==n||h(n))t.el.style.cssText=n;else{for(var r in n){var o=n[r];(null==i||null!=o&&o!==i[r])&&(t.el.style[r]=V(r,o))}if(i)for(var s in i)null==n[s]&&(t.el.style[s]="")}}var z=[];function $(t,e,n,i,r){if(null!=t){var o=n.hooks[e];if(o){if("d"!==e[0]||"i"!==e[1]||"d"!==e[2])return o(n,i);r?I(n.parent)&&o(n,i):z.push([o,n,i])}}}function B(t){var e;if(z.length)for(I(t.node);e=z.shift();)e[0](e[1],e[2])}var W=o?document:null;function U(t){return t.nextSibling}function J(t,e,n){var i=e._node,r=i.vm;if(c(i.body))if((i.flags&M)===M)for(var o=0;o>1]===t)return n;e[n]0&&(i[o]=r[e-1]),r[e]=o)}}for(e=r.length,n=r[e-1];e-- >0;)r[e]=n,n=i[n];return r}(o).map(function(t){return o[t]}),c=0;cu&&(m=null,v=!1):b=!0,u>100&&b&&++x%10==0))for(;I1){var o=1;d(i[1])&&(n=i[1],o=2),e=r===o+1&&(h(i[o])||c(i[o])||n&&(n._flags&A)===A)?i[o]:_(i,o)}return N(t,n,e)}return S.patch=function(t,e){!function(t,e,n){if(null!=e.type){if(null!=t.vm)return;H(e,t.parent,t.idx,null),t.parent.body[t.idx]=e,xt(e,t),n&&I(e),B(O(e))}else{var i=Object.create(t);i.attrs=v({},t.attrs);var r=v(t.attrs,e);if(null!=t._class){var o=r.class;r.class=null!=o&&""!==o?t._class+" "+o:t._class}st(t,i),n&&I(t)}}(this,t,e)},It.emit=function(t){var e=this,n=e,i=_(arguments,1).concat(n,n.data);do{var r=e.onemit,o=r?r[t]:null;if(o){o.apply(e,i);break}}while(e=e.parent());Z[t]&&Z[t].apply(e,i)},It.onemit=null,It.body=function(){return function t(e,n){var i=e.body;if(c(i))for(var r=0;rthis.data.getLength()-1)){this._focusIndex=t;var e=this.getRootView();if(e&&e.node&&e.node.el){var n=this.getRootNode();if(n){if(this.config.virtual){var i=t*_.defineValue(this.config.itemHeight);(i>=_.defineValue(this._visibleHeight)+this._topOffset||i=n.scrollTop+n.clientHeight-r.clientHeight?n.scrollTop=r.offsetTop-n.clientHeight+r.clientHeight:r.offsetTope-_.defineValue(this._visibleHeight)&&(t=e-_.defineValue(this._visibleHeight));var n=Math.floor(_.defineValue(this._visibleHeight)/_.defineValue(this.config.itemHeight))+5,i=Math.floor(t/_.defineValue(this.config.itemHeight));this._range=[i,n+i],this._topOffset=t,this.paint()},e.prototype._getHeight=function(){return this.data.getLength()*_.defineValue(this.config.itemHeight)},e.prototype._getHotkeys=function(){var t=this;if(this.config.keyNavigation)if(this._edited)this._navigationDestructor&&this._navigationDestructor();else{var e=this.config.keyNavigation;"function"!=typeof this.config.keyNavigation&&(this._widgetInFocus=!1,e=function(){return t._widgetInFocus},this._documentClickDestuctor=o.detectWidgetClick(this._uid,function(e){return t._widgetInFocus=e}));var n=function(t){return function(e){e.preventDefault(),t()}},i={arrowDown:n(function(){return t.setFocusIndex(t._focusIndex+1)}),arrowUp:n(function(){return t.setFocusIndex(t._focusIndex-1)}),enter:function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n),t.events.fire(p.ListEvents.click,[n,e])},"enter+shift":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!1,!0),t.events.fire(p.ListEvents.click,[n,e])},"enter+ctrl":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!0,!1),t.events.fire(p.ListEvents.click,[n,e])}};h.isIE()&&(delete(i=r({up:i.arrowUp,down:i.arrowDown},i)).arrowUp,delete i.arrowDown),this._navigationDestructor=c.addHotkeys(i,e)}},e.prototype._lazyLoad=function(t){var e=t.target.scrollTop,n=Math.round(e/_.defineValue(this.config.itemHeight)),i=this._container.clientHeight/_.defineValue(this.config.itemHeight),r=this.data.dataProxy;r&&r.config&&!this.data.isDataLoaded(n,i+n+r.config.prepare)&&(r.updateUrl(null,{from:n,limit:r.config.limit}),this.data.load(r))},e}(d.View);e.List=g},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(41);e.getEditor=function(t,e){return new i.InputEditor(t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(9),r=n(12),o=function(){function t(t,e){var n=this;this._list=e,this._config=e.config,this._item=t,this._list.events.on(r.ListEvents.focusChange,function(t,e){n._mode&&e!==n._item.id&&n.endEdit()}),this._initHandlers()}return t.prototype.endEdit=function(){if(this._input){var t=this._input.value;this._list.events.fire(r.ListEvents.beforeEditEnd,[t,this._item.id])?(this._input.removeEventListener("blur",this._handlers.onBlur),this._input.removeEventListener("change",this._handlers.onChange),this._handlers={},this._mode=!1,this._list.events.fire(r.ListEvents.afterEditEnd,[t,this._item.id])):this._input.focus()}},t.prototype.toHTML=function(){this._mode=!0;var t=this._config.itemHeight;return i.el(".dhx_input__wrapper",{},[i.el("div.dhx_input__container",{},[i.el("input.dhx_input",{class:this._item.css?" "+this._item.css:"",style:{height:t,width:"100%",padding:"8px, 12px"},_hooks:{didInsert:this._handlers.didInsert},_key:this._item.id,dhx_id:this._item.id})])])},t.prototype._initHandlers=function(){var t=this;this._handlers={onBlur:function(){t.endEdit()},onChange:function(){t.endEdit()},didInsert:function(e){var n=e.el;t._input=n,n.focus(),n.value=t._item.value,n.setSelectionRange(0,n.value.length),n.addEventListener("change",t._handlers.onChange),n.addEventListener("blur",t._handlers.onBlur)}}},t}();e.InputEditor=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.defineValue=function(t){if(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return parseInt(e.split(/\D+/g)[0],null)}},e.defineUnit=function(t){if(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return e.slice(e.split(/\D+/g)[0].length)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(44);e.getEditor=function(t,e){return new i.InputEditor(t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(9),r=n(20),o=function(){function t(t,e){var n=this;this._dataView=e,this._config=e.config,this._item=t,this._dataView.events.on(r.DataViewEvents.focusChange,function(t,e){n._mode&&e!==n._item.id&&n.endEdit()}),this._initHandlers()}return t.prototype.endEdit=function(){if(this._input){var t=this._input.value;this._dataView.events.fire(r.DataViewEvents.beforeEditEnd,[t,this._item.id])?(this._input.removeEventListener("blur",this._handlers.onBlur),this._input.removeEventListener("change",this._handlers.onChange),this._handlers={},this._mode=!1,this._dataView.events.fire(r.DataViewEvents.afterEditEnd,[t,this._item.id])):this._input.focus()}},t.prototype.toHTML=function(t){this._mode=!0;var e=this._config,n=e.itemsInRow,r=e.gap,o=function(t){return parseFloat(t)};return i.el(".dhx_input__wrapper",{style:{width:"calc("+100/n+"% - "+o(r)+" * "+(n-1)/n+"px)",maxWidth:"calc("+100/n+"% - "+o(r)+" * "+(n-1)/n+"px)",marginRight:t?"":r}},[i.el("div.dhx_input__container",{style:{height:"100%"}},[i.el("input.dhx_input",{class:(this._item.css?" "+this._item.css:"")+(t?" dhx_dataview-item--last-item-in-row":""),style:{padding:"8px, 12px",width:"100%",height:"100%"},_hooks:{didInsert:this._handlers.didInsert},_key:this._item.id,dhx_id:this._item.id})])])},t.prototype._initHandlers=function(){var t=this;this._handlers={onBlur:function(){t.endEdit()},onChange:function(){t.endEdit()},didInsert:function(e){var n=e.el;t._input=n,n.focus(),n.value=t._item.value,n.setSelectionRange(0,n.value.length),n.addEventListener("change",t._handlers.onChange),n.addEventListener("blur",t._handlers.onBlur)}}},t}();e.InputEditor=o}])}),window.dhx_legacy){if(window.dhx)for(var key in dhx)dhx_legacy[key]=dhx[key];window.dhx=dhx_legacy,delete window.dhx_legacy} \ No newline at end of file diff --git a/samples/layout/common/dataview/fonts/roboto-bold-webfont.woff b/samples/layout/common/dataview/fonts/roboto-bold-webfont.woff index d93baf5..3375aee 100644 Binary files a/samples/layout/common/dataview/fonts/roboto-bold-webfont.woff and b/samples/layout/common/dataview/fonts/roboto-bold-webfont.woff differ diff --git a/samples/layout/common/dataview/fonts/roboto-bold-webfont.woff2 b/samples/layout/common/dataview/fonts/roboto-bold-webfont.woff2 index fb82968..9883bd6 100644 Binary files a/samples/layout/common/dataview/fonts/roboto-bold-webfont.woff2 and b/samples/layout/common/dataview/fonts/roboto-bold-webfont.woff2 differ diff --git a/samples/layout/common/dataview/fonts/roboto-medium-webfont.woff b/samples/layout/common/dataview/fonts/roboto-medium-webfont.woff index 701ea99..e06e451 100644 Binary files a/samples/layout/common/dataview/fonts/roboto-medium-webfont.woff and b/samples/layout/common/dataview/fonts/roboto-medium-webfont.woff differ diff --git a/samples/layout/common/dataview/fonts/roboto-medium-webfont.woff2 b/samples/layout/common/dataview/fonts/roboto-medium-webfont.woff2 index 750e26b..2a73933 100644 Binary files a/samples/layout/common/dataview/fonts/roboto-medium-webfont.woff2 and b/samples/layout/common/dataview/fonts/roboto-medium-webfont.woff2 differ diff --git a/samples/layout/common/dataview/fonts/roboto-regular-webfont.woff b/samples/layout/common/dataview/fonts/roboto-regular-webfont.woff index 64fdff3..b5510ae 100644 Binary files a/samples/layout/common/dataview/fonts/roboto-regular-webfont.woff and b/samples/layout/common/dataview/fonts/roboto-regular-webfont.woff differ diff --git a/samples/layout/common/dataview/fonts/roboto-regular-webfont.woff2 b/samples/layout/common/dataview/fonts/roboto-regular-webfont.woff2 index 3201eab..1ee21e8 100644 Binary files a/samples/layout/common/dataview/fonts/roboto-regular-webfont.woff2 and b/samples/layout/common/dataview/fonts/roboto-regular-webfont.woff2 differ diff --git a/samples/layout/common/layout.css b/samples/layout/common/layout.css new file mode 100644 index 0000000..69667e8 --- /dev/null +++ b/samples/layout/common/layout.css @@ -0,0 +1,11 @@ +.dhx_layout-cell-content:not(.dhx_layout-cell) { + padding: 12px; +} + +.dhx_sample-container { + height: 600px; +} + +.dhx_form-group--inline { + max-width: 200px; +} \ No newline at end of file diff --git a/samples/layout/common/list/fonts/roboto-bold-webfont.woff b/samples/layout/common/list/fonts/roboto-bold-webfont.woff index d93baf5..3375aee 100644 Binary files a/samples/layout/common/list/fonts/roboto-bold-webfont.woff and b/samples/layout/common/list/fonts/roboto-bold-webfont.woff differ diff --git a/samples/layout/common/list/fonts/roboto-bold-webfont.woff2 b/samples/layout/common/list/fonts/roboto-bold-webfont.woff2 index fb82968..9883bd6 100644 Binary files a/samples/layout/common/list/fonts/roboto-bold-webfont.woff2 and b/samples/layout/common/list/fonts/roboto-bold-webfont.woff2 differ diff --git a/samples/layout/common/list/fonts/roboto-medium-webfont.woff b/samples/layout/common/list/fonts/roboto-medium-webfont.woff index 701ea99..e06e451 100644 Binary files a/samples/layout/common/list/fonts/roboto-medium-webfont.woff and b/samples/layout/common/list/fonts/roboto-medium-webfont.woff differ diff --git a/samples/layout/common/list/fonts/roboto-medium-webfont.woff2 b/samples/layout/common/list/fonts/roboto-medium-webfont.woff2 index 750e26b..2a73933 100644 Binary files a/samples/layout/common/list/fonts/roboto-medium-webfont.woff2 and b/samples/layout/common/list/fonts/roboto-medium-webfont.woff2 differ diff --git a/samples/layout/common/list/fonts/roboto-regular-webfont.woff b/samples/layout/common/list/fonts/roboto-regular-webfont.woff index 64fdff3..b5510ae 100644 Binary files a/samples/layout/common/list/fonts/roboto-regular-webfont.woff and b/samples/layout/common/list/fonts/roboto-regular-webfont.woff differ diff --git a/samples/layout/common/list/fonts/roboto-regular-webfont.woff2 b/samples/layout/common/list/fonts/roboto-regular-webfont.woff2 index 3201eab..1ee21e8 100644 Binary files a/samples/layout/common/list/fonts/roboto-regular-webfont.woff2 and b/samples/layout/common/list/fonts/roboto-regular-webfont.woff2 differ diff --git a/samples/layout/common/list/list.min.css b/samples/layout/common/list/list.min.css new file mode 100644 index 0000000..053e8fd --- /dev/null +++ b/samples/layout/common/list/list.min.css @@ -0,0 +1 @@ +.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:-webkit-grab!important;cursor:grab!important}.dhx_no-select--pointer{cursor:pointer}.dhx_no-select--pointer,.dhx_no-select--resize{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{box-sizing:border-box}body{margin:0}.dhx_widget{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_widget--bordered{border:1px solid #e4e4e4}.dhx_widget--border_top{border-top:1px solid #e4e4e4}.dhx_widget--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_widget--border_left{border-left:1px solid #e4e4e4}.dhx_widget--border_right{border-right:1px solid #e4e4e4}.dhx_widget--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget.dhx_widget--bg_white{background-color:#fff}.dhx_widget.dhx_widget--bg_gray{background-color:#f7f7f7}.dhx_drag-ghost{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;z-index:999;opacity:.6}.dhx_drag-ghost *{box-sizing:border-box}.dhx_drag-ghost .dhx_list-item{list-style-type:none}.dhx_drag-ghost .dhx_list-item--selected{background-color:#fff;box-shadow:inset 0 0 0 0 #0288d1}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:#fff;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_drag-ghost .dhx_tree-list-item__icon{position:relative;display:inline;vertical-align:middle;color:rgba(0,0,0,.3);font-size:20px;top:2px}.dhx_drag-ghost .dhx_tree-list-item__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;vertical-align:middle;line-height:20px;color:rgba(0,0,0,.7)}.dhx_drag-ghost .dhx_dataview-item,.dhx_drag-ghost .dhx_grid-cell,.dhx_drag-ghost .dhx_list-item{background-color:#fff;border:1px solid #e4e4e4!important}@font-face{font-family:Roboto;src:url(fonts/roboto-regular-webfont.woff2) format("woff2"),url(fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-medium-webfont.woff2) format("woff2"),url(fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-bold-webfont.woff2) format("woff2"),url(fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}@font-face{font-family:dhxicons;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff")}.dxi:before{font-family:dhxicons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dxi.dxi-alert-circle:before{content:"\F101"}.dxi.dxi-arrow-collapse:before{content:"\F102"}.dxi.dxi-arrow-expand:before{content:"\F103"}.dxi.dxi-blur-off:before{content:"\F104"}.dxi.dxi-blur:before{content:"\F105"}.dxi.dxi-calendar-today:before{content:"\F106"}.dxi.dxi-check:before{content:"\F107"}.dxi.dxi-checkbox-blank-outline:before{content:"\F108"}.dxi.dxi-checkbox-marked-circle:before{content:"\F109"}.dxi.dxi-checkbox-marked:before{content:"\F10A"}.dxi.dxi-chevron-down:before{content:"\F10B"}.dxi.dxi-chevron-left:before{content:"\F10C"}.dxi.dxi-chevron-right:before{content:"\F10D"}.dxi.dxi-chevron-up:before{content:"\F10E"}.dxi.dxi-clock-outline:before{content:"\F10F"}.dxi.dxi-clock:before{content:"\F110"}.dxi.dxi-close-circle:before{content:"\F111"}.dxi.dxi-close:before{content:"\F112"}.dxi.dxi-delete-forever:before{content:"\F113"}.dxi.dxi-delete:before{content:"\F114"}.dxi.dxi-dots-horizontal:before{content:"\F115"}.dxi.dxi-dots-vertical:before{content:"\F116"}.dxi.dxi-download:before{content:"\F117"}.dxi.dxi-empty:before{content:"\F118"}.dxi.dxi-eraser:before{content:"\F119"}.dxi.dxi-eye-off:before{content:"\F11A"}.dxi.dxi-eye:before{content:"\F11B"}.dxi.dxi-eyedropper-variant:before{content:"\F11C"}.dxi.dxi-file-excel:before{content:"\F11D"}.dxi.dxi-file-export:before{content:"\F11E"}.dxi.dxi-file-import:before{content:"\F11F"}.dxi.dxi-file-outline:before{content:"\F120"}.dxi.dxi-filter-variant:before{content:"\F121"}.dxi.dxi-folder-open:before{content:"\F122"}.dxi.dxi-folder:before{content:"\F123"}.dxi.dxi-format-align-center:before{content:"\F124"}.dxi.dxi-format-align-left:before{content:"\F125"}.dxi.dxi-format-align-right:before{content:"\F126"}.dxi.dxi-format-bold:before{content:"\F127"}.dxi.dxi-format-color-fill:before{content:"\F128"}.dxi.dxi-format-color-text:before{content:"\F129"}.dxi.dxi-format-italic:before{content:"\F12A"}.dxi.dxi-format-line-spacing:before{content:"\F12B"}.dxi.dxi-format-quote-close:before{content:"\F12C"}.dxi.dxi-format-quote-open:before{content:"\F12D"}.dxi.dxi-format-strikethrough:before{content:"\F12E"}.dxi.dxi-format-underline:before{content:"\F12F"}.dxi.dxi-format-vertical-align-bottom:before{content:"\F130"}.dxi.dxi-format-vertical-align-center:before{content:"\F131"}.dxi.dxi-format-vertical-align-top:before{content:"\F132"}.dxi.dxi-function-variant:before{content:"\F133"}.dxi.dxi-help-circle-outline:before{content:"\F134"}.dxi.dxi-information-outline:before{content:"\F135"}.dxi.dxi-key:before{content:"\F136"}.dxi.dxi-link-variant-off:before{content:"\F137"}.dxi.dxi-link-variant:before{content:"\F138"}.dxi.dxi-loading:before{content:"\F139"}.dxi.dxi-magnify:before{content:"\F13A"}.dxi.dxi-menu-down:before{content:"\F13B"}.dxi.dxi-menu-left:before{content:"\F13C"}.dxi.dxi-menu-right:before{content:"\F13D"}.dxi.dxi-menu-up:before{content:"\F13E"}.dxi.dxi-minus-box:before{content:"\F13F"}.dxi.dxi-minus:before{content:"\F140"}.dxi.dxi-numeric:before{content:"\F141"}.dxi.dxi-pencil:before{content:"\F142"}.dxi.dxi-plus-circle:before{content:"\F143"}.dxi.dxi-plus:before{content:"\F144"}.dxi.dxi-printer:before{content:"\F145"}.dxi.dxi-redo:before{content:"\F146"}.dxi.dxi-rotate-right:before{content:"\F147"}.dxi.dxi-select-all:before{content:"\F148"}.dxi.dxi-sort-variant:before{content:"\F149"}.dxi.dxi-table-column-plus-before:before{content:"\F14A"}.dxi.dxi-table-column-remove:before{content:"\F14B"}.dxi.dxi-table-column:before{content:"\F14C"}.dxi.dxi-table-row-plus-before:before{content:"\F14D"}.dxi.dxi-table-row-remove:before{content:"\F14E"}.dxi.dxi-table-row:before{content:"\F14F"}.dxi.dxi-undo:before{content:"\F150"}.dxi.dxi-unfold-more-horizontal:before{content:"\F151"}.dxi.dxi-vault:before{content:"\F152"}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:20px}.dxi--small:before{font-size:16px}.dxi--medium:before{font-size:20px}.dxi--large:before{font-size:24px}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;touch-action:manipulation;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:4px}.dhx_button__loading{display:none;position:absolute;left:0;top:0;right:0;bottom:0;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center}.dhx_button__loading-icon{-webkit-animation:a .9s linear infinite;animation:a .9s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{-webkit-box-pack:justify;justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:28px}.dhx_button--circle.dhx_button--size_medium{border-radius:32px}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:6px;padding-right:6px}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:4px;padding-right:4px}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__loading{display:-webkit-box;display:flex}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:4px 12px;font-size:14px;line-height:20px}.dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:16px;margin-top:-8px;margin-left:-8px}.dhx_button--size_medium{padding:6px 16px;text-transform:uppercase;line-height:20px}.dhx_button--size_medium .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:20px;margin-top:-10px;margin-left:-10px}.dhx_button--view_flat{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;color:#fff;-webkit-transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{-webkit-transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out;transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_flat.dhx_button--color_primary{background-color:#0288d1;outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:#35a0da}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:#0288d1;box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_primary:disabled{background-color:#81c4e8}.dhx_button--view_flat.dhx_button--color_secondary{background-color:#4d4d4d;outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:#717171}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:#4d4d4d;box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_secondary:disabled{background-color:#a6a6a6}.dhx_button--view_flat.dhx_button--color_danger{background-color:#ff5252;outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:#ff7575}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:#ff5252;box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_danger:disabled{background-color:#ffa9a9}.dhx_button--view_flat.dhx_button--color_success{background-color:#0ab169;outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:#3bc187}.dhx_button--view_flat.dhx_button--color_success:active{background-color:#0ab169;box-shadow:none}.dhx_button--view_flat.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_success:disabled{background-color:#85d8b4}.dhx_button--view_link{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;border-radius:2px;background:transparent;-webkit-transition:background-color .2s ease-in,box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_link:focus,.dhx_button--view_link:hover{-webkit-transition:background-color .2s ease-out,box-shadow .2s ease-out;transition:background-color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_link.dhx_button--color_primary{color:#0288d1;outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:#d9edf8}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:#b8def2}.dhx_button--view_link.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_primary:disabled{color:#81c4e8}.dhx_button--view_link.dhx_button--color_secondary{color:#4d4d4d;outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:#e4e4e4}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:#cdcdcd}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_secondary:disabled{color:#a6a6a6}.dhx_button--view_link.dhx_button--color_danger{color:#ff5252;outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:#ffe5e5}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:#ffcfcf}.dhx_button--view_link.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_danger:disabled{color:#ffa9a9}.dhx_button--view_link.dhx_button--color_success{color:#0ab169;outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:#daf3e9}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:#bae9d5}.dhx_button--view_link.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_success:disabled{color:#85d8b4}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:8px;margin-right:auto}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_form-group{position:relative;display:block;text-align:left;padding-bottom:16px}.dhx_form-group--simplevault{line-height:0;height:100%}.dhx_form-group--simplevault .dhx_label{margin-bottom:4px}.dhx_form-group--textarea{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;height:100%}.dhx_form-group--textarea .dhx_input--textarea,.dhx_form-group--textarea .dhx_input__wrapper{height:100%}.dhx_form-group--textarea .dhx_label{min-height:20px;line-height:20px;margin-bottom:4px}.dhx_form-group--inline{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;width:100%;-webkit-box-align:center;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;-webkit-box-flex:0;flex:0 1 auto;max-height:40px;margin-right:16px;margin-bottom:0;text-align:right;width:100%;margin-top:6px;align-self:flex-start}.dhx_form-group--inline .dhx_input__wrapper{-webkit-box-flex:0;flex:0 1 auto;width:300%;height:100%}.dhx_form-group--inline .dhx_label--with-help{-webkit-box-pack:end;justify-content:flex-end}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative;margin-bottom:0}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--no-message-holder{padding-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input__caption,.dhx_form-group--state_error .dhx_label{color:#ff5252}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{box-shadow:inset 0 0 0 1px #ffbaba}.dhx_form-group--state_error .dhx_simplevault-files,.dhx_form-group--state_error .dhx_simplevault-files:focus,.dhx_form-group--state_error .dhx_simplevault__drop-area,.dhx_form-group--state_error .dhx_simplevault__drop-area:focus{border-color:#ffbaba}.dhx_form-group--state_success .dhx_input__caption,.dhx_form-group--state_success .dhx_label{color:#0ab169}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{box-shadow:inset 0 0 0 1px #9de0c3}.dhx_form-group--state_success .dhx_simplevault__drop-area,.dhx_form-group--state_success .dhx_simplevault__drop-area:focus{border-top-color:#9de0c3;border-left-color:#9de0c3;border-right-color:#9de0c3}.dhx_form-group--state_success .dhx_simplevault-files,.dhx_form-group--state_success .dhx_simplevault-files:focus{border-right-color:#9de0c3;border-left-color:#9de0c3;border-bottom-color:#9de0c3}.dhx_form-group--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_form-group .dhx_combobox{margin:0}.dhx_form-group .dhx_slider{padding-bottom:0}.dhx_input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:#f6f6f6;background-clip:padding-box;box-shadow:inset 0 0 0 1px #dfdfdf;border:0;border-radius:2px;outline:0;-webkit-transition:border-color .2s ease-in,box-shadow .2s ease-in;transition:border-color .2s ease-in,box-shadow .2s ease-in}.dhx_input::-webkit-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::-moz-placeholder{color:rgba(0,0,0,.5)}.dhx_input:-ms-input-placeholder,.dhx_input::-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::placeholder{color:rgba(0,0,0,.5)}.dhx_input:focus{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_input--icon-padding{padding-right:24px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{box-shadow:none;background:none;padding-left:0}.dhx_input--textinput:focus{box-shadow:none}.dhx_input__wrapper{width:100%;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:relative}.dhx_input__wrapper:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_input__container{width:100%;display:inline-block;position:relative}.dhx_input__caption{left:0;bottom:0;max-width:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;font-weight:400;line-height:16px;color:rgba(0,0,0,.5);white-space:wrap;overflow-x:hidden;text-overflow:ellipsis;cursor:default}.dhx_input__icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:4px;z-index:1;color:rgba(0,0,0,.5);pointer-events:none}.dhx_input__icon--color-selected{border-radius:2px}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:20px;line-height:20px}.dhx_label{display:inline-block;width:auto;-webkit-box-flex:0;flex:0 1 auto;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;cursor:pointer;-webkit-transition:color .2s ease-in,opacity .2s ease-in;transition:color .2s ease-in,opacity .2s ease-in}.dhx_label:hover{opacity:.8;-webkit-transition:color .2s ease-out,opacity .2s ease-out;transition:color .2s ease-out,opacity .2s ease-out}.dhx_label__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_label--with-help{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.dhx_label-help{margin-left:4px;color:#0288d1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_label-help:focus{outline:none}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__visual-input{display:block;border:2px solid rgba(0,0,0,.5);min-width:20px;min-height:20px;background-color:#fff;border-radius:2px;cursor:pointer}.dhx_checkbox .dhx_label{margin-top:4px;margin-bottom:0;width:auto}.dhx_checkbox .dhx_label:after{display:none}.dhx_checkbox .dhx_input__caption{position:static;display:block;-webkit-transform:none;transform:none}.dhx_checkbox.dhx_form-group--inline{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_checkbox.dhx_form-group--hidden{display:none}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.dhx_checkbox__input:focus+.dhx_checkbox__visual-input{border-color:#0288d1}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input{background-color:#0288d1;background-position:50%;background-size:cover;border-color:#0288d1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_radiobutton{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_radiobutton__visual-input{display:block;border:2px solid rgba(0,0,0,.5);bottom:4px;left:0;min-width:20px;min-height:20px;background-color:#fff;border-radius:50%}.dhx_radiobutton .dhx_label{margin-top:4px;margin-bottom:0;width:auto;cursor:pointer}.dhx_radiobutton .dhx_input__caption{position:static;display:block}.dhx_radiobutton.dhx_form-group--inline{white-space:nowrap;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.dhx_radiobutton.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0;padding-top:2px;padding-bottom:2px}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.dhx_radiobutton__input:focus+.dhx_radiobutton__visual-input{border-color:#0288d1}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:#0288d1;border-color:#0288d1;box-shadow:inset 0 0 0 4px #fff;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{border:none;border-radius:2px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;font-weight:400;text-align:center;overflow:hidden;position:relative}.dhx_simplevault__drop-area{background-color:#f6f6f6;border:1px solid #dfdfdf;-webkit-transition:all .2s ease-in;transition:all .2s ease-in;display:-webkit-box;display:flex;height:115px;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 20px}.dhx_simplevault__drop-area--on-drag{border-style:dashed;-webkit-transition:border .2s ease-out;transition:border .2s ease-out}.dhx_simplevault__icon:before{font-size:40px;color:rgba(0,0,0,.3);-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:#0288d1;cursor:pointer}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in,-webkit-transform .2s ease-in}.dhx_simplevault-files{background-color:#f6f6f6;border:1px solid #dfdfdf;border-top:none;-webkit-transition:all .2s ease-in;transition:all .2s ease-in;width:100%;margin:0;padding:0;list-style:none;max-height:calc(100% - 115px);height:calc(100% - 115px);overflow-y:auto}.dhx_simplevault-files__fixed{max-height:276px}.dhx_simplevault-files__item{position:relative;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;text-align:left;color:rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:1px solid #e4e4e4}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_simplevault-loader{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:#ededed;-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0;will-change:transform;-webkit-transition:0ms;transition:0ms;z-index:1}.dhx_simplevault-loader .dhx_simplevault__icon:before{color:#0288d1}.dhx_list{margin:0;padding:0;height:100%;list-style:none;overflow:auto;max-height:100%;background-color:#fff}.dhx_list--virtual{overflow:visible;max-height:unset;border:none}.dhx_list-item{overflow:hidden;position:relative;padding:8px 12px;border-bottom:1px solid #e4e4e4}.dhx_list-item,.dhx_list-item--text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_list-item--text{font-size:14px;font-weight:400;line-height:20px;-webkit-transition:background-color .2s ease-in,box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_list-item--selected{background-color:#f7f7f7;box-shadow:inset 2px 0 0 0 #0288d1}.dhx_list-item--focus,.dhx_list-item--selected:hover,.dhx_list-item:hover{background-color:#ededed;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_list-item--drophere:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;background-color:#f7f7f7;opacity:.6}.dhx_list-item--dragtarget{opacity:.6}.dhx_list-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_list-input{width:100%;padding-left:5px}.dhx_virtual-list-wrapper{overflow:auto;max-height:100%;border:1px solid #e4e4e4} \ No newline at end of file diff --git a/samples/layout/common/list/list.min.js b/samples/layout/common/list/list.min.js new file mode 100644 index 0000000..b84fb19 --- /dev/null +++ b/samples/layout/common/list/list.min.js @@ -0,0 +1,21 @@ +/* +@license + +undefined v.6.4.0 Professional + +This software is covered by DHTMLX Commercial License. +Usage without proper license is prohibited. + +(c) XB Software. + +*/ +if(window.dhx&&(window.dhx_legacy=dhx,delete window.dhx),function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.dhx=e():t.dhx=e()}(window,function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/codebase/",n(n.s=17)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.all="all",t.level="level",t.leafs="leafs"}(e.TreeFilterType||(e.TreeFilterType={})),function(t){t.top="top",t.bot="bot",t.in="in"}(e.DropPosition||(e.DropPosition={})),function(t){t.afterAdd="afteradd",t.beforeAdd="beforeadd",t.removeAll="removeall",t.beforeRemove="beforeremove",t.afterRemove="afterremove",t.change="change",t.load="load",t.loadError="loaderror",t.beforeLazyLoad="beforelazyload",t.afterLazyLoad="afterlazyload"}(e.DataEvents||(e.DataEvents={})),function(t){t.beforeDrag="beforedrag",t.beforeDrop="beforeDrop",t.dragStart="dragstart",t.dragEnd="dragend",t.canDrop="candrop",t.cancelDrop="canceldrop",t.dropComplete="dropcomplete",t.dragOut="dragOut",t.dragIn="dragIn"}(e.DragEvents||(e.DragEvents={})),function(t){t.target="target",t.both="both",t.source="source"}(e.DragMode||(e.DragMode={})),function(t){t.child="child",t.sibling="sibling",t.complex="complex"}(e.DropBehaviour||(e.DropBehaviour={})),function(t){t.json="json",t.csv="csv",t.xml="xml"}(e.DataDriver||(e.DataDriver={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=n(12);e.isEqualObj=function(t,e){for(var n in t)if(t[n]!==e[n])return!1;return!0},e.naturalCompare=function(t,e){if(isNaN(t)||isNaN(e)){var n=[],i=[];for(t.replace(/(\d+)|(\D+)/g,function(t,e,i){n.push([e||1/0,i||""])}),e.replace(/(\d+)|(\D+)/g,function(t,e,n){i.push([e||1/0,n||""])});n.length&&i.length;){var r=n.shift(),o=i.shift(),s=r[0]-o[0]||r[1].localeCompare(o[1]);if(s)return s}return n.length-i.length}return t-e},e.findByConf=function(t,e){if("function"==typeof e){if(e.call(this,t))return t}else if(e.by&&e.match&&t[e.by]===e.match)return t},e.isDebug=function(){var t=window.dhx;if(void 0!==t)return void 0!==t.debug&&t.debug},e.dhxWarning=function(t){console.warn(t)},e.dhxError=function(t){throw new Error(t)},e.toProxy=function(t){var e=typeof t;return"string"===e?new i.DataProxy(t):"object"===e?t:void 0},e.toDataDriver=function(t){if("string"==typeof t){var e=window.dhx,n=e&&e.dataDrivers||r.dataDrivers;if(n[t])return new n[t];console.warn("Incorrect data driver type:",t),console.warn("Available types:",JSON.stringify(Object.keys(n)))}else if("object"==typeof t)return t},e.copyWithoutInner=function(t,e){var n={};for(var i in t)"$"===i[0]||e&&e[i]||(n[i]=t[i]);return n},e.isTreeCollection=function(t){return Boolean(t.getRoot)},e.hasJsonOrArrayStructure=function(t){if("object"==typeof t)return!0;if("string"!=typeof t)return!1;try{var e=JSON.parse(t);return"[object Object]"===Object.prototype.toString.call(e)||Array.isArray(e)}catch(t){return!1}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(9),r=function(){function t(t,e){this.url=this._url=t,this.config=e}return t.prototype.updateUrl=function(t,e){for(var n in void 0===e&&(e={}),this._url=this.url=t||this._url,this.url+="?",e)this.config[n]=e[n],this.url+=n+"="+encodeURIComponent(e[n])+"&";this.url=this.url.slice(0,-1)},t.prototype.load=function(){return i.ajax.get(this.url,null,{responseType:"text"})},t.prototype.save=function(t,e){switch(e){case"delete":return i.ajax.delete(this.url,t);case"update":case"insert":default:return i.ajax.post(this.url,t)}},t}();e.DataProxy=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(4),r=(new Date).valueOf();e.uid=function(){return"u"+r++},e.extend=function t(e,n,i){if(void 0===i&&(i=!0),n)for(var r in n){var o=n[r],s=e[r];void 0===o?delete e[r]:!i||"object"!=typeof s||s instanceof Date||s instanceof Array?e[r]=o:t(s,o)}return e},e.copy=function(t,e){var n={};for(var i in t)e&&"$"===i[0]||(n[i]=t[i]);return n},e.naturalSort=function(t){return t.sort(function(t,e){return"string"==typeof t?t.localeCompare(e):t-e})},e.findIndex=function(t,e){for(var n=t.length,i=0;ie.length)return!1;for(var n=0;ne)return[];for(var n=[];t<=e;)n.push(t++);return n},e.isNumeric=function(t){return!isNaN(t-parseFloat(t))},e.downloadFile=function(t,e,n){void 0===n&&(n="text/plain");var i=new Blob([t],{type:n});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(i,e);else{var r=document.createElement("a"),o=URL.createObjectURL(i);r.href=o,r.download=e,document.body.appendChild(r),r.click(),setTimeout(function(){document.body.removeChild(r),window.URL.revokeObjectURL(o)},0)}},e.debounce=function(t,e,n){var i;return function(){var r=this,o=arguments,s=n&&!i;clearTimeout(i),i=setTimeout(function(){i=null,n||t.apply(r,o)},e),s&&t.apply(this,o)}},e.compare=function t(e,n){for(var i in e){if(e.hasOwnProperty(i)!==n.hasOwnProperty(i))return!1;switch(typeof e[i]){case"object":if(!t(e[i],n[i]))return!1;break;case"function":if(void 0===n[i]||"compare"!==i&&e[i].toString()!==n[i].toString())return!1;break;default:if(e[i]!==n[i])return!1}}for(var i in n)if(void 0===e[i])return!1;return!0}},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n-1)return e[n[l]](i,r);o=o.parentNode}return!0}},e.locate=function(t,e){void 0===e&&(e="dhx_id");var n=r(t,e);return n?n.getAttribute(e):""},e.locateNode=r,e.locateNodeByClassName=function(t,e){for(t instanceof Event&&(t=t.target);t;){if(e){if(t.classList&&t.classList.contains(e))return t}else if(t.getAttribute&&t.getAttribute("dhx_id"))return t;t=t.parentNode}},e.getBox=function(t){var e=t.getBoundingClientRect(),n=document.body,i=window.pageYOffset||n.scrollTop,r=window.pageXOffset||n.scrollLeft;return{top:e.top+i,left:e.left+r,right:n.offsetWidth-e.right,bottom:n.offsetHeight-e.bottom,width:e.right-e.left,height:e.bottom-e.top}};var o,s=-1;function a(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,right:e.right+window.pageXOffset,top:e.top+window.pageYOffset,bottom:e.bottom+window.pageYOffset}}function l(t,e){var n=e.mode===o.bottom||e.mode===o.top?c(t,e):d(t,e),i=n.left,r=n.top;return{left:Math.round(i)+"px",top:Math.round(r)+"px",minWidth:Math.round(e.width)+"px",position:"absolute"}}function u(){return{rightBorder:window.pageXOffset+window.innerWidth,bottomBorder:window.pageYOffset+window.innerHeight}}function c(t,e){var n,r,s=u(),a=s.rightBorder,l=s.bottomBorder-t.bottom-e.height,c=t.top-e.height;if(e.mode===o.bottom?l>=0?r=t.bottom:c>=0&&(r=c):c>=0?r=c:l>=0&&(r=t.bottom),l<0&&c<0){if(e.auto)return d(t,i(i({},e),{mode:o.right,auto:!1}));r=l>c?t.bottom:c}if(e.centering)n=function(t,e,n){var i=(e-(t.right-t.left))/2,r=t.left-i,o=t.right+i;return r>=0&&o<=n?r:r<0?0:n-e}(t,e.width,a);else{var f=a-t.left-e.width,h=t.right-e.width;n=f>=0?t.left:h>=0?h:h>f?t.left:h}return{left:n,top:r}}function d(t,e){var n,r,s=u(),a=s.rightBorder,l=s.bottomBorder,d=a-t.right-e.width,f=t.left-e.width;if(e.mode===o.right?d>=0?n=t.right:f>=0&&(n=f):f>=0?n=f:d>=0&&(n=t.right),f<0&&d<0){if(e.auto)return c(t,i(i({},e),{mode:o.bottom,auto:!1}));n=f>d?f:t.right}if(e.centering)r=function(t,e,n){var i=(e-(t.bottom-t.top))/2,r=t.top-i,o=t.bottom+i;return r>=0&&o<=n?r:r<0?0:n-e}(t,e.height,a);else{var h=t.bottom-e.height,p=l-t.top-e.height;r=p>=0?t.top:h>0?h:h>p?h:t.top}return{left:n,top:r}}e.getScrollbarWidth=function(){if(s>-1)return s;var t=document.createElement("div");return document.body.appendChild(t),t.style.cssText="position: absolute;left: -99999px;overflow:scroll;width: 100px;height: 100px;",s=t.offsetWidth-t.clientWidth,document.body.removeChild(t),s},e.fitPosition=function(t,e){return l(a(t),e)},e.isIE=function(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1},e.getRealPosition=a,function(t){t.left="left",t.right="right",t.bottom="bottom",t.top="top"}(o=e.Position||(e.Position={})),e.calculatePosition=l},function(t,e,n){(function(e,n){!function(){var i=1,r={},o=!1;function s(t){e.setImmediate?n(t):e.importScripts?setTimeout(t):(r[++i]=t,e.postMessage(i,"*"))}function a(t){"use strict";if("function"!=typeof t&&void 0!=t)throw TypeError();if("object"!=typeof this||this&&this.then)throw TypeError();var e,n,i=this,r=0,o=0,l=[];i.promise=i,i.resolve=function(t){return e=i.fn,n=i.er,r||(o=t,r=1,s(d)),i},i.reject=function(t){return e=i.fn,n=i.er,r||(o=t,r=2,s(d)),i},i._d=1,i.then=function(t,e){if(1!=this._d)throw TypeError();var n=new a;return n.fn=t,n.er=e,3==r?n.resolve(o):4==r?n.reject(o):l.push(n),n},i.catch=function(t){return i.then(null,t)};var u=function(t){r=t||4,l.map(function(t){3==r&&t.resolve(o)||t.reject(o)})};try{"function"==typeof t&&t(i.resolve,i.reject)}catch(t){i.reject(t)}return i;function c(t,e,n,i){if(2==r)return i();if("object"!=typeof o&&"function"!=typeof o||"function"!=typeof t)i();else try{var s=0;t.call(o,function(t){s++||(o=t,e())},function(t){s++||(o=t,n())})}catch(t){o=t,n()}}function d(){var t;try{t=o&&o.then}catch(t){return o=t,r=2,d()}c(t,function(){r=1,d()},function(){r=2,d()},function(){try{1==r&&"function"==typeof e?o=e(o):2==r&&"function"==typeof n&&(o=n(o),r=1)}catch(t){return o=t,u()}o==i?(o=TypeError(),u()):c(t,function(){u(3)},u,function(){u(1==r&&3)})})}}(e=this).setImmediate||e.addEventListener("message",function(t){if(t.source==e)if(o)s(r[t.data]);else{o=!0;try{r[t.data]()}catch(t){}delete r[t.data],o=!1}}),a.resolve=function(t){if(1!=this._d)throw TypeError();return t instanceof a?t:new a(function(e){e(t)})},a.reject=function(t){if(1!=this._d)throw TypeError();return new a(function(e,n){n(t)})},a.all=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());var e=new a;return function n(i,r){return r?e.resolve(r):i?e.reject(i):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(e,i){e&&e.then&&e.then(function(e){return t[i]=e,n(),e},n)}))}(),e},a.race=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());if(0==t.length)return new a;var e=new a;return function n(i,r){return r?e.resolve(r):i?e.reject(i):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(t,e){t&&t.then&&t.then(function(t){n(null,t)},n)}))}(),e},a._d=1,t.exports=a}()}).call(this,n(8),n(20).setImmediate)},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(0)),i(n(11)),i(n(27)),i(n(28)),i(n(2)),i(n(30)),i(n(1)),i(n(14)),i(n(13)),i(n(31)),i(n(12)),i(n(9))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t){this.events={},this.context=t||this}return t.prototype.on=function(t,e,n){var i=t.toLowerCase();this.events[i]=this.events[i]||[],this.events[i].push({callback:e,context:n||this.context})},t.prototype.detach=function(t,e){var n=t.toLowerCase(),i=this.events[n];if(e&&i&&i.length)for(var r=i.length-1;r>=0;r--)i[r].context===e&&i.splice(r,1);else this.events[n]=[]},t.prototype.fire=function(t,e){void 0===e&&(e=[]);var n=t.toLowerCase();return!this.events[n]||this.events[n].map(function(t){return t.callback.apply(t.context,e)}).indexOf(!1)<0},t.prototype.clear=function(){this.events={}},t}();e.EventSystem=i,e.EventsMixin=function(t){var e=new i(t=t||{});t.detachEvent=e.detach.bind(e),t.attachEvent=e.on.bind(e),t.callEvent=e.fire.bind(e)}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),r=n(1);function o(t){return t?t.indexOf("json")>=0?"json":t.indexOf("xml")>=0?"xml":"text":"text"}function s(e,n,s,a,l){var u=a||{};if(l&&(u.Accept="application/"+l),"GET"!==s&&(u["Content-Type"]=u["Content-Type"]||"application/json"),"GET"===s){var c=n&&"object"==typeof n?function(t){return Object.keys(t).reduce(function(e,n){var i="object"==typeof t[n]?JSON.stringify(t[n]):t[n];return e.push(n+"="+encodeURIComponent(i)),e},[]).join("&")}(n):n&&"string"==typeof n?n:"";c&&(e+=-1===e.indexOf("?")?"?":"&",e+=c),n=null}return window.fetch?window.fetch(e,{method:s,body:n?JSON.stringify(n):null,headers:u}).then(function(e){if(!e.ok)return e.text().then(function(n){return t.reject({status:e.status,statusText:e.statusText,message:n})});var n=l||o(e.headers.get("Content-Type"));if("raw"===n)return{headers:Object.fromEntries(e.headers.entries()),url:e.url,body:e.body};if(204!==e.status)switch(n){case"json":return e.json();case"xml":var s=r.toDataDriver(i.DataDriver.xml);return s?e.text().then(function(t){return s.toJsonObject(t)}):e.text();default:return e.text()}}):new t(function(t,a){var c=new XMLHttpRequest;for(var d in c.onload=function(){c.status>=200&&c.status<300?("raw"===l&&t({url:c.responseURL,headers:c.getAllResponseHeaders().trim().split(/[\r\n]+/).reduce(function(t,e){var n=e.split(": ");return t[n[0]]=n[1],t},{}),body:c.response}),204===c.status?t():t(function(t,e){switch(e){case"json":return JSON.parse(t);case"text":return t;case"xml":var n=r.toDataDriver(i.DataDriver.xml);return n?n.toJsonObject(t):{parseError:"Incorrect data driver type: 'xml'"};default:return t}}(c.responseText,l||o(c.getResponseHeader("Content-Type"))))):a({status:c.status,statusText:c.statusText})},c.onerror=function(){a({status:c.status,statusText:c.statusText,message:c.responseText})},c.open(s,e),u)c.setRequestHeader(d,u[d]);switch(s){case"POST":case"DELETE":case"PUT":c.send(void 0!==n?JSON.stringify(n):"");break;case"GET":default:c.send()}})}e.ajax={get:function(t,e,n){return s(t,e,"GET",n&&n.headers,void 0!==n?n.responseType:void 0)},post:function(t,e,n){return s(t,e,"POST",n&&n.headers,void 0!==n?n.responseType:void 0)},put:function(t,e,n){return s(t,e,"PUT",n&&n.headers,void 0!==n?n.responseType:void 0)},delete:function(t,e,n){return s(t,e,"DELETE",n&&n.headers,void 0!==n?n.responseType:void 0)}}}).call(this,n(5))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeUnSelect="beforeunselect",t.afterUnSelect="afterunselect",t.beforeSelect="beforeselect",t.afterSelect="afterselect"}(e.SelectionEvents||(e.SelectionEvents={}))},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=0?e:-1},t.prototype.getId=function(t){if(this._order[t])return this._order[t].id},t.prototype.getLength=function(){return this._order.length},t.prototype.isDataLoaded=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=this._order.length),c.isNumeric(t)&&c.isNumeric(e)?0===this._order.slice(t,e).filter(function(t){return t.$empty}).length:!this.find(function(t){return t.$empty})},t.prototype.filter=function(t,e){if(this.isDataLoaded()){if((e=c.extend({add:!1,multiple:!0},e)).add||(this._order=this._initOrder||this._order,this._initOrder=null),this._filters=this._filters||{},e.multiple&&t||(this._filters={}),t){if("function"==typeof t){this._filters._={match:"_",compare:t}}else t.match?(t.compare=t.compare||function(t,e){return t===e},this._filters[t.by]=t):delete this._filters[t.by];this._applyFilters()}this.events.fire(u.DataEvents.change)}else l.dhxWarning("the method doesn't work with lazyLoad")},t.prototype.find=function(t){for(var e in this._pull){var n=l.findByConf(this._pull[e],t);if(n)return n}return null},t.prototype.findAll=function(t){var e=[];for(var n in this._pull){var i=l.findByConf(this._pull[n],t);i&&e.push(i)}return e},t.prototype.sort=function(t){if(this.isDataLoaded()){if(t)this._sort.sort(this._order,t),this._initOrder&&this._initOrder.length&&this._sort.sort(this._initOrder,t);else{for(var e in this._order=[],this._pull)this._order.push(this._pull[e]);this._applyFilters()}this.events.fire(u.DataEvents.change)}else l.dhxWarning("the method doesn't work with lazyLoad")},t.prototype.copy=function(t,e,n,i){var r=this;return t instanceof Array?t.map(function(t,o){return r._copy(t,e,n,i,o)}):this._copy(t,e,n,i)},t.prototype.move=function(t,e,n,i){var r=this;return t instanceof Array?t.map(function(t,o){return r._move(t,e,n,i,o)}):this._move(t,e,n,i)},t.prototype.forEach=function(t){for(var e=0;ethis._order.length-1&&(e=this._order.length-1);for(var i=this._order.slice(t,e),r=[],o=t;o<=e;o++)r.push(n.call(this,this._order[o],o,i));return r},t.prototype.reduce=function(t,e){for(var n=0;n=0&&(this._order=this._order.filter(function(e){return e.id!==t}),delete this._pull[t]),this._initOrder&&this._initOrder.length&&(this._initOrder=this._initOrder.filter(function(e){return e.id!==t}))},t.prototype._parse_data=function(t){var e=this._order.length;this.config.prep&&(t=this.config.prep(t));for(var n=0,i=t;n=0&&t[n]?(this._pull[e.id]=e,t.splice(n,0,e)):(this._pull[e.id]=e,t.push(e))},t.prototype._applyFilters=function(){var t=this;if(this._filters&&Object.keys(this._filters).length){var e=this._order.filter(function(e){return Object.keys(t._filters).every(function(n){return e[n]?t._filters[n].compare(e[n],t._filters[n].match,e):t._filters[n].compare(e)})});this._initOrder||(this._initOrder=this._order),this._order=e}},t}();e.DataCollection=d},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=a&&u<=a+t.length-1?(l.push(t[c]),c++):l.push({$empty:!0});t=l}return this._parent.getInitialData()&&this._parent.removeAll(),this._parent.$parse(t),t},e.prototype.save=function(e){for(var n=this,i=function(i){if(i.saving||i.pending)r.dhxWarning("item is saving");else{var s=o._findPrevState(i.id);if(s&&s.saving){var a=new t(function(t,o){s.promise.then(function(){i.pending=!1,t(n._setPromise(i,e))}).catch(function(t){n._removeFromOrder(s),n._setPromise(i,e),r.dhxWarning(t),o(t)})});o._addToChain(a),i.pending=!0}else o._setPromise(i,e)}},o=this,s=0,a=this._changes.order;s=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(21),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(8))},function(t,e,n){(function(t,e){!function(t,n){"use strict";if(!t.setImmediate){var i,r=1,o={},s=!1,a=t.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(t);l=l&&l.setTimeout?l:t,"[object process]"==={}.toString.call(t.process)?i=function(t){e.nextTick(function(){c(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?function(){var e="setImmediate$"+Math.random()+"$",n=function(n){n.source===t&&"string"==typeof n.data&&0===n.data.indexOf(e)&&c(+n.data.slice(e.length))};t.addEventListener?t.addEventListener("message",n,!1):t.attachEvent("onmessage",n),i=function(n){t.postMessage(e+n,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){c(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){c(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(c,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n1)for(var n=1;n\n";for(var s in t)Array.isArray(t[s])?(n+=r(e+i)+"<"+s+">\n",n+=t[s].map(function(t){return o(t,e+2*i)}).join("\n")+"\n",n+=r(e+i)+"\n"):n+=r(e+i)+"<"+s+">"+t[s]+"\n";return n+=r(e)+""}e.jsonToXML=function(t,e){void 0===e&&(e="root");for(var n='\n<'+e+">",i=0;i"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(){function t(){}return t.prototype.sort=function(t,e){var n=this;e.rule&&"function"==typeof e.rule?this._sort(t,e):e.by&&(e.rule=function(t,r){var o=n._checkVal(e.as,t[e.by]),s=n._checkVal(e.as,r[e.by]);return i.naturalCompare(o.toString(),s.toString())},this._sort(t,e))},t.prototype._checkVal=function(t,e){return t?t.call(this,e):e},t.prototype._sort=function(t,e){var n=this,i={asc:1,desc:-1};return t.sort(function(t,r){return e.rule.call(n,t,r)*(i[e.dir]||i.asc)})},t}();e.Sort=r},function(t,e){if(Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),r=this&&this.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e0&&-1!==n&&(n+=1);var o=t.prototype._add.call(this,e,n);if(Array.isArray(e.items))for(var s=0,a=e.items;s1?(this._selectedIds=e,this._itemsForGhost=n):(this._selectedIds=[],this._itemsForGhost=null),o&&s){var a=i.getBox(r),l=a.left,u=a.top;this._transferData.initXOffset=t.pageX-l,this._transferData.initYOffset=t.pageY-u,this._transferData.x=t.pageX,this._transferData.y=t.pageY,this._transferData.targetId=s,this._transferData.id=o,this._transferData.item=r}}},t.prototype._moveGhost=function(t,e){this._transferData.ghost&&(this._transferData.ghost.style.left=t-this._transferData.initXOffset+"px",this._transferData.ghost.style.top=e-this._transferData.initYOffset+"px")},t.prototype._removeGhost=function(){document.body.removeChild(this._transferData.ghost)},t.prototype._onDrop=function(){if(this._canMove){var t=r.collectionStore.getItem(this._lastCollectionId),e=t&&t.config;if(t&&e.dragMode!==o.DragMode.source){if(t.events.fire(o.DragEvents.beforeDrop,[this._lastId,this._transferData.target])){var n={id:this._lastId,target:t},i={id:this._transferData.id,target:this._transferData.target};this._move(i,n),n.target.events.fire(o.DragEvents.dropComplete,[n.id,this._transferData.dropPosition])}this._endDrop()}else this._endDrop()}else this._endDrop()},t.prototype._onDragStart=function(t,e){var n=r.collectionStore.getItem(e),i=n.config;if(i.dragMode===o.DragMode.target)return null;var s=n.data.getItem(t),a=function(t,e){var n=t.getBoundingClientRect(),i=document.createElement("div"),r=t.cloneNode(!0);return r.style.width=n.width+"px",r.style.height=n.height+"px",r.style.maxHeight=n.height+"px",r.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,r.style.opacity="0.8",r.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,i.appendChild(r),e&&e.length&&e.forEach(function(t,e){var r=t.cloneNode(!0);r.style.width=n.width+"px",r.style.height=n.height+"px",r.style.maxHeight=n.height+"px",r.style.top=12*(e+1)-n.height-n.height*e+"px",r.style.left=12*(e+1)+"px",r.style.opacity="0.6",r.style.zIndex=""+(-e-1),i.appendChild(r)}),i.className="dhx_drag-ghost",i}(this._transferData.item,this._itemsForGhost);return n.events.fire(o.DragEvents.beforeDrag,[s,a])&&t?(n.events.fire(o.DragEvents.dragStart,[t,this._selectedIds]),this._toggleTextSelection(!0),this._transferData.target=n,this._transferData.dragConfig=i,a):null},t.prototype._onDrag=function(t){var e=t.clientX,n=t.clientY,a=document.elementFromPoint(e,n),l=i.locate(a,"dhx_widget_id");if(l){var u=r.collectionStore.getItem(l),c=i.locate(a,"dhx_id");if(!c)return this._cancelCanDrop(),this._lastCollectionId=l,this._lastId=null,void this._canDrop();if(u.config.dropBehaviour===o.DropBehaviour.complex){var d=function(t){var e=t.clientY,n=i.locateNode(t);if(!n)return null;var r=n.childNodes[0].getBoundingClientRect();return(e-r.top)/r.height}(t);this._transferData.dropPosition=d<=.25?o.DropPosition.top:d>=.75?o.DropPosition.bot:o.DropPosition.in}else if(this._lastId===c&&this._lastCollectionId===l)return;var f={id:this._transferData.id,target:this._transferData.target};if("source"!==u.config.dragMode)if(f.target.events.fire(o.DragEvents.dragOut,[c,u]),l!==this._transferData.targetId||!s.isTreeCollection(f.target.data)||s.isTreeCollection(f.target.data)&&f.target.data.canCopy(f.id,c))this._cancelCanDrop(),this._lastId=c,this._lastCollectionId=l,f.target.events.fire(o.DragEvents.dragIn,[c,this._transferData.dropPosition,r.collectionStore.getItem(l)])&&this._canDrop();else this._cancelCanDrop()}else this._canMove&&this._cancelCanDrop()},t.prototype._move=function(t,e){var n=t.target.data,i=e.target.data,r=0,a=e.id;switch(s.isTreeCollection(i)?e.target.config.dropBehaviour:void 0){case o.DropBehaviour.child:break;case o.DropBehaviour.sibling:a=i.getParent(a),r=i.getIndex(e.id)+1;break;case o.DropBehaviour.complex:var l=this._transferData.dropPosition;l===o.DropPosition.top?(a=i.getParent(a),r=i.getIndex(e.id)):l===o.DropPosition.bot&&(a=i.getParent(a),r=i.getIndex(e.id)+1);break;default:r=e.id?t.target===e.target&&i.getIndex(t.id)1?this._selectedIds.map(function(t){n.copy(t,r,i,a),r>-1&&r++}):n.copy(t.id,r,i,a):this._selectedIds instanceof Array&&this._selectedIds.length>1?this._selectedIds.map(function(t){n.move(t,r,i,a),r>-1&&r++}):n.move(t.id,r,i,a)},t.prototype._endDrop=function(){this._toggleTextSelection(!1),this._transferData.target&&this._transferData.target.events.fire(o.DragEvents.dragEnd,[this._transferData.id,this._selectedIds]),this._cancelCanDrop(),this._canMove=!0,this._transferData={},this._lastId=null,this._lastCollectionId=null},t.prototype._cancelCanDrop=function(){this._canMove=!1;var t=r.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(o.DragEvents.cancelDrop,[this._lastId]),this._lastCollectionId=null,this._lastId=null},t.prototype._canDrop=function(){this._canMove=!0;var t=r.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(o.DragEvents.canDrop,[this._lastId,this._transferData.dropPosition])},t.prototype._toggleTextSelection=function(t){t?document.body.classList.add("dhx_no-select"):document.body.classList.remove("dhx_no-select")},t}(),l=window.dhxHelpers=window.dhxHelpers||{};l.dragManager=l.dragManager||new a,e.dragManager=l.dragManager},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(){this._store={}}return t.prototype.setItem=function(t,e){this._store[t]=e},t.prototype.getItem=function(t){return this._store[t]?this._store[t]:null},t}(),r=window.dhxHelpers=window.dhxHelpers||{};r.collectionStore=r.collectionStore||new i,e.collectionStore=r.collectionStore},function(t,e,n){"use strict";(function(t){var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),o=n(3),s=n(9),a=function(e){function n(t,n){var i=e.call(this,t)||this;return i.config=o.extend({from:0,limit:50,delay:50,prepare:0},n),i.updateUrl(t,{from:i.config.from,limit:i.config.limit}),i}return i(n,e),n.prototype.load=function(){var e=this;return new t(function(t){e._timeout?(clearTimeout(e._timeout),e._timeout=setTimeout(function(){s.ajax.get(e.url,{responseType:"text"}).then(t),e._cooling=!0},e.config.delay),e._cooling&&(t(null),e._cooling=!1)):(s.ajax.get(e.url,{responseType:"text"}).then(t),e._cooling=!0,e._timeout=setTimeout(function(){}))})},n}(r.DataProxy);e.LazyDataProxy=a}).call(this,n(5))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(7),r=n(10),o=n(0),s=function(){function t(t,e,n){var r=this;this.events=n||new i.EventSystem(this),this._data=e,this._data.events.on(o.DataEvents.removeAll,function(){r._selected=null}),this._data.events.on(o.DataEvents.change,function(){if(r._selected){var t=r._data.getNearId(r._selected);t!==r._selected&&(r._selected=null,t&&r.add(t))}})}return t.prototype.getId=function(){return this._selected},t.prototype.getItem=function(){return this._selected?this._data.getItem(this._selected):null},t.prototype.remove=function(t){return!(t=t||this._selected)||!!this.events.fire(r.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=null,this.events.fire(r.SelectionEvents.afterUnSelect,[t]),!0)},t.prototype.add=function(t){this._selected!==t&&(this.remove(),this.events.fire(r.SelectionEvents.beforeSelect,[t])&&(this._selected=t,this._data.update(t,{$selected:!0}),this.events.fire(r.SelectionEvents.afterSelect,[t])))},t}();e.Selection=s},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,i=arguments.length;nthis.data.getLength()-1)){this._focusIndex=t;var e=this.getRootView();if(e&&e.node&&e.node.el){var n=this.getRootNode();if(n){if(this.config.virtual){var i=t*_.defineValue(this.config.itemHeight);(i>=_.defineValue(this._visibleHeight)+this._topOffset||i=n.scrollTop+n.clientHeight-r.clientHeight?n.scrollTop=r.offsetTop-n.clientHeight+r.clientHeight:r.offsetTope-_.defineValue(this._visibleHeight)&&(t=e-_.defineValue(this._visibleHeight));var n=Math.floor(_.defineValue(this._visibleHeight)/_.defineValue(this.config.itemHeight))+5,i=Math.floor(t/_.defineValue(this.config.itemHeight));this._range=[i,n+i],this._topOffset=t,this.paint()},e.prototype._getHeight=function(){return this.data.getLength()*_.defineValue(this.config.itemHeight)},e.prototype._getHotkeys=function(){var t=this;if(this.config.keyNavigation)if(this._edited)this._navigationDestructor&&this._navigationDestructor();else{var e=this.config.keyNavigation;"function"!=typeof this.config.keyNavigation&&(this._widgetInFocus=!1,e=function(){return t._widgetInFocus},this._documentClickDestuctor=o.detectWidgetClick(this._uid,function(e){return t._widgetInFocus=e}));var n=function(t){return function(e){e.preventDefault(),t()}},i={arrowDown:n(function(){return t.setFocusIndex(t._focusIndex+1)}),arrowUp:n(function(){return t.setFocusIndex(t._focusIndex-1)}),enter:function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n),t.events.fire(p.ListEvents.click,[n,e])},"enter+shift":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!1,!0),t.events.fire(p.ListEvents.click,[n,e])},"enter+ctrl":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!0,!1),t.events.fire(p.ListEvents.click,[n,e])}};h.isIE()&&(delete(i=r({up:i.arrowUp,down:i.arrowDown},i)).arrowUp,delete i.arrowDown),this._navigationDestructor=u.addHotkeys(i,e)}},e.prototype._lazyLoad=function(t){var e=t.target.scrollTop,n=Math.round(e/_.defineValue(this.config.itemHeight)),i=this._container.clientHeight/_.defineValue(this.config.itemHeight),r=this.data.dataProxy;r&&r.config&&!this.data.isDataLoaded(n,i+n+r.config.prepare)&&(r.updateUrl(null,{from:n,limit:r.config.limit}),this.data.load(r))},e}(d.View);e.List=g},function(t,e,n){ +/** +* Copyright (c) 2017, Leon Sorokin +* All rights reserved. (MIT Licensed) +* +* domvm.js (DOM ViewModel) +* A thin, fast, dependency-free vdom view layer +* @preserve https://github.com/leeoniya/domvm (v3.2.6, micro build) +*/ +t.exports=function(){"use strict";var t=1,e=2,n=3,i=4,r=5,o="undefined"!=typeof window,s=(o?window:{}).requestAnimationFrame,a={};function l(){}var u=Array.isArray;function c(t){return null!=t}function d(t){return null!=t&&t.constructor===Object}function f(t,e,n,i){t.splice.apply(t,[n,i].concat(e))}function h(t){var e=typeof t;return"string"===e||"number"===e}function p(t){return"function"==typeof t}function v(t){for(var e=arguments,n=1;n0&&n[i-1].type===e?(n[i-1].body+=r.body,n.splice(i--,1)):H(r,t,i,null):H(r,t,i,null))}}(t)}}var R={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,order:!0,lineClamp:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};function F(t,e){return isNaN(e)||R[t]?e:e+"px"}function z(t,e){var n=(t.attrs||a).style,i=e?(e.attrs||a).style:null;if(null==n||h(n))t.el.style.cssText=n;else{for(var r in n){var o=n[r];(null==i||null!=o&&o!==i[r])&&(t.el.style[r]=F(r,o))}if(i)for(var s in i)null==n[s]&&(t.el.style[s]="")}}var V=[];function B(t,e,n,i,r){if(null!=t){var o=n.hooks[e];if(o){if("d"!==e[0]||"i"!==e[1]||"d"!==e[2])return o(n,i);r?D(n.parent)&&o(n,i):V.push([o,n,i])}}}function W(t){var e;if(V.length)for(D(t.node);e=V.shift();)e[0](e[1],e[2])}var $=o?document:null;function U(t){return t.nextSibling}function J(t,e,n){var i=e._node,r=i.vm;if(u(i.body))if((i.flags&M)===M)for(var o=0;o>1]===t)return n;e[n]0&&(i[o]=r[e-1]),r[e]=o)}}for(e=r.length,n=r[e-1];e-- >0;)r[e]=n,n=i[n];return r}(o).map(function(t){return o[t]}),u=0;uc&&(m=null,v=!1):b=!0,c>100&&b&&++w%10==0))for(;D1){var o=1;d(i[1])&&(n=i[1],o=2),e=r===o+1&&(h(i[o])||u(i[o])||n&&(n._flags&A)===A)?i[o]:_(i,o)}return N(t,n,e)}return k.patch=function(t,e){!function(t,e,n){if(null!=e.type){if(null!=t.vm)return;H(e,t.parent,t.idx,null),t.parent.body[t.idx]=e,wt(e,t),n&&D(e),W(O(e))}else{var i=Object.create(t);i.attrs=v({},t.attrs);var r=v(t.attrs,e);if(null!=t._class){var o=r.class;r.class=null!=o&&""!==o?t._class+" "+o:t._class}st(t,i),n&&D(t)}}(this,t,e)},Dt.emit=function(t){var e=this,n=e,i=_(arguments,1).concat(n,n.data);do{var r=e.onemit,o=r?r[t]:null;if(o){o.apply(e,i);break}}while(e=e.parent());Z[t]&&Z[t].apply(e,i)},Dt.onemit=null,Dt.body=function(){return function t(e,n){var i=e.body;if(u(i))for(var r=0;r=48&&e.which<=57||e.which>=65&&e.which<=90?String.fromCharCode(e.which):32!==e.which||i.isIE()?e.key:e.code)&&n.toLowerCase()),o=t._keysStorage[r];if(o)for(var s=0;s=0;s--)n[i].splice(o[s],1)}},t.prototype.exist=function(t){var e=r(t);return!!this._keysStorage[e]},t}();e.keyManager=new o,e.addHotkeys=function(t,n){var i=new Date,r=function(t){return function(e){n&&!1===n()||t(e)}};for(var o in t)e.keyManager.addHotKey(o,r(t[o]),i);return function(){return e.keyManager.removeHotKey(void 0,i)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(4),o=function(){function t(t,e){this._uid=i.uid(),this.config=e||{}}return t.prototype.mount=function(t,e){e&&(this._view=e),t&&this._view&&this._view.mount&&(this._container=r.toNode(t),this._container.tagName?this._view.mount(this._container):this._container.attach&&this._container.attach(this))},t.prototype.unmount=function(){var t=this.getRootView();t&&t.node&&(t.unmount(),this._view=null)},t.prototype.getRootView=function(){return this._view},t.prototype.getRootNode=function(){return this._view&&this._view.node&&this._view.node.el},t.prototype.paint=function(){this._view&&(this._view.node||this._container)&&(this._doNotRepaint=!1,this._view.redraw())},t}();e.View=o,e.toViewLike=function(t){return{getRootView:function(){return t},paint:function(){return t.node&&t.redraw()},mount:function(e){return t.mount(e)}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(10),r=n(6),o=function(){function t(t,e){var n=this;if(this.config=t,this.events=e.events,this._data=e,this._selected=[],this._lastShiftSelectedIndexes=[],this._data.events.on(r.DataEvents.removeAll,function(){n._selected=[]}),"string"==typeof this.config.multiselection){-1===["click","ctrlClick"].indexOf(this.config.multiselection)&&(this.config.multiselection=!1)}this._data.events.on(r.DataEvents.afterRemove,function(t){if(n._selected=n._selected.filter(function(e){return e!==t.id}),!n.config.multiselection||0===n.getId().length){var e=n._data.getId(n._lastSelectedIndex);if(e)n.add(e);else{var i=n._data.getId(n._data.getLength()-1);i&&n.add(i)}}})}return t.prototype.getId=function(){return this.config.multiselection?this._selected:this._selected[0]},t.prototype.getItem=function(){var t=this;if(this._selected.length){var e=this._selected.map(function(e){return t._data.getItem(e)});return this.config.multiselection?e:e[0]}return null},t.prototype.contains=function(t){return t?this._selected.indexOf(t)>-1:this._selected.length>0},t.prototype.remove=function(t){var e=this;if(t)return!t&&!this._selected.length||(t?this._unselectItem(t):(this._selected.forEach(function(t){return e._unselectItem(t)}),!0));this._data.map(function(t){t.$selected=!1,e._selected=[]})},t.prototype.add=function(t,e,n){var r=this;if(this.events.fire(i.SelectionEvents.beforeSelect))return t?void(this.config.multiselection?this._addMulti(t,e,n):this._addSingle(t,e)):(this._selected=[],void this._data.map(function(t){t.$selected=!0,r._selected.push(t.id)}))},t.prototype._addMulti=function(t,e,n){var r=this,o=this._data.getIndex(t);"click"!==this.config.multiselection&&!0!==this.config.multiselection||(n?(this._addWithShift(o),this.events.fire(i.SelectionEvents.afterSelect,[t])):(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[])),"ctrlClick"===this.config.multiselection&&(n||e||(this._data.map(function(t){t.$selected=!1,r._selected=[]}),this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]),n&&(this._addWithShift(o),this.events.fire(i.SelectionEvents.afterSelect,[t])),e&&(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]))},t.prototype._addWithShift=function(t){var e=this;t>=this._lastSelectedIndex&&(this._data.map(function(t,n){-1!==e._lastShiftSelectedIndexes.indexOf(n)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(n)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==n&&t!==e._lastSelectedIndex}))}),this._data.map(function(n,i){i>=e._lastSelectedIndex&&i<=t&&(n.$selected=!0,-1===e._selected.indexOf(n.id)&&e._selected.push(n.id),i!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(i)&&e._lastShiftSelectedIndexes.push(i))})),t<=this._lastSelectedIndex&&(this._data.map(function(t,n){-1!==e._lastShiftSelectedIndexes.indexOf(n)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(n)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==n&&t!==e._lastSelectedIndex}))}),this._data.map(function(n,i){i<=e._lastSelectedIndex&&i>=t&&(n.$selected=!0,-1===e._selected.indexOf(n.id)&&e._selected.push(n.id),i!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(i)&&e._lastShiftSelectedIndexes.push(i))}))},t.prototype._addSingle=function(t,e){this.remove(),this.config&&"ctrlClick"!==this.config.multiselection?this._selectItem(t):e&&this._selectItem(t)},t.prototype._isSelected=function(t){return-1!==this._selected.indexOf(t)},t.prototype._selectItem=function(t){this._selected.push(t),this._data.update(t,{$selected:!0}),this._lastSelectedIndex=this._data.getIndex(t),this.events.fire(i.SelectionEvents.afterSelect,[t])},t.prototype._unselectItem=function(t){return!!this.events.fire(i.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=this._selected.filter(function(e){return e!==t}),this.events.fire(i.SelectionEvents.afterUnSelect,[t]),!0)},t}();e.Selection=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(38);e.getEditor=function(t,e){return new i.InputEditor(t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(15),r=n(16),o=function(){function t(t,e){var n=this;this._list=e,this._config=e.config,this._item=t,this._list.events.on(r.ListEvents.focusChange,function(t,e){n._mode&&e!==n._item.id&&n.endEdit()}),this._initHandlers()}return t.prototype.endEdit=function(){if(this._input){var t=this._input.value;this._list.events.fire(r.ListEvents.beforeEditEnd,[t,this._item.id])?(this._input.removeEventListener("blur",this._handlers.onBlur),this._input.removeEventListener("change",this._handlers.onChange),this._handlers={},this._mode=!1,this._list.events.fire(r.ListEvents.afterEditEnd,[t,this._item.id])):this._input.focus()}},t.prototype.toHTML=function(){this._mode=!0;var t=this._config.itemHeight;return i.el(".dhx_input__wrapper",{},[i.el("div.dhx_input__container",{},[i.el("input.dhx_input",{class:this._item.css?" "+this._item.css:"",style:{height:t,width:"100%",padding:"8px, 12px"},_hooks:{didInsert:this._handlers.didInsert},_key:this._item.id,dhx_id:this._item.id})])])},t.prototype._initHandlers=function(){var t=this;this._handlers={onBlur:function(){t.endEdit()},onChange:function(){t.endEdit()},didInsert:function(e){var n=e.el;t._input=n,n.focus(),n.value=t._item.value,n.setSelectionRange(0,n.value.length),n.addEventListener("change",t._handlers.onChange),n.addEventListener("blur",t._handlers.onBlur)}}},t}();e.InputEditor=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.defineValue=function(t){if(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return parseInt(e.split(/\D+/g)[0],null)}},e.defineUnit=function(t){if(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return e.slice(e.split(/\D+/g)[0].length)}}}])}),window.dhx_legacy){if(window.dhx)for(var key in dhx)dhx_legacy[key]=dhx[key];window.dhx=dhx_legacy,delete window.dhx_legacy} \ No newline at end of file diff --git a/samples/layout/index.html b/samples/layout/index.html index 29cf6c2..b84ed0b 100644 --- a/samples/layout/index.html +++ b/samples/layout/index.html @@ -4,19 +4,21 @@ - + Samples - DHTMLX Layout -
    +

    @@ -46,6 +48,11 @@

    Customization +
  • + + Events + +
  • diff --git a/samples/list/01_init/01_init.html b/samples/list/01_init/01_init.html index bd529b5..5bba7e3 100644 --- a/samples/list/01_init/01_init.html +++ b/samples/list/01_init/01_init.html @@ -6,14 +6,14 @@ - - - + + + - - + + - +
    @@ -45,17 +44,17 @@

    - Init with external data. + Init with external data.

    -
    +
    diff --git a/samples/list/01_init/90_lazyLoad_test.html b/samples/list/01_init/90_lazyLoad_test.html new file mode 100644 index 0000000..ab01ee8 --- /dev/null +++ b/samples/list/01_init/90_lazyLoad_test.html @@ -0,0 +1,82 @@ + + + + + Basic initialization - DHTMLX List + + + + + + + + + + + + + + + +
    +
    + +

    +
    + Basic initialization. +
    +

    +
    +
    +
    +
    +

    Data load:

    +
    +
    +
    + + + + + diff --git a/samples/list/01_init/index.html b/samples/list/01_init/index.html index a6376d6..bb0dbb5 100644 --- a/samples/list/01_init/index.html +++ b/samples/list/01_init/index.html @@ -4,25 +4,24 @@ - + Initialization - DHTMLX List -
    +

    @@ -47,6 +46,11 @@

    Init with external data +
  • + + External data lazy load + +
  • diff --git a/samples/list/02_configuration/01_virtual.html b/samples/list/02_configuration/01_virtual.html index a2e0e19..2a8d561 100644 --- a/samples/list/02_configuration/01_virtual.html +++ b/samples/list/02_configuration/01_virtual.html @@ -6,13 +6,13 @@ - - - + + + - + @@ -42,7 +41,7 @@

    - Setup list height. + Setup list height.

    diff --git a/samples/list/02_configuration/03_item_height.html b/samples/list/02_configuration/03_item_height.html index cd4a483..f32bd1b 100644 --- a/samples/list/02_configuration/03_item_height.html +++ b/samples/list/02_configuration/03_item_height.html @@ -6,20 +6,19 @@ - - - + + + + + - +
    @@ -42,11 +41,11 @@

    - Setup list item height. + Setup list item height.

    -
    +
    diff --git a/samples/list/02_configuration/04_multiselection.html b/samples/list/02_configuration/04_multiselection.html index 6afdcb7..761c3c1 100644 --- a/samples/list/02_configuration/04_multiselection.html +++ b/samples/list/02_configuration/04_multiselection.html @@ -6,20 +6,19 @@ - - - + + + + + - - + + @@ -43,24 +42,24 @@

    - List multiselection. + List multiselection.

    -
    +
    @@ -71,24 +70,25 @@

    diff --git a/samples/list/02_configuration/05_editable.html b/samples/list/02_configuration/05_editable.html index 03865af..197667f 100644 --- a/samples/list/02_configuration/05_editable.html +++ b/samples/list/02_configuration/05_editable.html @@ -6,19 +6,18 @@ - - - + + + + + - + @@ -42,19 +41,19 @@

    - Editable list. + Editable list.

    - +
    -

    Double click a list item to start editing.

    +

    Double click a list item to start editable.

    diff --git a/samples/list/02_configuration/06_drag_mode.html b/samples/list/02_configuration/06_drag_mode.html index ddf4b4d..39a56e9 100644 --- a/samples/list/02_configuration/06_drag_mode.html +++ b/samples/list/02_configuration/06_drag_mode.html @@ -6,19 +6,18 @@ - - - + + + + + - + @@ -42,11 +41,11 @@

    - Setup drag mode. + Setup drag mode.

    - +
    Drag'n'drop to target or both
    diff --git a/samples/list/02_configuration/07_drag_copy.html b/samples/list/02_configuration/07_drag_copy.html index 5e1782e..7efb721 100644 --- a/samples/list/02_configuration/07_drag_copy.html +++ b/samples/list/02_configuration/07_drag_copy.html @@ -6,19 +6,18 @@ - - - + + + + + - + @@ -42,11 +41,11 @@

    - Setup drag copy. + Setup drag copy.

    - +
    Drag'n'drop to target
    diff --git a/samples/list/02_configuration/index.html b/samples/list/02_configuration/index.html index 4340077..80d48d6 100644 --- a/samples/list/02_configuration/index.html +++ b/samples/list/02_configuration/index.html @@ -4,25 +4,24 @@ - + Configuration - DHTMLX List -
    +

    diff --git a/samples/list/03_usage/01_set_active_index.html b/samples/list/03_usage/01_set_active_index.html index 2a6946d..aba6bd5 100644 --- a/samples/list/03_usage/01_set_active_index.html +++ b/samples/list/03_usage/01_set_active_index.html @@ -6,28 +6,28 @@ - - - + + + + + - + @@ -45,11 +41,11 @@

    - Destructor. + Destructor.

    -
    +
    @@ -59,8 +55,8 @@

    diff --git a/samples/list/03_usage/03_edit.html b/samples/list/03_usage/03_edit.html index fe68671..760c776 100644 --- a/samples/list/03_usage/03_edit.html +++ b/samples/list/03_usage/03_edit.html @@ -6,19 +6,18 @@ - - - + + + + + - + @@ -42,11 +41,11 @@

    - Edit items. + Edit items.

    - +
    @@ -59,7 +58,7 @@

    list.selection.add(list.data.getId(0)); document.querySelector("#edit_btn").addEventListener("click", function () { var selectionId = list.selection.getId(); - list.edit(selectionId); + list.editItem(selectionId); }); diff --git a/samples/list/03_usage/04_set_selection.html b/samples/list/03_usage/04_set_selection.html index 069a4aa..7c66dbb 100644 --- a/samples/list/03_usage/04_set_selection.html +++ b/samples/list/03_usage/04_set_selection.html @@ -6,23 +6,22 @@ - - - + + + + + - +
    @@ -49,7 +48,7 @@

    -
    +
    @@ -63,7 +62,7 @@

    var list = new dhx.List("list",{css: "dhx_widget--bordered", template: template, itemHeight: 72}); list.data.load("../common/books.json"); document.querySelector("#selected_item").addEventListener("keyup", function () { - var id = list.data.getId(parseInt(this.value)) + var id = list.data.getId(parseInt(this.value)); list.selection.add(id); }); diff --git a/samples/list/03_usage/05_get_selection.html b/samples/list/03_usage/05_get_selection.html index 02f424a..0f83a55 100644 --- a/samples/list/03_usage/05_get_selection.html +++ b/samples/list/03_usage/05_get_selection.html @@ -6,23 +6,23 @@ - - - + + + + + - +
    @@ -49,7 +49,7 @@

    - +
    @@ -58,7 +58,7 @@

    -
    +
    @@ -66,8 +66,8 @@

    var list = new dhx.List("list", {css: "dhx_widget--bordered", template: template, itemHeight: 72}); list.data.load("../common/books.json"); document.querySelector("#get-selected-index").addEventListener("click", function () { - document.querySelector("#selected_index").value = list.data.getIndex(list.selection.getId()) - }) + document.querySelector("#selected_index").value = list.data.getIndex(list.selection.getId()); + }); diff --git a/samples/list/03_usage/06_add.html b/samples/list/03_usage/06_add.html index a22a6b4..5e64162 100644 --- a/samples/list/03_usage/06_add.html +++ b/samples/list/03_usage/06_add.html @@ -1,181 +1,182 @@ - - -Add - DHTMLX List - - - - - - - - - - - - -
    -
    -

    - +
    diff --git a/samples/list/03_usage/09_filter.html b/samples/list/03_usage/09_filter.html index 6549344..352cb14 100644 --- a/samples/list/03_usage/09_filter.html +++ b/samples/list/03_usage/09_filter.html @@ -6,15 +6,14 @@ - - - - + + + + + + @@ -60,7 +56,7 @@

    - +
    @@ -79,7 +75,7 @@

    var value = event.target.value; if (value) { list.data.filter(function(item) { - return item.value.includes(value); + return item.value.toLowerCase().includes(value.toLowerCase()); }); } else { list.data.filter(); diff --git a/samples/list/03_usage/10_sort.html b/samples/list/03_usage/10_sort.html index 650ef15..3e9a7eb 100644 --- a/samples/list/03_usage/10_sort.html +++ b/samples/list/03_usage/10_sort.html @@ -6,18 +6,17 @@ - - - + + + + + @@ -45,7 +44,7 @@

    - +
    diff --git a/samples/list/03_usage/index.html b/samples/list/03_usage/index.html index 53ef694..ec78771 100644 --- a/samples/list/03_usage/index.html +++ b/samples/list/03_usage/index.html @@ -4,25 +4,24 @@ - + Usage - DHTMLX List -
    +

    diff --git a/samples/list/04_customization/01_custom_styles.html b/samples/list/04_customization/01_custom_styles.html index b422de5..ac0e49b 100644 --- a/samples/list/04_customization/01_custom_styles.html +++ b/samples/list/04_customization/01_custom_styles.html @@ -6,17 +6,18 @@ - - - + + + + + - + @@ -40,11 +41,11 @@

    - Custom styles. + Custom styles.

    -
    +
    diff --git a/samples/list/04_customization/02_custom_item_styles.html b/samples/list/04_customization/02_custom_item_styles.html index 7bb0081..ddd49d0 100644 --- a/samples/list/04_customization/02_custom_item_styles.html +++ b/samples/list/04_customization/02_custom_item_styles.html @@ -6,11 +6,13 @@ - - - + + + + + - + + + +
    +
    + +

    +
    + List events. +
    +

    +
    +
    +
    +
    +
    +
    + + + diff --git a/samples/list/05_events/index.html b/samples/list/05_events/index.html index 149d17e..c3b728d 100644 --- a/samples/list/05_events/index.html +++ b/samples/list/05_events/index.html @@ -4,25 +4,24 @@ - + Events - DHTMLX List -
    +

    @@ -33,7 +32,7 @@

    @@ -32,24 +31,37 @@

    +
    Enable/disable menu item. +

    -
    +
    + +
    @@ -53,9 +59,12 @@

    } else { menu.enable("insert"); } - active = !active; } + document.getElementById("status").addEventListener("click", function () { + var status = menu.isDisabled("insert"); + document.getElementById("value").value = status; + }); diff --git a/samples/menu/03_usage/02_show_hide.html b/samples/menu/03_usage/02_show_hide.html index 65dcb52..c299e61 100644 --- a/samples/menu/03_usage/02_show_hide.html +++ b/samples/menu/03_usage/02_show_hide.html @@ -6,11 +6,13 @@ - - - + + + + + - +
    @@ -32,7 +34,9 @@

    +
    Show/hide menu item. +

    diff --git a/samples/menu/03_usage/03_destructor.html b/samples/menu/03_usage/03_destructor.html index f12b25b..45fe8a0 100644 --- a/samples/menu/03_usage/03_destructor.html +++ b/samples/menu/03_usage/03_destructor.html @@ -6,11 +6,13 @@ - - - + + + + + - +
    @@ -32,7 +34,9 @@

    +
    Destructor. +

    diff --git a/samples/menu/03_usage/04_show_at.html b/samples/menu/03_usage/04_show_at.html index 63a4c21..a06b488 100644 --- a/samples/menu/03_usage/04_show_at.html +++ b/samples/menu/03_usage/04_show_at.html @@ -6,11 +6,13 @@ - - - + + + + + - + @@ -52,10 +66,12 @@

    - Message with html content. +
    + Message with html content. +

    - +
    @@ -66,24 +82,8 @@

    '' + ''; function show() { - dhx.message({ html: "
    " + logo + "dhtmlxMessage
    "}) + dhx.message({ html: "
    " + logo + "dhtmlxMessage
    "}); } - diff --git a/samples/message/01_init/index.html b/samples/message/01_init/index.html index 069de4a..be3e782 100644 --- a/samples/message/01_init/index.html +++ b/samples/message/01_init/index.html @@ -4,7 +4,7 @@ - + Initialization - DHTMLX Message @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Message samples -
  • -
  • - Initialization -
  • +
  • + Message samples +
  • +
  • + Initialization +
  • diff --git a/samples/message/02_configuration/01_message_configuration.html b/samples/message/02_configuration/01_message_configuration.html index 98fd05d..4229492 100644 --- a/samples/message/02_configuration/01_message_configuration.html +++ b/samples/message/02_configuration/01_message_configuration.html @@ -6,40 +6,25 @@ - - - + + + @@ -68,50 +41,49 @@

    - Alert and confirm configuration. +
    + Alert and confirm configuration. +

    - +
    -
    -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    -
    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + +
    -
    - +
    + +
    +
    + + +
    + +
    +
    + +
    - - - - diff --git a/samples/message/02_configuration/04_tooltip_delay.html b/samples/message/02_configuration/04_tooltip_delay.html index 70f864d..e73db73 100644 --- a/samples/message/02_configuration/04_tooltip_delay.html +++ b/samples/message/02_configuration/04_tooltip_delay.html @@ -6,9 +6,9 @@ - - - + + +
    @@ -31,12 +46,12 @@

    - Confirm custom styles. +
    + Confirm custom styles. +

    -
    - - + - \ No newline at end of file diff --git a/samples/message/03_customization/03_alert_custom_styles.html b/samples/message/03_customization/03_alert_custom_styles.html index 6b98fcd..486fbe8 100644 --- a/samples/message/03_customization/03_alert_custom_styles.html +++ b/samples/message/03_customization/03_alert_custom_styles.html @@ -6,10 +6,27 @@ - - - + + + +
    @@ -31,13 +48,14 @@

    - Alert custom styles. +
    + Alert custom styles. +

    -
    +
    -
    - diff --git a/samples/message/03_customization/04_message_colors.html b/samples/message/03_customization/04_message_colors.html index e9bafa5..7f28341 100644 --- a/samples/message/03_customization/04_message_colors.html +++ b/samples/message/03_customization/04_message_colors.html @@ -6,9 +6,9 @@ - - - + + + @@ -31,10 +31,12 @@

    - Message system colors. +
    + Message system colors. +

    - +
    -
    - -
    - - + document.getElementById("show").addEventListener("click", show); + - + diff --git a/samples/popup/02_usage/04_auto_positioning.html b/samples/popup/02_usage/04_auto_positioning.html index 38b9ca2..e52d2d6 100644 --- a/samples/popup/02_usage/04_auto_positioning.html +++ b/samples/popup/02_usage/04_auto_positioning.html @@ -6,80 +6,56 @@ - - - + + + + .dhx_form { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + width: 100%; + } + .dhx_form-group { + width: 220px; + } + .box { + width: 200px; + height: 200px; + border: 1px solid #dedede; + display: inline-block; + text-align: center; + line-height: 200px; + } + .box--center { + position: absolute; + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + } + .dhx_sample-container { + position: relative; + margin: 0; + display: flex; + flex-direction: column; + justify-content: space-around; + min-width: 100%; + height: calc(100vh - 121px); + } + .container-top, + .container-bottom { + flex: 1 1 auto; + display: flex; + justify-content: space-between; + } + .container-bottom { + align-items: flex-end; + } +
    @@ -101,17 +77,14 @@

    - Auto posititoning. +
    + Auto posititoning. +

    -
    +
    -
    +
    @@ -158,12 +136,10 @@

    }); popup4.attachHTML(html); - var config = { centering: true, mode: "bottom" }; - document.getElementById("form-controls").addEventListener("change", function(e) { if (e.target.id === "centering") { config.centering = e.target.checked; @@ -171,7 +147,6 @@

    config[e.target.id] = e.target.value; } }); - var targetNodes = document.querySelectorAll(".box"); function show() { popup.show(targetNodes[0], config); diff --git a/samples/popup/02_usage/index.html b/samples/popup/02_usage/index.html index 9b8594e..9e30919 100644 --- a/samples/popup/02_usage/index.html +++ b/samples/popup/02_usage/index.html @@ -4,7 +4,7 @@ - + Usage - DHTMLX Popup @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Popup samples -
  • -
  • - Usage -
  • +
  • + Popup samples +
  • +
  • + Usage +
  • diff --git a/samples/popup/03_customization/01_custom_css.html b/samples/popup/03_customization/01_custom_css.html index 578a96e..4713d27 100644 --- a/samples/popup/03_customization/01_custom_css.html +++ b/samples/popup/03_customization/01_custom_css.html @@ -6,12 +6,37 @@ - - - + + + @@ -34,51 +59,23 @@

    - Custom css. +
    + Custom css. +

    - -
    + +
    - - diff --git a/samples/popup/03_customization/index.html b/samples/popup/03_customization/index.html index bca2e5f..bb4d0aa 100644 --- a/samples/popup/03_customization/index.html +++ b/samples/popup/03_customization/index.html @@ -4,7 +4,7 @@ - + Customization - DHTMLX Popup @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Popup samples -
  • -
  • - Customization -
  • +
  • + Popup samples +
  • +
  • + Customization +
  • diff --git a/samples/popup/04_events/01_events.html b/samples/popup/04_events/01_events.html index 497e45e..4d0b5c6 100644 --- a/samples/popup/04_events/01_events.html +++ b/samples/popup/04_events/01_events.html @@ -7,9 +7,9 @@ - - - + + + @@ -33,10 +33,12 @@

    - Events. +
    + Events. +

    - + +
    + +
    + + \ No newline at end of file diff --git a/samples/sidebar/03_usage/03_destructor.html b/samples/sidebar/03_usage/03_destructor.html index 483e0ce..b20768a 100644 --- a/samples/sidebar/03_usage/03_destructor.html +++ b/samples/sidebar/03_usage/03_destructor.html @@ -1,79 +1,79 @@ - - - - Destructor - DHTMLX Sidebar - - - - - - - - - - - - -
    -
    - +

    +
    Destructor. -

    -
    + +

    + -
    - -
    -
    - -
    - - - +
    + +
    +
    + +
    + + \ No newline at end of file diff --git a/samples/sidebar/03_usage/04_toggle.html b/samples/sidebar/03_usage/04_toggle.html index 3392f0b..5e32baf 100644 --- a/samples/sidebar/03_usage/04_toggle.html +++ b/samples/sidebar/03_usage/04_toggle.html @@ -1,78 +1,79 @@ - - - - Toggle - DHTMLX Sidebar - - - - - - - - - - - - -
    -
    - +

    +
    Toggle. -

    +
    + + +
    +
    +
    - -
    - -
    -
    - -
    - - +
    + +
    + + \ No newline at end of file diff --git a/samples/sidebar/03_usage/05_collapse_expand.html b/samples/sidebar/03_usage/05_collapse_expand.html new file mode 100644 index 0000000..24b3db4 --- /dev/null +++ b/samples/sidebar/03_usage/05_collapse_expand.html @@ -0,0 +1,79 @@ + + + + + Collapse/Expand - DHTMLX Sidebar + + + + + + + + + + + + + +
    +
    + +

    +
    + Collapse/Expand. +
    +

    +
    +
    +
    + + +
    +
    + +
    + + + diff --git a/samples/sidebar/03_usage/06_add.html b/samples/sidebar/03_usage/06_add.html new file mode 100644 index 0000000..56b9108 --- /dev/null +++ b/samples/sidebar/03_usage/06_add.html @@ -0,0 +1,87 @@ + + + + + Data add - DHTMLX Sidebar + + + + + + + + + + + + +
    +
    + +

    +
    + Data add. +
    +

    +
    +
    +
    + + +
    +
    + +
    + + + diff --git a/samples/sidebar/03_usage/07_update.html b/samples/sidebar/03_usage/07_update.html new file mode 100644 index 0000000..97c8e79 --- /dev/null +++ b/samples/sidebar/03_usage/07_update.html @@ -0,0 +1,93 @@ + + + + + Data update - DHTMLX Sidebar + + + + + + + + + + + + + +
    +
    + +

    +
    + Data update. +
    +

    +
    +
    +
    + + +
    +
    + +
    + + + diff --git a/samples/sidebar/03_usage/08_remove.html b/samples/sidebar/03_usage/08_remove.html new file mode 100644 index 0000000..e161afd --- /dev/null +++ b/samples/sidebar/03_usage/08_remove.html @@ -0,0 +1,85 @@ + + + + + Data remove - DHTMLX Sidebar + + + + + + + + + + + + + +
    +
    + +

    +
    + Data remove. +
    +

    +
    +
    +
    + + +
    +
    + +
    + + + diff --git a/samples/sidebar/03_usage/index.html b/samples/sidebar/03_usage/index.html index 75fa64d..40d3eeb 100644 --- a/samples/sidebar/03_usage/index.html +++ b/samples/sidebar/03_usage/index.html @@ -4,25 +4,24 @@ - + Usage - DHTMLX Sidebar -
    +

    @@ -52,19 +51,24 @@

    Toggle +
  • + + Collapse/Expand + +
  • - + Data add
  • - + Data update
  • - + Data remove
  • diff --git a/samples/sidebar/04_customization/01_custom_css.html b/samples/sidebar/04_customization/01_custom_css.html index 25281e7..3a0e1e1 100644 --- a/samples/sidebar/04_customization/01_custom_css.html +++ b/samples/sidebar/04_customization/01_custom_css.html @@ -1,60 +1,66 @@ - - - Custom css - DHTMLX Sidebar - - - - - - - - - - - - -
    -
    - +

    +
    Custom css. -

    -
    +

    + +
    -
    - -
    - - - - +
    + +
    + + \ No newline at end of file diff --git a/samples/sidebar/04_customization/index.html b/samples/sidebar/04_customization/index.html index ffed188..6340c04 100644 --- a/samples/sidebar/04_customization/index.html +++ b/samples/sidebar/04_customization/index.html @@ -4,25 +4,24 @@ - + Customization - DHTMLX Sidebar -
    +

    diff --git a/samples/sidebar/05_events/01_events.html b/samples/sidebar/05_events/01_events.html index dfe0570..e1df729 100644 --- a/samples/sidebar/05_events/01_events.html +++ b/samples/sidebar/05_events/01_events.html @@ -1,106 +1,117 @@ + + + Events - DHTMLX Sidebar + + + + + + + + + + + - - - -
    -
    - +

    +
    Events. -

    -
    +

    + +
    -
    - -
    - -
    -
    -
    - +
    + +
    + + +
    +
    +
    + - + function toggle() { + sidebar.toggle() + } + function clearContainer() { + eventsContainer.innerHTML = ''; + counter = 1; + } + + \ No newline at end of file diff --git a/samples/sidebar/05_events/index.html b/samples/sidebar/05_events/index.html index 309a8c9..25f2abd 100644 --- a/samples/sidebar/05_events/index.html +++ b/samples/sidebar/05_events/index.html @@ -4,25 +4,24 @@ - + Events - DHTMLX Sidebar -
    +

    diff --git a/samples/sidebar/common/ava.png b/samples/sidebar/common/ava.png new file mode 100644 index 0000000..5a989dc Binary files /dev/null and b/samples/sidebar/common/ava.png differ diff --git a/samples/sidebar/common/avatars/Avatar_01.jpg b/samples/sidebar/common/avatars/Avatar_01.jpg new file mode 100644 index 0000000..4f77f9d Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_01.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_02.jpg b/samples/sidebar/common/avatars/Avatar_02.jpg new file mode 100644 index 0000000..5758799 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_02.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_03.jpg b/samples/sidebar/common/avatars/Avatar_03.jpg new file mode 100644 index 0000000..a2bb330 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_03.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_04.jpg b/samples/sidebar/common/avatars/Avatar_04.jpg new file mode 100644 index 0000000..9f4c3e2 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_04.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_05.jpg b/samples/sidebar/common/avatars/Avatar_05.jpg new file mode 100644 index 0000000..9015079 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_05.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_06.jpg b/samples/sidebar/common/avatars/Avatar_06.jpg new file mode 100644 index 0000000..345ea1e Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_06.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_07.jpg b/samples/sidebar/common/avatars/Avatar_07.jpg new file mode 100644 index 0000000..109e86a Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_07.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_08.jpg b/samples/sidebar/common/avatars/Avatar_08.jpg new file mode 100644 index 0000000..0bbb4b2 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_08.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_09.jpg b/samples/sidebar/common/avatars/Avatar_09.jpg new file mode 100644 index 0000000..25cc906 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_09.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_10.jpg b/samples/sidebar/common/avatars/Avatar_10.jpg new file mode 100644 index 0000000..8db2347 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_10.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_11.jpg b/samples/sidebar/common/avatars/Avatar_11.jpg new file mode 100644 index 0000000..7e23d61 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_11.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_12.jpg b/samples/sidebar/common/avatars/Avatar_12.jpg new file mode 100644 index 0000000..e17b0de Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_12.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_13.jpg b/samples/sidebar/common/avatars/Avatar_13.jpg new file mode 100644 index 0000000..763d5fb Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_13.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_14.jpg b/samples/sidebar/common/avatars/Avatar_14.jpg new file mode 100644 index 0000000..edca1ef Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_14.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_15.jpg b/samples/sidebar/common/avatars/Avatar_15.jpg new file mode 100644 index 0000000..4ffa242 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_15.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_16.jpg b/samples/sidebar/common/avatars/Avatar_16.jpg new file mode 100644 index 0000000..84988c8 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_16.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_17.jpg b/samples/sidebar/common/avatars/Avatar_17.jpg new file mode 100644 index 0000000..2c37c22 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_17.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_18.jpg b/samples/sidebar/common/avatars/Avatar_18.jpg new file mode 100644 index 0000000..f27723e Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_18.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_19.jpg b/samples/sidebar/common/avatars/Avatar_19.jpg new file mode 100644 index 0000000..ac20ac4 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_19.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_20.jpg b/samples/sidebar/common/avatars/Avatar_20.jpg new file mode 100644 index 0000000..5b5e5da Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_20.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_21.jpg b/samples/sidebar/common/avatars/Avatar_21.jpg new file mode 100644 index 0000000..f9dc726 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_21.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_22.jpg b/samples/sidebar/common/avatars/Avatar_22.jpg new file mode 100644 index 0000000..9ca5c97 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_22.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_23.jpg b/samples/sidebar/common/avatars/Avatar_23.jpg new file mode 100644 index 0000000..3f8c7bf Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_23.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_24.jpg b/samples/sidebar/common/avatars/Avatar_24.jpg new file mode 100644 index 0000000..d13b310 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_24.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_25.jpg b/samples/sidebar/common/avatars/Avatar_25.jpg new file mode 100644 index 0000000..0f8f655 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_25.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_26.jpg b/samples/sidebar/common/avatars/Avatar_26.jpg new file mode 100644 index 0000000..8c7cce3 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_26.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_27.jpg b/samples/sidebar/common/avatars/Avatar_27.jpg new file mode 100644 index 0000000..47ab314 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_27.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_28.jpg b/samples/sidebar/common/avatars/Avatar_28.jpg new file mode 100644 index 0000000..89ee513 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_28.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_29.jpg b/samples/sidebar/common/avatars/Avatar_29.jpg new file mode 100644 index 0000000..65e9aec Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_29.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_30.jpg b/samples/sidebar/common/avatars/Avatar_30.jpg new file mode 100644 index 0000000..40d8906 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_30.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_31.jpg b/samples/sidebar/common/avatars/Avatar_31.jpg new file mode 100644 index 0000000..00024c4 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_31.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_32.jpg b/samples/sidebar/common/avatars/Avatar_32.jpg new file mode 100644 index 0000000..97d3e63 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_32.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_33.jpg b/samples/sidebar/common/avatars/Avatar_33.jpg new file mode 100644 index 0000000..1fb7146 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_33.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_34.jpg b/samples/sidebar/common/avatars/Avatar_34.jpg new file mode 100644 index 0000000..1b98f7a Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_34.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_35.jpg b/samples/sidebar/common/avatars/Avatar_35.jpg new file mode 100644 index 0000000..5e0939e Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_35.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_36.jpg b/samples/sidebar/common/avatars/Avatar_36.jpg new file mode 100644 index 0000000..1252e17 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_36.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_37.jpg b/samples/sidebar/common/avatars/Avatar_37.jpg new file mode 100644 index 0000000..70d3389 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_37.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_38.jpg b/samples/sidebar/common/avatars/Avatar_38.jpg new file mode 100644 index 0000000..0157673 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_38.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_39.jpg b/samples/sidebar/common/avatars/Avatar_39.jpg new file mode 100644 index 0000000..cdd0ace Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_39.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_40.jpg b/samples/sidebar/common/avatars/Avatar_40.jpg new file mode 100644 index 0000000..90cde46 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_40.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_41.jpg b/samples/sidebar/common/avatars/Avatar_41.jpg new file mode 100644 index 0000000..d39a96f Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_41.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_42.jpg b/samples/sidebar/common/avatars/Avatar_42.jpg new file mode 100644 index 0000000..8071755 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_42.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_43.jpg b/samples/sidebar/common/avatars/Avatar_43.jpg new file mode 100644 index 0000000..309980f Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_43.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_44.jpg b/samples/sidebar/common/avatars/Avatar_44.jpg new file mode 100644 index 0000000..ed252a0 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_44.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_45.jpg b/samples/sidebar/common/avatars/Avatar_45.jpg new file mode 100644 index 0000000..370e15b Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_45.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_46.jpg b/samples/sidebar/common/avatars/Avatar_46.jpg new file mode 100644 index 0000000..f3481b4 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_46.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_47.jpg b/samples/sidebar/common/avatars/Avatar_47.jpg new file mode 100644 index 0000000..1d6e370 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_47.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_48.jpg b/samples/sidebar/common/avatars/Avatar_48.jpg new file mode 100644 index 0000000..fded440 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_48.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_49.jpg b/samples/sidebar/common/avatars/Avatar_49.jpg new file mode 100644 index 0000000..871287e Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_49.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_50.jpg b/samples/sidebar/common/avatars/Avatar_50.jpg new file mode 100644 index 0000000..7bd6e2b Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_50.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_51.jpg b/samples/sidebar/common/avatars/Avatar_51.jpg new file mode 100644 index 0000000..9b8250c Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_51.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_52.jpg b/samples/sidebar/common/avatars/Avatar_52.jpg new file mode 100644 index 0000000..e56ba85 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_52.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_53.jpg b/samples/sidebar/common/avatars/Avatar_53.jpg new file mode 100644 index 0000000..ea3fabd Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_53.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_54.jpg b/samples/sidebar/common/avatars/Avatar_54.jpg new file mode 100644 index 0000000..f9f87fb Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_54.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_55.jpg b/samples/sidebar/common/avatars/Avatar_55.jpg new file mode 100644 index 0000000..9104a2d Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_55.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_56.jpg b/samples/sidebar/common/avatars/Avatar_56.jpg new file mode 100644 index 0000000..39ad093 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_56.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_57.jpg b/samples/sidebar/common/avatars/Avatar_57.jpg new file mode 100644 index 0000000..06fad9c Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_57.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_58.jpg b/samples/sidebar/common/avatars/Avatar_58.jpg new file mode 100644 index 0000000..770d8ed Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_58.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_59.jpg b/samples/sidebar/common/avatars/Avatar_59.jpg new file mode 100644 index 0000000..6caa74f Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_59.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_60.jpg b/samples/sidebar/common/avatars/Avatar_60.jpg new file mode 100644 index 0000000..4c01b42 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_60.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_61.jpg b/samples/sidebar/common/avatars/Avatar_61.jpg new file mode 100644 index 0000000..eadd162 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_61.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_62.jpg b/samples/sidebar/common/avatars/Avatar_62.jpg new file mode 100644 index 0000000..8142248 Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_62.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_63.jpg b/samples/sidebar/common/avatars/Avatar_63.jpg new file mode 100644 index 0000000..544eaec Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_63.jpg differ diff --git a/samples/sidebar/common/avatars/Avatar_64.jpg b/samples/sidebar/common/avatars/Avatar_64.jpg new file mode 100644 index 0000000..5819fae Binary files /dev/null and b/samples/sidebar/common/avatars/Avatar_64.jpg differ diff --git a/samples/sidebar/common/sidebar.css b/samples/sidebar/common/sidebar.css new file mode 100644 index 0000000..762d283 --- /dev/null +++ b/samples/sidebar/common/sidebar.css @@ -0,0 +1,28 @@ +.dhx_sample-container { + height: calc(100vh - 61px); + margin-top: 0; + border-left: 1px solid #D7D7D7; + border-right: 1px solid #D7D7D7; +} + +.dhx_sample-container__widget { + width: fit-content; + height: calc(100vh - 61px); +} + +.dhx_sample-container__result { + width: 100%; + height: calc(100vh - 61px); +} + +.dhx_textarea { + width: calc(100% - 40px); + height: calc(100% - 40px); + font-size: 18px; + border: none; + resize: none; + padding: 20px; +} +.dhx_textarea:focus { + outline: 0; +} \ No newline at end of file diff --git a/samples/sidebar/index.html b/samples/sidebar/index.html index 180f41e..24b4596 100644 --- a/samples/sidebar/index.html +++ b/samples/sidebar/index.html @@ -4,19 +4,21 @@ - + Samples - DHTMLX Sidebar -
    +

    diff --git a/samples/slider/01_init/01_init.html b/samples/slider/01_init/01_init.html index 570e510..d95c594 100644 --- a/samples/slider/01_init/01_init.html +++ b/samples/slider/01_init/01_init.html @@ -7,9 +7,9 @@ - - - + + + @@ -49,10 +49,12 @@

    - Vertical mode of the Slider. +
    + Vertical mode of the Slider. +

    -
    +
    diff --git a/samples/slider/01_init/03_range.html b/samples/slider/01_init/03_range.html index 520dbde..00a6905 100644 --- a/samples/slider/01_init/03_range.html +++ b/samples/slider/01_init/03_range.html @@ -7,9 +7,9 @@ - - - + + + + + + +
    +
    + +

    +
    + Tooltip for the Slider. +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/samples/slider/02_configuration/03_scale.html b/samples/slider/02_configuration/03_scale.html index 46aead8..ad2dbac 100644 --- a/samples/slider/02_configuration/03_scale.html +++ b/samples/slider/02_configuration/03_scale.html @@ -7,16 +7,16 @@ - - - + + + - + @@ -39,10 +39,12 @@

    - Slider with a scale. +
    + Slider with a scale. +

    -
    +
    @@ -72,7 +74,7 @@

    var majorTickRange = majorTicks.value > 0 ? majorTicks.value : 0; slider.destructor(); slider = new dhx.Slider("slider", {tick: tickRange, majorTick: majorTickRange, min: 0, max: 100, step: 1, tickTemplate: tickTemplate}); - }) + }); diff --git a/samples/slider/02_configuration/04_custom_scale.html b/samples/slider/02_configuration/04_custom_scale.html index 121e1dd..01140b3 100644 --- a/samples/slider/02_configuration/04_custom_scale.html +++ b/samples/slider/02_configuration/04_custom_scale.html @@ -7,16 +7,16 @@ - - - + + + - + @@ -39,17 +39,18 @@

    - Custom scale. +
    + Custom scale. +

    -
    +
    -
    - - + + + @@ -42,43 +42,46 @@

    - Slider label. +
    + Slider label. +

    - +
    -
    - - -
    -
    - - -
    + +
    -
    diff --git a/samples/slider/02_configuration/index.html b/samples/slider/02_configuration/index.html index d745f5b..8c1b3c1 100644 --- a/samples/slider/02_configuration/index.html +++ b/samples/slider/02_configuration/index.html @@ -4,7 +4,7 @@ - + Configuration - DHTMLX Slider @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Slider samples -
  • -
  • - Configuration -
  • +
  • + Slider samples +
  • +
  • + Configuration +
  • @@ -38,8 +37,8 @@

  • - - Thumb label for the Slider + + Tooltip for the Slider
  • diff --git a/samples/slider/03_usage/01_disable_enable.html b/samples/slider/03_usage/01_disable_enable.html index 92f42ed..59319fc 100644 --- a/samples/slider/03_usage/01_disable_enable.html +++ b/samples/slider/03_usage/01_disable_enable.html @@ -7,9 +7,9 @@ - - - + + + + + +
    +
    + +

    +
    + Is disabled slider. +
    +

    +
    +
    +
    + + + + +
    +
    +
    +
    + + + diff --git a/samples/slider/03_usage/index.html b/samples/slider/03_usage/index.html index f9c4e23..e346ced 100644 --- a/samples/slider/03_usage/index.html +++ b/samples/slider/03_usage/index.html @@ -4,7 +4,7 @@ - + Usage - DHTMLX Slider @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Slider samples -
  • -
  • - Usage -
  • +
  • + Slider samples +
  • +
  • + Usage +
  • @@ -47,6 +46,11 @@

    Get slider value +
  • + + Is disabled slider + +
  • diff --git a/samples/slider/04_customization/01_custom_colors.html b/samples/slider/04_customization/01_custom_colors.html index a4914ad..f395122 100644 --- a/samples/slider/04_customization/01_custom_colors.html +++ b/samples/slider/04_customization/01_custom_colors.html @@ -6,9 +6,9 @@ - - - + + + @@ -39,7 +42,9 @@

    - Basic initialization. +
    + Basic initialization. +

    diff --git a/samples/tabbar/01_init/02_attach.html b/samples/tabbar/01_init/02_attach.html index 06e57af..9507968 100644 --- a/samples/tabbar/01_init/02_attach.html +++ b/samples/tabbar/01_init/02_attach.html @@ -6,30 +6,22 @@ - - - + + + + + - - - - - + + + + + @@ -120,7 +110,9 @@

    - Attach. +
    + Attach. +

    @@ -171,9 +163,9 @@

    gap: "10px" }); dataview.data.parse(dataset); - tabbar.cell("dataview").attach(dataview); + tabbar.getCell("dataview").attach(dataview); list.data.load("../common/library.json").then(function() { - tabbar.cell("list").attach(list); + tabbar.getCell("list").attach(list); }); diff --git a/samples/tabbar/01_init/03_attach_html.html b/samples/tabbar/01_init/03_attach_html.html index c3a53cc..14d4af7 100644 --- a/samples/tabbar/01_init/03_attach_html.html +++ b/samples/tabbar/01_init/03_attach_html.html @@ -6,16 +6,19 @@ - - - + + + + + @@ -39,7 +42,9 @@

    - Attach html. +
    + Attach html. +

    @@ -59,10 +64,10 @@

    { id: "rome", tab: "Rome" }, ] }); - tabbar.cell("vilnius").attachHTML("

    Vilnius(Lithuanian pronunciation: [ˈvʲɪlʲnʲʊs] , see also other names) is the capital of Lithuania and its largest city, with a population of 574,147 as of 2018. Vilnius is in the southeast part of Lithuania and is the second largest city in the Baltic states. Vilnius is the seat of the main government institutions of Lithuania and the Vilnius District Municipality.

    "); - tabbar.cell("paris").attachHTML("

    Paris (French pronunciation: ​[paʁi] is the capital and most populous city of France, with an area of 105 square kilometres (41 square miles) and an official estimated population of 2,140,526 residents as of 1 January 2019. Since the 17th century, Paris has been one of Europe's major centres of finance, diplomacy, commerce, fashion, science, as well as the arts. The City of Paris is the centre and seat of government of the Île-de-France, or Paris Region, which has an estimated official 2019 population of 12,213,364, or about 18 percent of the population of France.

    "); - tabbar.cell("london").attachHTML("

    London is the capital and largest city of both England and the United Kingdom, as well as the largest city within the European Union. Standing on the River Thames in the south-east of England, at the head of its 50-mile (80 km) estuary leading to the North Sea, London has been a major settlement for two millennia. Londinium was founded by the Romans

    "); - tabbar.cell("rome").attachHTML("

    Rome (Latin and Italian: Roma [ˈroːma] is the capital city and a special comune of Italy (named Comune di Roma Capitale). Rome also serves as the capital of the Lazio region. With 2,872,800 residents in 1,285 km2 (496.1 sq mi), it is also the country's most populated comune. It is the fourth most populous city in the European Union by population within city limits. It is the centre of the Metropolitan City of Rome, which has a population of 4,355,725 residents, thus making it the most populous metropolitan city in Italy.

    "); + tabbar.getCell("vilnius").attachHTML("

    Vilnius(Lithuanian pronunciation: [ˈvʲɪlʲnʲʊs] , see also other names) is the capital of Lithuania and its largest city, with a population of 574,147 as of 2018. Vilnius is in the southeast part of Lithuania and is the second largest city in the Baltic states. Vilnius is the seat of the main government institutions of Lithuania and the Vilnius District Municipality.

    "); + tabbar.getCell("paris").attachHTML("

    Paris (French pronunciation: ​[paʁi] is the capital and most populous city of France, with an area of 105 square kilometres (41 square miles) and an official estimated population of 2,140,526 residents as of 1 January 2019. Since the 17th century, Paris has been one of Europe's major centres of finance, diplomacy, commerce, fashion, science, as well as the arts. The City of Paris is the centre and seat of government of the Île-de-France, or Paris Region, which has an estimated official 2019 population of 12,213,364, or about 18 percent of the population of France.

    "); + tabbar.getCell("london").attachHTML("

    London is the capital and largest city of both England and the United Kingdom, as well as the largest city within the European Union. Standing on the River Thames in the south-east of England, at the head of its 50-mile (80 km) estuary leading to the North Sea, London has been a major settlement for two millennia. Londinium was founded by the Romans

    "); + tabbar.getCell("rome").attachHTML("

    Rome (Latin and Italian: Roma [ˈroːma] is the capital city and a special comune of Italy (named Comune di Roma Capitale). Rome also serves as the capital of the Lazio region. With 2,872,800 residents in 1,285 km2 (496.1 sq mi), it is also the country's most populated comune. It is the fourth most populous city in the European Union by population within city limits. It is the centre of the Metropolitan City of Rome, which has a population of 4,355,725 residents, thus making it the most populous metropolitan city in Italy.

    "); diff --git a/samples/tabbar/01_init/index.html b/samples/tabbar/01_init/index.html index 1086399..f5fd0b7 100644 --- a/samples/tabbar/01_init/index.html +++ b/samples/tabbar/01_init/index.html @@ -4,7 +4,7 @@ - + Initialization - DHTMLX Tabbar @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Tabbar samples -
  • -
  • - Initialization -
  • +
  • + Tabbar samples +
  • +
  • + Initialization +
  • diff --git a/samples/tabbar/02_configuration/01_mode.html b/samples/tabbar/02_configuration/01_mode.html index 6965701..52bed51 100644 --- a/samples/tabbar/02_configuration/01_mode.html +++ b/samples/tabbar/02_configuration/01_mode.html @@ -6,24 +6,21 @@ - - - + + + + + - +
    @@ -45,27 +42,33 @@

    - Mode. +
    + Mode. +

    -
    - - -
    -
    - - -
    -
    - - -
    -
    - - -
    + + + +
    diff --git a/samples/tabbar/02_configuration/02_close_button.html b/samples/tabbar/02_configuration/02_close_button.html index d5e3106..6669e20 100644 --- a/samples/tabbar/02_configuration/02_close_button.html +++ b/samples/tabbar/02_configuration/02_close_button.html @@ -6,16 +6,22 @@ - - - + + + + + @@ -39,27 +45,42 @@

    - Close button. +
    + Close button. +

    -
    - +
    +
    diff --git a/samples/tabbar/02_configuration/03_no_content.html b/samples/tabbar/02_configuration/03_no_content.html index 57bc547..8ccc5d7 100644 --- a/samples/tabbar/02_configuration/03_no_content.html +++ b/samples/tabbar/02_configuration/03_no_content.html @@ -6,10 +6,21 @@ - - - + + + + + +
    @@ -31,13 +42,14 @@

    - Without content. +
    + Without content. +

    -
    + + + + + + +
    +
    + +

    +
    + Disabled tab. +
    +

    +
    +
    +
    +
    +
    + + + diff --git a/samples/tabbar/02_configuration/05_active_tab.html b/samples/tabbar/02_configuration/05_active_tab.html new file mode 100644 index 0000000..5216026 --- /dev/null +++ b/samples/tabbar/02_configuration/05_active_tab.html @@ -0,0 +1,66 @@ + + + + + Active tab - DHTMLX Tabbar + + + + + + + + + + +
    +
    + +

    +
    + Active tab. +
    +

    +
    +
    +
    +
    +
    + + + diff --git a/samples/tabbar/02_configuration/index.html b/samples/tabbar/02_configuration/index.html index 30a293b..b6ab1db 100644 --- a/samples/tabbar/02_configuration/index.html +++ b/samples/tabbar/02_configuration/index.html @@ -4,7 +4,7 @@ - + Configuration - DHTMLX Tabbar @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Tabbar samples -
  • -
  • - Configuration -
  • +
  • + Tabbar samples +
  • +
  • + Configuration +
  • @@ -47,6 +46,16 @@

    Without content +
  • + + Disabled tab + +
  • +
  • + + Active tab + +
  • diff --git a/samples/tabbar/03_usage/01_add_tab.html b/samples/tabbar/03_usage/01_add_tab.html index f947665..d0c6bd1 100644 --- a/samples/tabbar/03_usage/01_add_tab.html +++ b/samples/tabbar/03_usage/01_add_tab.html @@ -6,10 +6,23 @@ - - - + + + + + +
    @@ -31,7 +44,9 @@

    - Add tab. +
    + Add tab. +

    @@ -40,8 +55,7 @@

    -
    - +
    @@ -31,7 +44,9 @@

    - Remove tab. +
    + Remove tab. +

    @@ -43,7 +58,6 @@

    -
    diff --git a/samples/tabbar/03_usage/03_set_active.html b/samples/tabbar/03_usage/03_set_active.html index 0220388..656eafe 100644 --- a/samples/tabbar/03_usage/03_set_active.html +++ b/samples/tabbar/03_usage/03_set_active.html @@ -6,16 +6,19 @@ - - - + + + + + @@ -39,7 +42,9 @@

    - Set active. +
    + Set active. +

    diff --git a/samples/tabbar/03_usage/04_get_active.html b/samples/tabbar/03_usage/04_get_active.html index 15d0048..32b1404 100644 --- a/samples/tabbar/03_usage/04_get_active.html +++ b/samples/tabbar/03_usage/04_get_active.html @@ -6,9 +6,11 @@ - - - + + + + + @@ -42,7 +45,9 @@

    - Get active. +
    + Get active. +

    diff --git a/samples/tabbar/03_usage/05_disable_tab.html b/samples/tabbar/03_usage/05_disable_tab.html new file mode 100644 index 0000000..a196351 --- /dev/null +++ b/samples/tabbar/03_usage/05_disable_tab.html @@ -0,0 +1,77 @@ + + + + + Disable tab - DHTMLX Tabbar + + + + + + + + + + + + +
    +
    + +

    +
    + Disable tab. +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + diff --git a/samples/tabbar/03_usage/06_is_disabled_tab.html b/samples/tabbar/03_usage/06_is_disabled_tab.html new file mode 100644 index 0000000..a54f50d --- /dev/null +++ b/samples/tabbar/03_usage/06_is_disabled_tab.html @@ -0,0 +1,80 @@ + + + + + Is disabled tab - DHTMLX Tabbar + + + + + + + + + + + + +
    +
    + +

    +
    + Is disabled tab. +
    +

    +
    +
    +
    + + + +
    +
    +
    +
    + + + diff --git a/samples/tabbar/03_usage/index.html b/samples/tabbar/03_usage/index.html index ba245dc..49a903c 100644 --- a/samples/tabbar/03_usage/index.html +++ b/samples/tabbar/03_usage/index.html @@ -4,7 +4,7 @@ - + Usage - DHTMLX Tabbar @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Tabbar samples -
  • -
  • - Usage -
  • +
  • + Tabbar samples +
  • +
  • + Usage +
  • @@ -52,6 +51,16 @@

    Get active +
  • + + Disable tab + +
  • +
  • + + Is disabled tab + +
  • diff --git a/samples/tabbar/04_customization/01_custom_css.html b/samples/tabbar/04_customization/01_custom_css.html index 18b57a2..992d577 100644 --- a/samples/tabbar/04_customization/01_custom_css.html +++ b/samples/tabbar/04_customization/01_custom_css.html @@ -6,16 +6,19 @@ - - - + + + + + @@ -39,7 +42,9 @@

    - Custom css. +
    + Custom css. +

    diff --git a/samples/tabbar/04_customization/02_tab_size.html b/samples/tabbar/04_customization/02_tab_size.html index e93631a..4b25908 100644 --- a/samples/tabbar/04_customization/02_tab_size.html +++ b/samples/tabbar/04_customization/02_tab_size.html @@ -6,22 +6,21 @@ - - - + + + @@ -45,10 +44,12 @@

    - Tab size. +
    + Tab size. +

    - +
    @@ -76,11 +77,9 @@

    { tab: "Rome", html: "

    Rome (Latin and Italian: Roma [ˈroːma] is the capital city and a special comune of Italy (named Comune di Roma Capitale). Rome also serves as the capital of the Lazio region. With 2,872,800 residents in 1,285 km2 (496.1 sq mi), it is also the country's most populated comune. It is the fourth most populous city in the European Union by population within city limits. It is the centre of the Metropolitan City of Rome, which has a population of 4,355,725 residents, thus making it the most populous metropolitan city in Italy.

    "} ] }); - function handleChange(id, value){ + function handleChange(id, value) { tabbar.config[id] = value; - // console.log('tabbar.config', cfg) - // tabbar = new dhx.Tabbar("tabbar", cfg) - tabbar.paint() + tabbar.paint(); } diff --git a/samples/tabbar/04_customization/index.html b/samples/tabbar/04_customization/index.html index 81620a9..b81a285 100644 --- a/samples/tabbar/04_customization/index.html +++ b/samples/tabbar/04_customization/index.html @@ -4,7 +4,7 @@ - + Customization - DHTMLX Tabbar @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Tabbar samples -
  • -
  • - Customization -
  • +
  • + Tabbar samples +
  • +
  • + Customization +
  • diff --git a/samples/tabbar/05_events/01_events.html b/samples/tabbar/05_events/01_events.html index 83b8133..6f35513 100644 --- a/samples/tabbar/05_events/01_events.html +++ b/samples/tabbar/05_events/01_events.html @@ -6,9 +6,11 @@ - - - + + + + + @@ -31,7 +33,9 @@

    - Events. +
    + Events. +

    @@ -56,15 +60,16 @@

    var counter = 0; var events = [ "change", - "close" + "afterClose", + "beforeClose" ]; function eventHandler(event, arguments) { - var argsList = ""; - for (var i = 0; i < arguments.length; i++) { - argsList += "
    " + JSON.stringify(arguments[i]) + "
    "; - } - eventsContainer.insertAdjacentHTML("afterBegin", "
    Event " + counter++ + ": " + event + argsList + "
    ") + var argsList = ""; + for (var i = 0; i < arguments.length; i++) { + argsList += "
    " + JSON.stringify(arguments[i]) + "
    "; + } + eventsContainer.insertAdjacentHTML("afterBegin", "
    Event " + counter++ + ": " + event + argsList + "
    "); } events.forEach(function (event) { diff --git a/samples/tabbar/05_events/index.html b/samples/tabbar/05_events/index.html index b72acbf..de7e305 100644 --- a/samples/tabbar/05_events/index.html +++ b/samples/tabbar/05_events/index.html @@ -4,7 +4,7 @@ - + Events - DHTMLX Tabbar @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Tabbar samples -
  • -
  • - Events -
  • +
  • + Tabbar samples +
  • +
  • + Events +
  • diff --git a/samples/tabbar/common/dataview/dataview.min.css b/samples/tabbar/common/dataview/dataview.min.css new file mode 100644 index 0000000..7342b46 --- /dev/null +++ b/samples/tabbar/common/dataview/dataview.min.css @@ -0,0 +1 @@ +.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:-webkit-grab!important;cursor:grab!important}.dhx_no-select--pointer{cursor:pointer}.dhx_no-select--pointer,.dhx_no-select--resize{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"liga";font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{box-sizing:border-box}body{margin:0}.dhx_widget{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_widget--bordered{border:1px solid #e4e4e4}.dhx_widget--border_top{border-top:1px solid #e4e4e4}.dhx_widget--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_widget--border_left{border-left:1px solid #e4e4e4}.dhx_widget--border_right{border-right:1px solid #e4e4e4}.dhx_widget--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget--bg_white{background-color:#fff}.dhx_widget--bg_gray{background-color:#f7f7f7}.dhx_drag-ghost{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;z-index:999;opacity:.6}.dhx_drag-ghost *{box-sizing:border-box}.dhx_drag-ghost .dhx_list-item{list-style-type:none}.dhx_drag-ghost .dhx_list-item--selected{background-color:#fff;box-shadow:inset 0 0 0 0 #0288d1}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:#fff;transition:background-color .2s ease-out}.dhx_drag-ghost .dhx_tree-list-item__icon{position:relative;display:inline;vertical-align:middle;color:rgba(0,0,0,.3);font-size:20px;top:2px}.dhx_drag-ghost .dhx_tree-list-item__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;vertical-align:middle;line-height:20px;color:rgba(0,0,0,.7)}.dhx_drag-ghost .dhx_dataview-item,.dhx_drag-ghost .dhx_grid-cell,.dhx_drag-ghost .dhx_list-item{background-color:#fff;border:1px solid #e4e4e4!important}@font-face{font-family:Roboto;src:url(fonts/roboto-regular-webfont.woff2) format("woff2"),url(fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-medium-webfont.woff2) format("woff2"),url(fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-bold-webfont.woff2) format("woff2"),url(fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}@font-face{font-family:dhxicons;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff")}.dxi:before{font-family:dhxicons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dxi.dxi-alert-circle:before{content:"\F101"}.dxi.dxi-arrow-collapse:before{content:"\F102"}.dxi.dxi-arrow-expand:before{content:"\F103"}.dxi.dxi-blur-off:before{content:"\F104"}.dxi.dxi-blur:before{content:"\F105"}.dxi.dxi-calendar-today:before{content:"\F106"}.dxi.dxi-check:before{content:"\F107"}.dxi.dxi-checkbox-blank-outline:before{content:"\F108"}.dxi.dxi-checkbox-marked-circle:before{content:"\F109"}.dxi.dxi-checkbox-marked:before{content:"\F10A"}.dxi.dxi-chevron-down:before{content:"\F10B"}.dxi.dxi-chevron-left:before{content:"\F10C"}.dxi.dxi-chevron-right:before{content:"\F10D"}.dxi.dxi-chevron-up:before{content:"\F10E"}.dxi.dxi-clock-outline:before{content:"\F10F"}.dxi.dxi-clock:before{content:"\F110"}.dxi.dxi-close-circle:before{content:"\F111"}.dxi.dxi-close:before{content:"\F112"}.dxi.dxi-delete-forever:before{content:"\F113"}.dxi.dxi-delete:before{content:"\F114"}.dxi.dxi-dots-horizontal:before{content:"\F115"}.dxi.dxi-dots-vertical:before{content:"\F116"}.dxi.dxi-download:before{content:"\F117"}.dxi.dxi-eraser:before{content:"\F118"}.dxi.dxi-eye-off:before{content:"\F119"}.dxi.dxi-eye:before{content:"\F11A"}.dxi.dxi-eyedropper-variant:before{content:"\F11B"}.dxi.dxi-file-export:before{content:"\F11C"}.dxi.dxi-file-outline:before{content:"\F11D"}.dxi.dxi-filter-variant:before{content:"\F11E"}.dxi.dxi-folder-open:before{content:"\F11F"}.dxi.dxi-folder:before{content:"\F120"}.dxi.dxi-format-align-center:before{content:"\F121"}.dxi.dxi-format-align-left:before{content:"\F122"}.dxi.dxi-format-align-right:before{content:"\F123"}.dxi.dxi-format-bold:before{content:"\F124"}.dxi.dxi-format-color-fill:before{content:"\F125"}.dxi.dxi-format-color-text:before{content:"\F126"}.dxi.dxi-format-italic:before{content:"\F127"}.dxi.dxi-format-line-spacing:before{content:"\F128"}.dxi.dxi-format-quote-close:before{content:"\F129"}.dxi.dxi-format-quote-open:before{content:"\F12A"}.dxi.dxi-format-strikethrough:before{content:"\F12B"}.dxi.dxi-format-underline:before{content:"\F12C"}.dxi.dxi-format-vertical-align-bottom:before{content:"\F12D"}.dxi.dxi-format-vertical-align-center:before{content:"\F12E"}.dxi.dxi-format-vertical-align-top:before{content:"\F12F"}.dxi.dxi-function-variant:before{content:"\F130"}.dxi.dxi-help-circle-outline:before{content:"\F131"}.dxi.dxi-information-outline:before{content:"\F132"}.dxi.dxi-key:before{content:"\F133"}.dxi.dxi-link-variant-off:before{content:"\F134"}.dxi.dxi-link-variant:before{content:"\F135"}.dxi.dxi-loading:before{content:"\F136"}.dxi.dxi-magnify:before{content:"\F137"}.dxi.dxi-menu-down:before{content:"\F138"}.dxi.dxi-menu-left:before{content:"\F139"}.dxi.dxi-menu-right:before{content:"\F13A"}.dxi.dxi-menu-up:before{content:"\F13B"}.dxi.dxi-minus-box:before{content:"\F13C"}.dxi.dxi-minus:before{content:"\F13D"}.dxi.dxi-numeric:before{content:"\F13E"}.dxi.dxi-pencil:before{content:"\F13F"}.dxi.dxi-plus-circle:before{content:"\F140"}.dxi.dxi-plus:before{content:"\F141"}.dxi.dxi-printer:before{content:"\F142"}.dxi.dxi-redo:before{content:"\F143"}.dxi.dxi-rotate-right:before{content:"\F144"}.dxi.dxi-sort-variant:before{content:"\F145"}.dxi.dxi-table-column-plus-before:before{content:"\F146"}.dxi.dxi-table-column-remove:before{content:"\F147"}.dxi.dxi-table-column:before{content:"\F148"}.dxi.dxi-table-row-plus-after:before{content:"\F149"}.dxi.dxi-table-row-remove:before{content:"\F14A"}.dxi.dxi-table-row:before{content:"\F14B"}.dxi.dxi-undo:before{content:"\F14C"}.dxi.dxi-unfold-more-horizontal:before{content:"\F14D"}.dxi.dxi-vault:before{content:"\F14E"}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:20px}.dxi--small:before{font-size:16px}.dxi--medium:before{font-size:20px}.dxi--large:before{font-size:24px}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;touch-action:manipulation;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:4px}.dhx_button__loading{display:none;position:absolute;left:0;top:0;right:0;bottom:0;justify-content:center;align-items:center}.dhx_button__loading-icon{-webkit-animation:a .9s linear infinite;animation:a .9s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:28px}.dhx_button--circle.dhx_button--size_medium{border-radius:32px}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:6px;padding-right:6px}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:4px;padding-right:4px}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__loading{display:flex}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:4px 12px;font-size:14px;line-height:20px}.dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:16px;margin-top:-8px;margin-left:-8px}.dhx_button--size_medium{padding:6px 16px;text-transform:uppercase;line-height:20px}.dhx_button--size_medium .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:20px;margin-top:-10px;margin-left:-10px}.dhx_button--view_flat{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;color:#fff;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_flat.dhx_button--color_primary{background-color:#0288d1;outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:#35a0da}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:#0288d1;box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_primary:disabled{background-color:#81c4e8}.dhx_button--view_flat.dhx_button--color_secondary{background-color:#4d4d4d;outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:#717171}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:#4d4d4d;box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_secondary:disabled{background-color:#a6a6a6}.dhx_button--view_flat.dhx_button--color_danger{background-color:#ff5252;outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:#ff7575}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:#ff5252;box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_danger:disabled{background-color:#ffa9a9}.dhx_button--view_flat.dhx_button--color_success{background-color:#0ab169;outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:#3bc187}.dhx_button--view_flat.dhx_button--color_success:active{background-color:#0ab169;box-shadow:none}.dhx_button--view_flat.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_success:disabled{background-color:#85d8b4}.dhx_button--view_link{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;border-radius:2px;background:transparent;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_link:focus,.dhx_button--view_link:hover{transition:background-color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_link.dhx_button--color_primary{color:#0288d1;outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:#d9edf8}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:#b8def2}.dhx_button--view_link.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_primary:disabled{color:#81c4e8}.dhx_button--view_link.dhx_button--color_secondary{color:#4d4d4d;outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:#e4e4e4}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:#cdcdcd}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_secondary:disabled{color:#a6a6a6}.dhx_button--view_link.dhx_button--color_danger{color:#ff5252;outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:#ffe5e5}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:#ffcfcf}.dhx_button--view_link.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_danger:disabled{color:#ffa9a9}.dhx_button--view_link.dhx_button--color_success{color:#0ab169;outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:#daf3e9}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:#bae9d5}.dhx_button--view_link.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_success:disabled{color:#85d8b4}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:8px;margin-right:auto}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_form-group{position:relative;display:block;text-align:left;padding-bottom:16px}.dhx_form-group--simplevault{line-height:0;height:100%}.dhx_form-group--simplevault .dhx_label{margin-bottom:4px}.dhx_form-group--textarea{display:flex;flex-direction:column;height:100%}.dhx_form-group--textarea .dhx_input--textarea,.dhx_form-group--textarea .dhx_input__wrapper{height:100%}.dhx_form-group--textarea .dhx_label{min-height:20px;line-height:20px;margin-bottom:4px}.dhx_form-group--inline{display:flex;flex-direction:row;width:100%;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;flex:0 1 auto;max-height:40px;margin-right:16px;margin-bottom:0;text-align:right;width:100%;margin-top:6px;align-self:flex-start}.dhx_form-group--inline .dhx_input__wrapper{flex:0 1 auto;width:300%;height:100%}.dhx_form-group--inline .dhx_label--with-help{justify-content:flex-end}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative;margin-bottom:0}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--no-message-holder{padding-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input__caption,.dhx_form-group--state_error .dhx_label{color:#ff5252}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{box-shadow:inset 0 0 0 1px #ffbaba}.dhx_form-group--state_error .dhx_simplevault-files,.dhx_form-group--state_error .dhx_simplevault-files:focus,.dhx_form-group--state_error .dhx_simplevault__drop-area,.dhx_form-group--state_error .dhx_simplevault__drop-area:focus{border-color:#ffbaba}.dhx_form-group--state_success .dhx_input__caption,.dhx_form-group--state_success .dhx_label{color:#0ab169}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{box-shadow:inset 0 0 0 1px #9de0c3}.dhx_form-group--state_success .dhx_simplevault__drop-area,.dhx_form-group--state_success .dhx_simplevault__drop-area:focus{border-top-color:#9de0c3;border-left-color:#9de0c3;border-right-color:#9de0c3}.dhx_form-group--state_success .dhx_simplevault-files,.dhx_form-group--state_success .dhx_simplevault-files:focus{border-right-color:#9de0c3;border-left-color:#9de0c3;border-bottom-color:#9de0c3}.dhx_form-group--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_form-group .dhx_combobox{margin:0}.dhx_form-group .dhx_slider{padding-bottom:0}.dhx_input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:#f6f6f6;background-clip:padding-box;box-shadow:inset 0 0 0 1px #dfdfdf;border:0;border-radius:2px;outline:0;transition:border-color .2s ease-in,box-shadow .2s ease-in}.dhx_input::-webkit-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input:-ms-input-placeholder,.dhx_input::-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::placeholder{color:rgba(0,0,0,.5)}.dhx_input:focus{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_input--icon-padding{padding-right:24px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{box-shadow:none;background:none;padding-left:0}.dhx_input--textinput:focus{box-shadow:none}.dhx_input__wrapper{width:100%;display:flex;flex-direction:column;position:relative}.dhx_input__wrapper:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_input__container{width:100%;display:inline-block;position:relative}.dhx_input__caption{left:0;bottom:0;max-width:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;font-weight:400;line-height:16px;color:rgba(0,0,0,.5);white-space:wrap;overflow-x:hidden;text-overflow:ellipsis;cursor:default}.dhx_input__icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:4px;z-index:1;color:rgba(0,0,0,.5);pointer-events:none}.dhx_input__icon--color-selected{border-radius:2px}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:20px;line-height:20px}.dhx_label{display:inline-block;width:auto;flex:0 1 auto;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;cursor:pointer;transition:color .2s ease-in,opacity .2s ease-in}.dhx_label:hover{opacity:.8;transition:color .2s ease-out,opacity .2s ease-out}.dhx_label__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_label--with-help{display:flex;align-items:center}.dhx_label-help{margin-left:4px;color:#0288d1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_label-help:focus{outline:none}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__visual-input{display:block;border:2px solid rgba(0,0,0,.5);width:20px;height:20px;background-color:#fff;border-radius:2px;cursor:pointer}.dhx_checkbox .dhx_label{margin-top:4px;margin-bottom:0;width:auto}.dhx_checkbox .dhx_label:after{display:none}.dhx_checkbox .dhx_input__caption{position:static;display:block;-webkit-transform:none;transform:none}.dhx_checkbox.dhx_form-group--inline{display:flex;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_checkbox.dhx_form-group--hidden{display:none}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.dhx_checkbox__input:focus+.dhx_checkbox__visual-input{border-color:#0288d1}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input{background-color:#0288d1;background-position:50%;background-size:cover;border-color:#0288d1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);transition:background-color .2s ease-out}.dhx_radiobutton{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_radiobutton__visual-input{display:block;border:2px solid rgba(0,0,0,.5);bottom:4px;left:0;width:20px;height:20px;background-color:#fff;border-radius:50%}.dhx_radiobutton .dhx_label{margin-top:4px;margin-bottom:0;width:auto;cursor:pointer}.dhx_radiobutton .dhx_input__caption{position:static;display:block}.dhx_radiobutton.dhx_form-group--inline{white-space:nowrap;display:flex;align-items:center}.dhx_radiobutton.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0;padding-top:2px;padding-bottom:2px}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.dhx_radiobutton__input:focus+.dhx_radiobutton__visual-input{border-color:#0288d1}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:#0288d1;border-color:#0288d1;box-shadow:inset 0 0 0 4px #fff;transition:background-color .2s ease-out}.dhx_select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{border:none;border-radius:2px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;font-weight:400;text-align:center;overflow:hidden;position:relative}.dhx_simplevault__drop-area{background-color:#f6f6f6;border:1px solid #dfdfdf;transition:all .2s ease-in;display:flex;width:100%;height:122px;flex-direction:column;justify-content:center;align-items:center;padding:20px}.dhx_simplevault__drop-area--on-drag{border-style:dashed;transition:border .2s ease-out}.dhx_simplevault__icon:before{font-size:40px;color:rgba(0,0,0,.3);transition:color .2s ease-in}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:#0288d1;cursor:pointer}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in,-webkit-transform .2s ease-in}.dhx_simplevault-files{background-color:#f6f6f6;border:1px solid #dfdfdf;border-top:none;transition:all .2s ease-in;width:100%;margin:0;padding:0;list-style:none;max-height:calc(100% - 142px);height:calc(100% - 142px);overflow-y:auto}.dhx_simplevault-files__fixed{max-height:276px}.dhx_simplevault-files__item{position:relative;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;text-align:left;color:rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:1px solid #e4e4e4}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_simplevault-loader{display:flex;justify-content:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:#ededed;-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0;will-change:transform;transition:0ms;z-index:1}.dhx_simplevault-loader .dhx_simplevault__icon:before{color:#0288d1}.dhx_dataview{position:relative;overflow-y:auto;height:100%;max-height:100%}.dhx_dataview--has-scroll .dhx_dataview-row:last-child .dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-bottom:0}.dhx_dataview-row{display:flex;flex-wrap:nowrap;justify-content:flex-start}.dhx_dataview-row .dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-top:0}.dhx_dataview-item{position:relative;flex:0 1 auto;border:1px solid #e4e4e4;padding:8px;transition:box-shadow .2s ease-in}.dhx_dataview-item:not(.dhx_dataview-item--with-gap){border-left:0}.dhx_dataview-item--last-item-in-row:not(.dhx_dataview-item--with-gap){border-right:0}.dhx_dataview-item:focus{outline:none}.dhx_dataview-item:after{content:"";display:block;position:absolute;left:0;right:0;bottom:0;top:0;z-index:1;border:1px solid transparent;transition:opacity .2s ease-in-out,background-color .2s ease-in-out;pointer-events:none}.dhx_dataview-item--focus{box-shadow:inset 0 0 0 1px #a6a6a6;transition:box-shadow .2s ease-out}.dhx_dataview-item--selected{box-shadow:inset 0 0 0 1px #0288d1;transition:box-shadow .2s ease-out}.dhx_dataview-item--drophere:after{background-color:#f7f7f7;opacity:.6}.dhx_dataview-item--dragtarget{opacity:.6}.dhx_dataview-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_dataview-input{padding-left:5px} \ No newline at end of file diff --git a/samples/tabbar/common/dataview/dataview.min.js b/samples/tabbar/common/dataview/dataview.min.js new file mode 100644 index 0000000..7b4a628 --- /dev/null +++ b/samples/tabbar/common/dataview/dataview.min.js @@ -0,0 +1,21 @@ +/* +@license + +undefined v.6.2.3 Professional + +This software is covered by DHTMLX Commercial License. +Usage without proper license is prohibited. + +(c) XB Software. + +*/ +if(window.dhx&&(window.dhx_legacy=dhx,delete window.dhx),function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.dhx=e():t.dhx=e()}(window,function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/codebase/",n(n.s=21)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.all="all",t.level="level",t.leafs="leafs"}(e.TreeFilterType||(e.TreeFilterType={})),function(t){t.top="top",t.bot="bot",t.in="in"}(e.DropPosition||(e.DropPosition={})),function(t){t.afterAdd="afteradd",t.beforeAdd="beforeadd",t.removeAll="removeall",t.beforeRemove="beforeremove",t.afterRemove="afterremove",t.change="change",t.load="load",t.loadError="loaderror"}(e.DataEvents||(e.DataEvents={})),function(t){t.beforeDrag="beforedrag",t.beforeDrop="beforeDrop",t.dragStart="dragstart",t.dragEnd="dragend",t.canDrop="candrop",t.cancelDrop="canceldrop",t.dropComplete="dropcomplete",t.dragOut="dragOut",t.dragIn="dragIn"}(e.DragEvents||(e.DragEvents={})),function(t){t.target="target",t.both="both",t.source="source"}(e.DragMode||(e.DragMode={})),function(t){t.child="child",t.sibling="sibling",t.complex="complex"}(e.DropBehaviour||(e.DropBehaviour={})),function(t){t.json="json",t.csv="csv",t.xml="xml"}(e.DataDriver||(e.DataDriver={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(6),r=n(14);e.isEqualObj=function(t,e){for(var n in t)if(t[n]!==e[n])return!1;return!0},e.naturalCompare=function(t,e){if(isNaN(t)||isNaN(e)){var n=[],i=[];for(t.replace(/(\d+)|(\D+)/g,function(t,e,i){n.push([e||1/0,i||""])}),e.replace(/(\d+)|(\D+)/g,function(t,e,n){i.push([e||1/0,n||""])});n.length&&i.length;){var r=n.shift(),o=i.shift(),s=r[0]-o[0]||r[1].localeCompare(o[1]);if(s)return s}return n.length-i.length}return t-e},e.findByConf=function(t,e){if("function"==typeof e){if(e.call(this,t))return t}else if(e.by&&e.match&&t[e.by]===e.match)return t},e.isDebug=function(){var t=window.dhx;if(void 0!==t)return void 0!==t.debug&&t.debug},e.dhxWarning=function(t){console.warn(t)},e.dhxError=function(t){throw new Error(t)},e.toProxy=function(t){var e=typeof t;return"string"===e?new i.DataProxy(t):"object"===e?t:void 0},e.toDataDriver=function(t){if("string"==typeof t){var e=window.dhx,n=e&&e.dataDrivers||r.dataDrivers;if(n[t])return new n[t];console.warn("Incorrect data driver type:",t),console.warn("Available types:",JSON.stringify(Object.keys(n)))}else if("object"==typeof t)return t},e.copyWithoutInner=function(t,e){var n={};for(var i in t)"$"===i[0]||e&&e[i]||(n[i]=t[i]);return n},e.isTreeCollection=function(t){return Boolean(t.getRoot)},e.hasJsonOrArrayStructure=function(t){if("object"==typeof t)return!0;if("string"!=typeof t)return!1;try{var e=JSON.parse(t);return"[object Object]"===Object.prototype.toString.call(e)||Array.isArray(e)}catch(t){return!1}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=(new Date).valueOf();e.uid=function(){return"u"+r++},e.extend=function t(e,n,i){if(void 0===i&&(i=!0),n)for(var r in n){var o=n[r],s=e[r];!i||"object"!=typeof s||s instanceof Date||s instanceof Array?e[r]=o:t(s,o)}return e},e.copy=function(t,e){var n={};for(var i in t)e&&"$"===i[0]||(n[i]=t[i]);return n},e.naturalSort=function(t){return t.sort(function(t,e){return"string"==typeof t?t.localeCompare(e):t-e})},e.findIndex=function(t,e){for(var n=t.length,i=0;ie.length)return!1;for(var n=0;ne)return[];for(var n=[];t<=e;)n.push(t++);return n},e.isNumeric=function(t){return!isNaN(t-parseFloat(t))},e.downloadFile=function(t,e,n){void 0===n&&(n="text/plain");var i=new Blob([t],{type:n});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(i,e);else{var r=document.createElement("a"),o=URL.createObjectURL(i);r.href=o,r.download=e,document.body.appendChild(r),r.click(),setTimeout(function(){document.body.removeChild(r),window.URL.revokeObjectURL(o)},0)}}},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n-1)return e[n[l]](i,r);o=o.parentNode}return!0}},e.locate=function(t,e){void 0===e&&(e="dhx_id");var n=r(t,e);return n?n.getAttribute(e):""},e.locateNode=r,e.getBox=function(t){var e=t.getBoundingClientRect(),n=document.body,i=window.pageYOffset||n.scrollTop,r=window.pageXOffset||n.scrollLeft;return{top:e.top+i,left:e.left+r,right:n.offsetWidth-e.right,bottom:n.offsetHeight-e.bottom,width:e.right-e.left,height:e.bottom-e.top}};var o,s=-1;function a(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,right:e.right+window.pageXOffset,top:e.top+window.pageYOffset,bottom:e.bottom+window.pageYOffset}}function l(t,e){var n=e.mode===o.bottom||e.mode===o.top?u(t,e):d(t,e),i=n.left,r=n.top;return{left:Math.round(i)+"px",top:Math.round(r)+"px",minWidth:Math.round(e.width)+"px",position:"absolute"}}function c(){return{rightBorder:window.pageXOffset+window.innerWidth,bottomBorder:window.pageYOffset+window.innerHeight}}function u(t,e){var n,r,s=c(),a=s.rightBorder,l=s.bottomBorder-t.bottom-e.height,u=t.top-e.height;if(e.mode===o.bottom?l>=0?r=t.bottom:u>=0&&(r=u):u>=0?r=u:l>=0&&(r=t.bottom),l<0&&u<0){if(e.auto)return d(t,i({},e,{mode:o.right,auto:!1}));r=l>u?t.bottom:u}if(e.centering)n=function(t,e,n){var i=(e-(t.right-t.left))/2,r=t.left-i,o=t.right+i;return r>=0&&o<=n?r:r<0?0:n-e}(t,e.width,a);else{var f=a-t.left-e.width,h=t.right-e.width;n=f>=0?t.left:h>=0?h:h>f?t.left:h}return{left:n,top:r}}function d(t,e){var n,r,s=c(),a=s.rightBorder,l=s.bottomBorder,d=a-t.right-e.width,f=t.left-e.width;if(e.mode===o.right?d>=0?n=t.right:f>=0&&(n=f):f>=0?n=f:d>=0&&(n=t.right),f<0&&d<0){if(e.auto)return u(t,i({},e,{mode:o.bottom,auto:!1}));n=f>d?f:t.right}if(e.centering)r=function(t,e,n){var i=(e-(t.bottom-t.top))/2,r=t.top-i,o=t.bottom+i;return r>=0&&o<=n?r:r<0?0:n-e}(t,e.height,a);else{var h=t.bottom-e.height,p=l-t.top-e.height;r=p>=0?t.top:h>0?h:h>p?h:t.top}return{left:n,top:r}}e.getScrollbarWidth=function(){if(s>-1)return s;var t=document.createElement("div");return document.body.appendChild(t),t.style.cssText="position: absolute;left: -99999px;overflow:scroll;width: 100px;height: 100px;",s=t.offsetWidth-t.clientWidth,document.body.removeChild(t),s},e.fitPosition=function(t,e){return l(a(t),e)},e.isIE=function(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1},e.getRealPosition=a,function(t){t.left="left",t.right="right",t.bottom="bottom",t.top="top"}(o=e.Position||(e.Position={})),e.calculatePosition=l},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(0)),i(n(12)),i(n(31)),i(n(32)),i(n(6)),i(n(1)),i(n(16)),i(n(15)),i(n(34)),i(n(14)),i(n(13))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t){this.events={},this.context=t||this}return t.prototype.on=function(t,e,n){var i=t.toLowerCase();this.events[i]=this.events[i]||[],this.events[i].push({callback:e,context:n||this.context})},t.prototype.detach=function(t,e){var n=t.toLowerCase(),i=this.events[n];if(e&&i&&i.length)for(var r=i.length-1;r>=0;r--)i[r].context===e&&i.splice(r,1);else this.events[n]=[]},t.prototype.fire=function(t,e){void 0===e&&(e=[]);var n=t.toLowerCase();return!this.events[n]||this.events[n].map(function(t){return t.callback.apply(t.context,e)}).indexOf(!1)<0},t.prototype.clear=function(){this.events={}},t}();e.EventSystem=i,e.EventsMixin=function(t){var e=new i(t=t||{});t.detachEvent=e.detach.bind(e),t.attachEvent=e.on.bind(e),t.callEvent=e.fire.bind(e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(13),r=function(){function t(t){this.url=t}return t.prototype.load=function(){return i.ajax.get(this.url)},t.prototype.save=function(t,e){switch(e){case"delete":return i.ajax.delete(this.url,t);case"update":case"insert":default:return i.ajax.post(this.url,t)}},t}();e.DataProxy=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeUnSelect="beforeunselect",t.afterUnSelect="afterunselect",t.beforeSelect="beforeselect",t.afterSelect="afterselect"}(e.SelectionEvents||(e.SelectionEvents={}))},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=n(36);function r(t){var n=window.ResizeObserver,i=function(e){var n=e.el.offsetHeight,i=e.el.offsetWidth;t(i,n)};return n?e.el("div.dhx-resize-observer",{_hooks:{didInsert:function(t){new n(function(){return i(t)}).observe(t.el)}}}):e.el("iframe.dhx-resize-observer",{_hooks:{didInsert:function(t){t.el.contentWindow.onresize=function(){return i(t)},i(t)}}})}e.el=i.defineElement,e.sv=i.defineSvgElement,e.view=i.defineView,e.create=i.createView,e.inject=i.injectView,e.KEYED_LIST=i.KEYED_LIST,e.disableHelp=function(){i.DEVMODE.mutations=!1,i.DEVMODE.warnings=!1,i.DEVMODE.verbose=!1,i.DEVMODE.UNKEYED_INPUT=!1},e.resizer=r,e.resizeHandler=function(t,n){return e.create({render:function(){return r(n)}}).mount(t)},e.awaitRedraw=function(){return new t(function(t){requestAnimationFrame(function(){t()})})}}).call(this,n(9))},function(t,e,n){(function(e,n){!function(){var i=1,r={},o=!1;function s(t){e.setImmediate?n(t):e.importScripts?setTimeout(t):(r[++i]=t,e.postMessage(i,"*"))}function a(t){"use strict";if("function"!=typeof t&&void 0!=t)throw TypeError();if("object"!=typeof this||this&&this.then)throw TypeError();var e,n,i=this,r=0,o=0,l=[];i.promise=i,i.resolve=function(t){return e=i.fn,n=i.er,r||(o=t,r=1,s(d)),i},i.reject=function(t){return e=i.fn,n=i.er,r||(o=t,r=2,s(d)),i},i._d=1,i.then=function(t,e){if(1!=this._d)throw TypeError();var n=new a;return n.fn=t,n.er=e,3==r?n.resolve(o):4==r?n.reject(o):l.push(n),n},i.catch=function(t){return i.then(null,t)};var c=function(t){r=t||4,l.map(function(t){3==r&&t.resolve(o)||t.reject(o)})};try{"function"==typeof t&&t(i.resolve,i.reject)}catch(t){i.reject(t)}return i;function u(t,e,n,i){if(2==r)return i();if("object"!=typeof o&&"function"!=typeof o||"function"!=typeof t)i();else try{var s=0;t.call(o,function(t){s++||(o=t,e())},function(t){s++||(o=t,n())})}catch(t){o=t,n()}}function d(){var t;try{t=o&&o.then}catch(t){return o=t,r=2,d()}u(t,function(){r=1,d()},function(){r=2,d()},function(){try{1==r&&"function"==typeof e?o=e(o):2==r&&"function"==typeof n&&(o=n(o),r=1)}catch(t){return o=t,c()}o==i?(o=TypeError(),c()):u(t,function(){c(3)},c,function(){c(1==r&&3)})})}}(e=this).setImmediate||e.addEventListener("message",function(t){if(t.source==e)if(o)s(r[t.data]);else{o=!0;try{r[t.data]()}catch(t){}delete r[t.data],o=!1}}),a.resolve=function(t){if(1!=this._d)throw TypeError();return t instanceof a?t:new a(function(e){e(t)})},a.reject=function(t){if(1!=this._d)throw TypeError();return new a(function(e,n){n(t)})},a.all=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());var e=new a;return function n(i,r){return r?e.resolve(r):i?e.reject(i):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(e,i){e&&e.then&&e.then(function(e){return t[i]=e,n(),e},n)}))}(),e},a.race=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());if(0==t.length)return new a;var e=new a;return function n(i,r){return r?e.resolve(r):i?e.reject(i):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(t,e){t&&t.then&&t.then(function(t){n(null,t)},n)}))}(),e},a._d=1,t.exports=a}()}).call(this,n(10),n(24).setImmediate)},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.click="click",t.doubleClick="doubleclick",t.contextmenu="contextmenu",t.focusChange="focuschange",t.beforeEditStart="beforeEditStart",t.afterEditStart="afterEditStart",t.beforeEditEnd="beforeEditEnd",t.afterEditEnd="afterEditEnd"}(e.ListEvents||(e.ListEvents={}))},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=0?e:-1},t.prototype.getId=function(t){if(this._order[t])return this._order[t].id},t.prototype.getLength=function(){return this._order.length},t.prototype.filter=function(t,e){if((e=u.extend({add:!1,multiple:!0},e)).add||(this._order=this._initOrder||this._order,this._initOrder=null),this._filters=this._filters||{},e.multiple&&t||(this._filters={}),t){if("function"==typeof t){this._filters._={match:"_",compare:t}}else t.match?(t.compare=t.compare||function(t,e){return t===e},this._filters[t.by]=t):delete this._filters[t.by];this._applyFilters()}this.events.fire(c.DataEvents.change)},t.prototype.find=function(t){for(var e in this._pull){var n=l.findByConf(this._pull[e],t);if(n)return n}return null},t.prototype.findAll=function(t){var e=[];for(var n in this._pull){var i=l.findByConf(this._pull[n],t);i&&e.push(i)}return e},t.prototype.sort=function(t){if(t)this._sort.sort(this._order,t),this._initOrder&&this._initOrder.length&&this._sort.sort(this._initOrder,t);else{for(var e in this._order=[],this._pull)this._order.push(this._pull[e]);this._applyFilters()}this.events.fire(c.DataEvents.change)},t.prototype.copy=function(e,n,r,o){var s=this;if(e instanceof Array)return e.map(function(e,a){if(!s.exists(e))return null;var c=u.uid(),d=-1===n?-1:n+a;return r?r instanceof t||!o?r.exists(e)?(r.add(i({},l.copyWithoutInner(s.getItem(e)),{id:c}),d),c):(r.add(l.copyWithoutInner(s.getItem(e)),d),e):void r.add(l.copyWithoutInner(s.getItem(e)),d):(s.add(i({},l.copyWithoutInner(s.getItem(e)),{id:c}),d),c)});if(!this.exists(e))return null;var a=u.uid();return r?r instanceof t||!o?r.exists(e)?(r.add(i({},l.copyWithoutInner(this.getItem(e)),{id:a}),n),a):(r.add(l.copyWithoutInner(this.getItem(e)),n),e):void r.add(l.copyWithoutInner(this.getItem(e)),n):(this.add(i({},l.copyWithoutInner(this.getItem(e)),{id:a}),n),a)},t.prototype.move=function(t,e,n,i){var r=this;if(t instanceof Array)return t.map(function(t,o){var s=-1===e?-1:e+o;if(n&&n!==r&&r.exists(t)){var a=u.copy(r.getItem(t),!0);return n.exists(t)&&(a.id=u.uid()),i&&(a.parent=i),n.add(a,s),r.remove(t),a.id}if(r.getIndex(t)===s)return null;var l=r._order.splice(r.getIndex(t),1)[0];return-1===e&&(e=r._order.length),r._order.splice(s,0,l),r.events.fire(c.DataEvents.change),t});if(n&&n!==this&&this.exists(t)){var o=u.copy(this.getItem(t),!0);return n.exists(t)&&(o.id=u.uid()),i&&(o.parent=i),n.add(o,e),this.remove(t),o.id}if(this.getIndex(t)===e)return null;var s=this._order.splice(this.getIndex(t),1)[0];return-1===e&&(e=this._order.length),this._order.splice(e,0,s),this.events.fire(c.DataEvents.change),t},t.prototype.load=function(t,e){return"string"==typeof t&&(t=new a.DataProxy(t)),this._loader.load(t,e)},t.prototype.parse=function(t,e){return this._removeAll(),this._loader.parse(t,e)},t.prototype.$parse=function(t){var e=this.config.approximate;e&&(t=this._approximate(t,e.value,e.maxNum)),this._parse_data(t),this.events.fire(c.DataEvents.change,["load"]),this.events.fire(c.DataEvents.load)},t.prototype.save=function(t){this._loader.save(t)},t.prototype.isSaved=function(){return!this._changes.order.length},t.prototype.map=function(t){for(var e=[],n=0;nthis._order.length-1&&(e=this._order.length-1);for(var i=[],r=t;r<=e;r++)i.push(n.call(this,this._order[r],r));return i},t.prototype.reduce=function(t,e){for(var n=0;n=0&&(this._order=this._order.filter(function(e){return e.id!==t}),delete this._pull[t]),this._initOrder&&this._initOrder.length&&(this._initOrder=this._initOrder.filter(function(e){return e.id!==t}))},t.prototype._parse_data=function(t){var e=this._order.length;this.config.prep&&(t=this.config.prep(t));for(var n=0,i=t;n=0&&t[n]?(this._pull[e.id]=e,t.splice(n,0,e)):(this._pull[e.id]=e,t.push(e))},t.prototype._applyFilters=function(){var t=this;if(this._filters&&Object.keys(this._filters).length){var e=this._order.filter(function(e){return Object.keys(t._filters).every(function(n){return e[n]?t._filters[n].compare(e[n],t._filters[n].match,e):t._filters[n].compare(e)})});this._initOrder||(this._initOrder=this._order),this._order=e}},t}();e.DataCollection=d},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),r=n(1);function o(t){return t?t.indexOf("json")>=0?"json":t.indexOf("xml")>=0?"xml":"text":"text"}function s(e,n,s,a,l){var c=a||{};if(l&&(c.Accept="application/"+l),"GET"!==s&&(c["Content-Type"]=c["Content-Type"]||"application/json"),"GET"===s){var u=n&&"object"==typeof n?function(t){return Object.keys(t).reduce(function(e,n){var i="object"==typeof t[n]?JSON.stringify(t[n]):t[n];return e.push(n+"="+encodeURIComponent(i)),e},[]).join("&")}(n):n&&"string"==typeof n?n:"";u&&(e+=-1===e.indexOf("?")?"?":"&",e+=u),n=null}return window.fetch?window.fetch(e,{method:s,body:n?JSON.stringify(n):null,headers:c}).then(function(e){if(!e.ok)return e.text().then(function(n){return t.reject({status:e.status,statusText:e.statusText,message:n})});var n=l||o(e.headers.get("Content-Type"));if("raw"===n)return{headers:Object.fromEntries(e.headers.entries()),url:e.url,body:e.body};if(204!==e.status)switch(n){case"json":return e.json();case"xml":var s=r.toDataDriver(i.DataDriver.xml);return s?e.text().then(s.toJsonObject):e.text();default:return e.text()}}):new t(function(t,a){var u=new XMLHttpRequest;for(var d in u.onload=function(){u.status>=200&&u.status<300?("raw"===l&&t({url:u.responseURL,headers:u.getAllResponseHeaders().trim().split(/[\r\n]+/).reduce(function(t,e){var n=e.split(": ");return t[n[0]]=n[1],t},{}),body:u.response}),204===u.status?t():t(function(t,e){switch(e){case"json":return JSON.parse(t);case"text":return t;case"xml":var n=r.toDataDriver(i.DataDriver.xml);return n?n.toJsonObject(t):{parseError:"Incorrect data driver type: 'xml'"};default:return t}}(u.responseText,l||o(u.getResponseHeader("Content-Type"))))):a({status:u.status,statusText:u.statusText})},u.onerror=function(){a({status:u.status,statusText:u.statusText,message:u.responseText})},u.open(s,e),c)u.setRequestHeader(d,c[d]);switch(s){case"POST":case"DELETE":case"PUT":u.send(n&&JSON.stringify(n));break;case"GET":default:u.send()}})}e.ajax={get:function(t,e,n){return s(t,e,"GET",n&&n.headers,void 0!==n?n.responseType:void 0)},post:function(t,e,n){return s(t,e,"POST",n&&n.headers,void 0!==n?n.responseType:void 0)},put:function(t,e,n){return s(t,e,"PUT",n&&n.headers,void 0!==n?n.responseType:void 0)},delete:function(t,e,n){return s(t,e,"DELETE",n&&n.headers,void 0!==n?n.responseType:void 0)}}}).call(this,n(9))},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=48&&e.which<=57||e.which>=65&&e.which<=90?String.fromCharCode(e.which):e.key)&&n.toLowerCase()),r=t._keysStorage[i];if(r)for(var o=0;o=0;s--)n[r].splice(o[s],1)}},t.prototype.exist=function(t){var e=i(t);return!!this._keysStorage[e]},t}();e.keyManager=new r,e.addHotkeys=function(t,n){var i=new Date,r=function(t){return function(e){n&&!1===n()||t(e)}};for(var o in t)e.keyManager.addHotKey(o,r(t[o]),i);return function(){return e.keyManager.removeHotKey(void 0,i)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=n(3),o=function(){function t(t,e){this._uid=i.uid(),this.config=e||{}}return t.prototype.mount=function(t,e){e&&(this._view=e),t&&this._view&&this._view.mount&&(this._container=r.toNode(t),this._container.tagName?this._view.mount(this._container):this._container.attach&&this._container.attach(this))},t.prototype.unmount=function(){var t=this.getRootView();t&&t.node&&(t.unmount(),this._view=null)},t.prototype.getRootView=function(){return this._view},t.prototype.getRootNode=function(){return this._view&&this._view.node&&this._view.node.el},t.prototype.paint=function(){this._view&&(this._view.node||this._container)&&(this._doNotRepaint=!1,this._view.redraw())},t}();e.View=o,e.toViewLike=function(t){return{getRootView:function(){return t},paint:function(){return t.node&&t.redraw()},mount:function(e){return t.mount(e)}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(7),r=n(4),o=function(){function t(t,e){var n=this;this.config=t,this.events=e.events,this._data=e,this._selected=[],this._lastShiftSelectedIndexes=[],this._data.events.on(r.DataEvents.removeAll,function(){n._selected=[]}),this._data.events.on(r.DataEvents.afterRemove,function(t){if(n._selected=n._selected.filter(function(e){return e!==t.id}),!n.config.multiselection||0===n.getId().length){var e=n._data.getId(n._lastSelectedIndex);if(e)n.add(e);else{var i=n._data.getId(n._data.getLength()-1);i&&n.add(i)}}})}return t.prototype.getId=function(){return this.config.multiselection?this._selected:this._selected[0]},t.prototype.getItem=function(){var t=this;if(this._selected.length){var e=this._selected.map(function(e){return t._data.getItem(e)});return this.config.multiselection?e:e[0]}return null},t.prototype.contains=function(t){return t?this._selected.indexOf(t)>-1:this._selected.length>0},t.prototype.remove=function(t){var e=this;if(t)return!t&&!this._selected.length||(t?this._unselectItem(t):(this._selected.forEach(function(t){return e._unselectItem(t)}),!0));this._data.map(function(t){t.$selected=!1,e._selected=[]})},t.prototype.add=function(t,e,n){var r=this;if(this.events.fire(i.SelectionEvents.beforeSelect))return t?void(this.config.multiselection?this._addMulti(t,e,n):this._addSingle(t,e)):(this._selected=[],void this._data.map(function(t){t.$selected=!0,r._selected.push(t.id)}))},t.prototype._addMulti=function(t,e,n){var r=this,o=this._data.getIndex(t);"click"===this.config.multiselectionMode&&(n?(this._addWithShift(o),this.events.fire(i.SelectionEvents.afterSelect,[t])):(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[])),"ctrlClick"===this.config.multiselectionMode&&(n||e||(this._data.map(function(t){t.$selected=!1,r._selected=[]}),this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]),n&&(this._addWithShift(o),this.events.fire(i.SelectionEvents.afterSelect,[t])),e&&(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]))},t.prototype._addWithShift=function(t){var e=this;t>=this._lastSelectedIndex&&(this._data.map(function(t,n){-1!==e._lastShiftSelectedIndexes.indexOf(n)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(n)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==n&&t!==e._lastSelectedIndex}))}),this._data.map(function(n,i){i>=e._lastSelectedIndex&&i<=t&&(n.$selected=!0,-1===e._selected.indexOf(n.id)&&e._selected.push(n.id),i!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(i)&&e._lastShiftSelectedIndexes.push(i))})),t<=this._lastSelectedIndex&&(this._data.map(function(t,n){-1!==e._lastShiftSelectedIndexes.indexOf(n)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(n)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==n&&t!==e._lastSelectedIndex}))}),this._data.map(function(n,i){i<=e._lastSelectedIndex&&i>=t&&(n.$selected=!0,-1===e._selected.indexOf(n.id)&&e._selected.push(n.id),i!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(i)&&e._lastShiftSelectedIndexes.push(i))}))},t.prototype._addSingle=function(t,e){this.remove(),this.config&&"click"===this.config.multiselectionMode?this._selectItem(t):e&&this._selectItem(t)},t.prototype._isSelected=function(t){return-1!==this._selected.indexOf(t)},t.prototype._selectItem=function(t){this._selected.push(t),this._data.update(t,{$selected:!0}),this._lastSelectedIndex=this._data.getIndex(t),this.events.fire(i.SelectionEvents.afterSelect,[t])},t.prototype._unselectItem=function(t){return!!this.events.fire(i.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=this._selected.filter(function(e){return e!==t}),this.events.fire(i.SelectionEvents.afterUnSelect,[t]),!0)},t}();e.Selection=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.click="click",t.doubleClick="doubleclick",t.contextmenu="contextmenu",t.focusChange="focuschange",t.beforeEditStart="beforeEditStart",t.afterEditStart="afterEditStart",t.beforeEditEnd="beforeEditEnd",t.afterEditEnd="afterEditEnd"}(e.DataViewEvents||(e.DataViewEvents={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n(22);var i=n(4);e.DataCollection=i.DataCollection;var r=n(35);e.DataView=r.DataView},function(t,e,n){},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=n(0),o=function(){function e(t,e){this._parent=t,this._changes=e}return e.prototype.load=function(t,e){var n=this;return this._parent.loadData=t.load().then(function(t){return n._parent.removeAll(),n.parse(t,e)}).catch(function(t){n._parent.events.fire(r.DataEvents.loadError,[t])})},e.prototype.parse=function(t,e){return void 0===e&&(e="json"),"json"!==e||i.hasJsonOrArrayStructure(t)||this._parent.events.fire(r.DataEvents.loadError,["Uncaught SyntaxError: Unexpected end of input"]),t=(e=i.toDataDriver(e)).toJsonArray(t),this._parent.$parse(t),t},e.prototype.save=function(e){for(var n=this,r=function(r){if(r.saving||r.pending)i.dhxWarning("item is saving");else{var s=o._findPrevState(r.id);if(s&&s.saving){var a=new t(function(t,o){s.promise.then(function(){r.pending=!1,t(n._setPromise(r,e))}).catch(function(t){n._removeFromOrder(s),n._setPromise(r,e),i.dhxWarning(t),o(t)})});o._addToChain(a),r.pending=!0}else o._setPromise(r,e)}},o=this,s=0,a=this._changes.order;s=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(25),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(10))},function(t,e,n){(function(t,e){!function(t,n){"use strict";if(!t.setImmediate){var i,r=1,o={},s=!1,a=t.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(t);l=l&&l.setTimeout?l:t,"[object process]"==={}.toString.call(t.process)?i=function(t){e.nextTick(function(){u(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?function(){var e="setImmediate$"+Math.random()+"$",n=function(n){n.source===t&&"string"==typeof n.data&&0===n.data.indexOf(e)&&u(+n.data.slice(e.length))};t.addEventListener?t.addEventListener("message",n,!1):t.attachEvent("onmessage",n),i=function(n){t.postMessage(e+n,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){u(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){u(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(u,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n1)for(var n=1;n\n";for(var s in t)Array.isArray(t[s])?(n+=r(e+i)+"<"+s+">\n",n+=t[s].map(function(t){return o(t,e+2*i)}).join("\n")+"\n",n+=r(e+i)+"\n"):n+=r(e+i)+"<"+s+">"+t[s]+"\n";return n+=r(e)+""}e.jsonToXML=function(t,e){void 0===e&&(e="root");for(var n='\n<'+e+">",i=0;i"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(){function t(){}return t.prototype.sort=function(t,e){var n=this;e.rule&&"function"==typeof e.rule?this._sort(t,e):e.by&&(e.rule=function(t,r){var o=n._checkVal(e.as,t[e.by]),s=n._checkVal(e.as,r[e.by]);return i.naturalCompare(o.toString(),s.toString())},this._sort(t,e))},t.prototype._checkVal=function(t,e){return t?t.call(this,e):e},t.prototype._sort=function(t,e){var n=this,i={asc:1,desc:-1};return t.sort(function(t,r){return e.rule.call(n,t,r)*(i[e.dir]||i.asc)})},t}();e.Sort=r},function(t,e){if(Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var r=n(2),o=n(12),s=n(6),a=n(1),l=n(0);function c(t,e,n,i){void 0!==i&&-1!==i&&t[n]&&t[n][i]?t[n].splice(i,0,e):(t[n]||(t[n]=[]),t[n].push(e))}var u=function(t){function e(e,n){var i,o=t.call(this,e,n)||this,s=o._root="_ROOT_"+r.uid();return o._childs=((i={})[s]=[],i),o._initChilds=null,o}return i(e,t),e.prototype.add=function(e,n,i){var r=this;if(void 0===n&&(n=-1),void 0===i&&(i=this._root),"object"!=typeof e&&(e={value:e}),Array.isArray(e))return e.map(function(e,o){o>0&&-1!==n&&(n+=1),e.parent=e.parent?e.parent.toString():i;var s=t.prototype.add.call(r,e,n);if(Array.isArray(e.items))for(var a=0,l=e.items;a0&&i[t]!==i[s.getRoot()]&&e){var o=i[s.getRoot()].find(function(e){if(e.id===t)return e});o&&r.push(o)}},s=this;for(var a in i)o(a);i[this.getRoot()]=r,this._childs=i,this.events.fire(l.DataEvents.change)}else this.restoreOrder()},e.prototype.restoreOrder=function(){this._initChilds&&(this._childs=this._initChilds,this._initChilds=null),this.events.fire(l.DataEvents.change)},e.prototype.copy=function(t,e,n,i){var o=this;if(void 0===n&&(n=this),void 0===i&&(i=this._root),t instanceof Array)return t.map(function(t,s){if(!o.exists(t))return null;var l=o._childs[t],c=-1===e?-1:e+s;if(n===o&&!o.canCopy(t,i))return null;var u=a.copyWithoutInner(o.getItem(t),{items:!0});if(n.exists(t)&&(u.id=r.uid()),a.isTreeCollection(n)){if(o.exists(t)&&(u.parent=i,n!==o&&i===o._root&&(u.parent=n.getRoot()),n.add(u,c),t=u.id),l)for(var d=0,f=l;d1?(this._selectedIds=e,this._itemsForGhost=n):(this._selectedIds=[],this._itemsForGhost=null),o&&s){var a=i.getBox(r),l=a.left,c=a.top;this._transferData.initXOffset=t.pageX-l,this._transferData.initYOffset=t.pageY-c,this._transferData.x=t.pageX,this._transferData.y=t.pageY,this._transferData.targetId=s,this._transferData.id=o,this._transferData.item=r}}},t.prototype._moveGhost=function(t,e){this._transferData.ghost&&(this._transferData.ghost.style.left=t-this._transferData.initXOffset+"px",this._transferData.ghost.style.top=e-this._transferData.initYOffset+"px")},t.prototype._removeGhost=function(){document.body.removeChild(this._transferData.ghost)},t.prototype._onDrop=function(){if(this._canMove){var t=r.collectionStore.getItem(this._lastCollectionId),e=t&&t.config;if(t&&e.dragMode!==o.DragMode.source){if(t.events.fire(o.DragEvents.beforeDrop,[this._lastId,this._transferData.target])){var n={id:this._lastId,target:t},i={id:this._transferData.id,target:this._transferData.target};this._move(i,n),n.target.events.fire(o.DragEvents.dropComplete,[n.id,this._transferData.dropPosition])}this._endDrop()}else this._endDrop()}else this._endDrop()},t.prototype._onDragStart=function(t,e){var n=r.collectionStore.getItem(e),i=n.config;if(i.dragMode===o.DragMode.target)return null;var s=n.data.getItem(t),a=function(t,e){var n=t.getBoundingClientRect(),i=document.createElement("div"),r=t.cloneNode(!0);return r.style.width=n.width+"px",r.style.height=n.height+"px",r.style.maxHeight=n.height+"px",r.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,r.style.opacity="0.8",r.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,i.appendChild(r),e&&e.length&&e.forEach(function(t,e){var r=t.cloneNode(!0);r.style.width=n.width+"px",r.style.height=n.height+"px",r.style.maxHeight=n.height+"px",r.style.top=12*(e+1)-n.height-n.height*e+"px",r.style.left=12*(e+1)+"px",r.style.opacity="0.6",r.style.zIndex=""+(-e-1),i.appendChild(r)}),i.className="dhx_drag-ghost",i}(this._transferData.item,this._itemsForGhost);return n.events.fire(o.DragEvents.beforeDrag,[s,a])&&t?(n.events.fire(o.DragEvents.dragStart,[t,this._selectedIds]),this._toggleTextSelection(!0),this._transferData.target=n,this._transferData.dragConfig=i,a):null},t.prototype._onDrag=function(t){var e=t.clientX,n=t.clientY,a=document.elementFromPoint(e,n),l=i.locate(a,"dhx_widget_id");if(l){var c=r.collectionStore.getItem(l),u=i.locate(a,"dhx_id");if(!u)return this._cancelCanDrop(),this._lastCollectionId=l,this._lastId=null,void this._canDrop();if(c.config.dropBehaviour===o.DropBehaviour.complex){var d=function(t){var e=t.clientY,n=i.locateNode(t);if(!n)return null;var r=n.childNodes[0].getBoundingClientRect();return(e-r.top)/r.height}(t);this._transferData.dropPosition=d<=.25?o.DropPosition.top:d>=.75?o.DropPosition.bot:o.DropPosition.in}else if(this._lastId===u&&this._lastCollectionId===l)return;var f={id:this._transferData.id,target:this._transferData.target};if("source"!==c.config.dragMode)if(f.target.events.fire(o.DragEvents.dragOut,[u,c]),l!==this._transferData.targetId||!s.isTreeCollection(f.target.data)||s.isTreeCollection(f.target.data)&&f.target.data.canCopy(f.id,u))this._cancelCanDrop(),this._lastId=u,this._lastCollectionId=l,f.target.events.fire(o.DragEvents.dragIn,[u,this._transferData.dropPosition,r.collectionStore.getItem(l)])&&this._canDrop();else this._cancelCanDrop()}else this._canMove&&this._cancelCanDrop()},t.prototype._move=function(t,e){var n=t.target.data,i=e.target.data,r=0,a=e.id;switch(s.isTreeCollection(i)?e.target.config.dropBehaviour:void 0){case o.DropBehaviour.child:break;case o.DropBehaviour.sibling:a=i.getParent(a),r=i.getIndex(e.id)+1;break;case o.DropBehaviour.complex:var l=this._transferData.dropPosition;l===o.DropPosition.top?(a=i.getParent(a),r=i.getIndex(e.id)):l===o.DropPosition.bot&&(a=i.getParent(a),r=i.getIndex(e.id)+1);break;default:r=e.id?t.target===e.target&&i.getIndex(t.id)1?this._selectedIds.map(function(t){n.copy(t,r,i,a),r>-1&&r++}):n.copy(t.id,r,i,a):this._selectedIds instanceof Array&&this._selectedIds.length>1?this._selectedIds.map(function(t){n.move(t,r,i,a),r>-1&&r++}):n.move(t.id,r,i,a)},t.prototype._endDrop=function(){this._toggleTextSelection(!1),this._transferData.target&&this._transferData.target.events.fire(o.DragEvents.dragEnd,[this._transferData.id,this._selectedIds]),this._cancelCanDrop(),this._canMove=!0,this._transferData={},this._lastId=null,this._lastCollectionId=null},t.prototype._cancelCanDrop=function(){this._canMove=!1;var t=r.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(o.DragEvents.cancelDrop,[this._lastId]),this._lastCollectionId=null,this._lastId=null},t.prototype._canDrop=function(){this._canMove=!0;var t=r.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(o.DragEvents.canDrop,[this._lastId,this._transferData.dropPosition])},t.prototype._toggleTextSelection=function(t){t?document.body.classList.add("dhx_no-select"):document.body.classList.remove("dhx_no-select")},t}(),l=window.dhxHelpers=window.dhxHelpers||{};l.dragManager=l.dragManager||new a,e.dragManager=l.dragManager},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(){this._store={}}return t.prototype.setItem=function(t,e){this._store[t]=e},t.prototype.getItem=function(t){return this._store[t]?this._store[t]:null},t}(),r=window.dhxHelpers=window.dhxHelpers||{};r.collectionStore=r.collectionStore||new i,e.collectionStore=r.collectionStore},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(5),r=n(7),o=n(0),s=function(){function t(t,e,n){var r=this;this.events=n||new i.EventSystem(this),this._data=e,this._data.events.on(o.DataEvents.removeAll,function(){r._selected=null}),this._data.events.on(o.DataEvents.change,function(){if(r._selected){var t=r._data.getNearId(r._selected);t!==r._selected&&(r._selected=null,t&&r.add(t))}})}return t.prototype.getId=function(){return this._selected},t.prototype.getItem=function(){return this._selected?this._data.getItem(this._selected):null},t.prototype.remove=function(t){return!(t=t||this._selected)||!!this.events.fire(r.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=null,this.events.fire(r.SelectionEvents.afterUnSelect,[t]),!0)},t.prototype.add=function(t){this._selected!==t&&(this.remove(),this.events.fire(r.SelectionEvents.beforeSelect,[t])&&(this._selected=t,this._data.update(t,{$selected:!0}),this.events.fire(r.SelectionEvents.afterSelect,[t])))},t}();e.Selection=s},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,i=arguments.length;ne.offsetHeight,i=t.node.attrs.class.replace(" dhx_dataview--has-scroll",""),r=n?i+" dhx_dataview--has-scroll":i;t.node.patch({class:r})}}});return i.mount(e,c),i}return i(e,t),e.prototype.edit=function(t){this._edited=t,this.data.getItem(this._edited)&&this.events.fire(p.DataViewEvents.beforeEditStart,[t])?(this._getHotkeys(),this.paint(),this.events.fire(p.DataViewEvents.afterEditStart,[t])):this._edited=null},e.prototype.getFocusItem=function(){return this.data.getItem(this.data.getId(this._focusIndex))},e.prototype.setItemInRow=function(t){this.config.itemsInRow=t,this.paint()},e.prototype.setFocus=function(t){var e=this.data.getIndex(t);this._setFocusIndex(e)},e.prototype.getFocus=function(){var t=this.data.getItem(this.data.getId(this._focusIndex));if(t)return t.id},e.prototype.destructor=function(){this.events.clear(),this._navigationDestructor&&this._navigationDestructor(),this._documentClickDestuctor&&this._documentClickDestuctor(),this.unmount()},e.prototype.getFocusIndex=function(){return this._focusIndex},e.prototype.setFocusIndex=function(t){this._setFocusIndex(t)},e.prototype._setFocusIndex=function(t){if(!(t<0||t>this.data.getLength()-1)){this._focusIndex=t;var e=this.getRootNode();if(e&&e.parentNode){var n=e.children[Math.floor(this._focusIndex/this.config.itemsInRow)];if(n){var i=n.children[this._focusIndex%this.config.itemsInRow],r=parseInt(this.config.gap.toString().replace("px",""),null);i.offsetTop>=e.clientHeight+e.scrollTop-i.clientHeight?e.scrollTop=i.offsetTop-e.clientHeight+i.clientHeight+r:i.offsetTop0&&n[i-1].type===e?(n[i-1].body+=r.body,n.splice(i--,1)):H(r,t,i,null):H(r,t,i,null))}}(t)}}var R={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,order:!0,lineClamp:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};function F(t,e){return isNaN(e)||R[t]?e:e+"px"}function V(t,e){var n=(t.attrs||a).style,i=e?(e.attrs||a).style:null;if(null==n||h(n))t.el.style.cssText=n;else{for(var r in n){var o=n[r];(null==i||null!=o&&o!==i[r])&&(t.el.style[r]=F(r,o))}if(i)for(var s in i)null==n[s]&&(t.el.style[s]="")}}var B=[];function $(t,e,n,i,r){if(null!=t){var o=n.hooks[e];if(o){if("d"!==e[0]||"i"!==e[1]||"d"!==e[2])return o(n,i);r?I(n.parent)&&o(n,i):B.push([o,n,i])}}}function W(t){var e;if(B.length)for(I(t.node);e=B.shift();)e[0](e[1],e[2])}var z=o?document:null;function U(t){return t.nextSibling}function J(t,e,n){var i=e._node,r=i.vm;if(c(i.body))if((i.flags&j)===j)for(var o=0;o>1]===t)return n;e[n]0&&(i[o]=r[e-1]),r[e]=o)}}for(e=r.length,n=r[e-1];e-- >0;)r[e]=n,n=i[n];return r}(o).map(function(t){return o[t]}),c=0;cu&&(m=null,v=!1):b=!0,u>100&&b&&++w%10==0))for(;I1){var o=1;d(i[1])&&(n=i[1],o=2),e=r===o+1&&(h(i[o])||c(i[o])||n&&(n._flags&L)===L)?i[o]:_(i,o)}return N(t,n,e)}return k.patch=function(t,e){!function(t,e,n){if(null!=e.type){if(null!=t.vm)return;H(e,t.parent,t.idx,null),t.parent.body[t.idx]=e,wt(e,t),n&&I(e),W(S(e))}else{var i=Object.create(t);i.attrs=v({},t.attrs);var r=v(t.attrs,e);if(null!=t._class){var o=r.class;r.class=null!=o&&""!==o?t._class+" "+o:t._class}st(t,i),n&&I(t)}}(this,t,e)},It.emit=function(t){var e=this,n=e,i=_(arguments,1).concat(n,n.data);do{var r=e.onemit,o=r?r[t]:null;if(o){o.apply(e,i);break}}while(e=e.parent());Z[t]&&Z[t].apply(e,i)},It.onemit=null,It.body=function(){return function t(e,n){var i=e.body;if(c(i))for(var r=0;rthis.data.getLength()-1)){this._focusIndex=t;var e=this.getRootView();if(e&&e.node&&e.node.el){var n=this.getRootNode();if(n){if(this.config.virtual){var i=t*_.defineValue(this.config.itemHeight);(i>=_.defineValue(this._visibleHeight)+this._topOffset||i=n.scrollTop+n.clientHeight-r.clientHeight?n.scrollTop=r.offsetTop-n.clientHeight+r.clientHeight:r.offsetTope-_.defineValue(this._visibleHeight)&&(t=e-_.defineValue(this._visibleHeight));var n=Math.floor(_.defineValue(this._visibleHeight)/_.defineValue(this.config.itemHeight))+5,i=Math.floor(t/_.defineValue(this.config.itemHeight));this._range=[i,n+i],this._topOffset=t,this.paint()},e.prototype._getHeight=function(){return this.data.getLength()*_.defineValue(this.config.itemHeight)},e.prototype._getHotkeys=function(){var t=this;if(this.config.keyNavigation)if(this._edited)this._navigationDestructor&&this._navigationDestructor();else{var e=this.config.keyNavigation;"function"!=typeof this.config.keyNavigation&&(this._widgetInFocus=!1,e=function(){return t._widgetInFocus},this._documentClickDestuctor=o.detectWidgetClick(this._uid,function(e){return t._widgetInFocus=e}));var n=function(t){return function(e){e.preventDefault(),t()}};this._navigationDestructor=c.addHotkeys({arrowdown:n(function(){return t._setFocusIndex(t._focusIndex+1)}),arrowup:n(function(){return t._setFocusIndex(t._focusIndex-1)}),enter:function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n),t.events.fire(p.ListEvents.click,[n,e])},"enter+shift":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!1,!0),t.events.fire(p.ListEvents.click,[n,e])},"enter+ctrl":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!0,!1),t.events.fire(p.ListEvents.click,[n,e])},"enter+meta":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!0,!1),t.events.fire(p.ListEvents.click,[n,e])}},e)}},e}(d.View);e.List=g},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(40);e.getEditor=function(t,e){return new i.InputEditor(t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(8),r=n(11),o=function(){function t(t,e){var n=this;this._list=e,this._config=e.config,this._item=t,this._list.events.on(r.ListEvents.focusChange,function(t,e){n._mode&&e!==n._item.id&&n.endEdit()}),this._initHandlers()}return t.prototype.endEdit=function(){if(this._input){var t=this._input.value;this._list.events.fire(r.ListEvents.beforeEditEnd,[t,this._item.id])?(this._input.removeEventListener("blur",this._handlers.onBlur),this._input.removeEventListener("change",this._handlers.onChange),this._handlers={},this._mode=!1,this._list.events.fire(r.ListEvents.afterEditEnd,[t,this._item.id])):this._input.focus()}},t.prototype.toHTML=function(){this._mode=!0;var t=this._config.itemHeight;return i.el(".dhx_input__wrapper",{},[i.el("div.dhx_input__container",{},[i.el("input.dhx_input",{class:this._item.css?" "+this._item.css:"",style:{height:t,width:"100%",padding:"8px, 12px"},_hooks:{didInsert:this._handlers.didInsert},_key:this._item.id,dhx_id:this._item.id})])])},t.prototype._initHandlers=function(){var t=this;this._handlers={onBlur:function(){t.endEdit()},onChange:function(){t.endEdit()},didInsert:function(e){var n=e.el;t._input=n,n.focus(),n.value=t._item.value,n.setSelectionRange(0,n.value.length),n.addEventListener("change",t._handlers.onChange),n.addEventListener("blur",t._handlers.onBlur)}}},t}();e.InputEditor=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.defineValue=function(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return parseInt(e.split(/\D+/g)[0],null)},e.defineUnit=function(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return e.slice(e.split(/\D+/g)[0].length)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(43);e.getEditor=function(t,e){return new i.InputEditor(t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(8),r=n(20),o=function(){function t(t,e){var n=this;this._dataView=e,this._config=e.config,this._item=t,this._dataView.events.on(r.DataViewEvents.focusChange,function(t,e){n._mode&&e!==n._item.id&&n.endEdit()}),this._initHandlers()}return t.prototype.endEdit=function(){if(this._input){var t=this._input.value;this._dataView.events.fire(r.DataViewEvents.beforeEditEnd,[t,this._item.id])?(this._input.removeEventListener("blur",this._handlers.onBlur),this._input.removeEventListener("change",this._handlers.onChange),this._handlers={},this._mode=!1,this._dataView.events.fire(r.DataViewEvents.afterEditEnd,[t,this._item.id])):this._input.focus()}},t.prototype.toHTML=function(t){this._mode=!0;var e=this._config,n=e.itemsInRow,r=e.gap,o=function(t){return parseFloat(t)};return i.el(".dhx_input__wrapper",{style:{width:"calc("+100/n+"% - "+o(r)+" * "+(n-1)/n+"px)",maxWidth:"calc("+100/n+"% - "+o(r)+" * "+(n-1)/n+"px)",marginRight:t?"":r}},[i.el("div.dhx_input__container",{style:{height:"100%"}},[i.el("input.dhx_input",{class:(this._item.css?" "+this._item.css:"")+(t?" dhx_dataview-item--last-item-in-row":""),style:{padding:"8px, 12px",width:"100%",height:"100%"},_hooks:{didInsert:this._handlers.didInsert},_key:this._item.id,dhx_id:this._item.id})])])},t.prototype._initHandlers=function(){var t=this;this._handlers={onBlur:function(){t.endEdit()},onChange:function(){t.endEdit()},didInsert:function(e){var n=e.el;t._input=n,n.focus(),n.value=t._item.value,n.setSelectionRange(0,n.value.length),n.addEventListener("change",t._handlers.onChange),n.addEventListener("blur",t._handlers.onBlur)}}},t}();e.InputEditor=o}])}),window.dhx_legacy){if(window.dhx)for(var key in dhx)dhx_legacy[key]=dhx[key];window.dhx=dhx_legacy,delete window.dhx_legacy} \ No newline at end of file diff --git a/samples/tabbar/common/dataview/fonts/roboto-bold-webfont.woff b/samples/tabbar/common/dataview/fonts/roboto-bold-webfont.woff new file mode 100644 index 0000000..d93baf5 Binary files /dev/null and b/samples/tabbar/common/dataview/fonts/roboto-bold-webfont.woff differ diff --git a/samples/tabbar/common/dataview/fonts/roboto-bold-webfont.woff2 b/samples/tabbar/common/dataview/fonts/roboto-bold-webfont.woff2 new file mode 100644 index 0000000..fb82968 Binary files /dev/null and b/samples/tabbar/common/dataview/fonts/roboto-bold-webfont.woff2 differ diff --git a/samples/tabbar/common/dataview/fonts/roboto-medium-webfont.woff b/samples/tabbar/common/dataview/fonts/roboto-medium-webfont.woff index 701ea99..b8e0c77 100644 Binary files a/samples/tabbar/common/dataview/fonts/roboto-medium-webfont.woff and b/samples/tabbar/common/dataview/fonts/roboto-medium-webfont.woff differ diff --git a/samples/tabbar/common/dataview/fonts/roboto-medium-webfont.woff2 b/samples/tabbar/common/dataview/fonts/roboto-medium-webfont.woff2 index 750e26b..fd70780 100644 Binary files a/samples/tabbar/common/dataview/fonts/roboto-medium-webfont.woff2 and b/samples/tabbar/common/dataview/fonts/roboto-medium-webfont.woff2 differ diff --git a/samples/tabbar/common/dataview/fonts/roboto-regular-webfont.woff b/samples/tabbar/common/dataview/fonts/roboto-regular-webfont.woff index 64fdff3..d43765c 100644 Binary files a/samples/tabbar/common/dataview/fonts/roboto-regular-webfont.woff and b/samples/tabbar/common/dataview/fonts/roboto-regular-webfont.woff differ diff --git a/samples/tabbar/common/dataview/fonts/roboto-regular-webfont.woff2 b/samples/tabbar/common/dataview/fonts/roboto-regular-webfont.woff2 index 3201eab..6b85564 100644 Binary files a/samples/tabbar/common/dataview/fonts/roboto-regular-webfont.woff2 and b/samples/tabbar/common/dataview/fonts/roboto-regular-webfont.woff2 differ diff --git a/samples/tabbar/common/list/fonts/roboto-bold-webfont.woff b/samples/tabbar/common/list/fonts/roboto-bold-webfont.woff new file mode 100644 index 0000000..d93baf5 Binary files /dev/null and b/samples/tabbar/common/list/fonts/roboto-bold-webfont.woff differ diff --git a/samples/tabbar/common/list/fonts/roboto-bold-webfont.woff2 b/samples/tabbar/common/list/fonts/roboto-bold-webfont.woff2 new file mode 100644 index 0000000..fb82968 Binary files /dev/null and b/samples/tabbar/common/list/fonts/roboto-bold-webfont.woff2 differ diff --git a/samples/tabbar/common/list/fonts/roboto-medium-webfont.woff b/samples/tabbar/common/list/fonts/roboto-medium-webfont.woff index 701ea99..b8e0c77 100644 Binary files a/samples/tabbar/common/list/fonts/roboto-medium-webfont.woff and b/samples/tabbar/common/list/fonts/roboto-medium-webfont.woff differ diff --git a/samples/tabbar/common/list/fonts/roboto-medium-webfont.woff2 b/samples/tabbar/common/list/fonts/roboto-medium-webfont.woff2 index 750e26b..fd70780 100644 Binary files a/samples/tabbar/common/list/fonts/roboto-medium-webfont.woff2 and b/samples/tabbar/common/list/fonts/roboto-medium-webfont.woff2 differ diff --git a/samples/tabbar/common/list/fonts/roboto-regular-webfont.woff b/samples/tabbar/common/list/fonts/roboto-regular-webfont.woff index 64fdff3..d43765c 100644 Binary files a/samples/tabbar/common/list/fonts/roboto-regular-webfont.woff and b/samples/tabbar/common/list/fonts/roboto-regular-webfont.woff differ diff --git a/samples/tabbar/common/list/fonts/roboto-regular-webfont.woff2 b/samples/tabbar/common/list/fonts/roboto-regular-webfont.woff2 index 3201eab..6b85564 100644 Binary files a/samples/tabbar/common/list/fonts/roboto-regular-webfont.woff2 and b/samples/tabbar/common/list/fonts/roboto-regular-webfont.woff2 differ diff --git a/samples/tabbar/common/list/list.min.css b/samples/tabbar/common/list/list.min.css new file mode 100644 index 0000000..4b1e806 --- /dev/null +++ b/samples/tabbar/common/list/list.min.css @@ -0,0 +1 @@ +.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:-webkit-grab!important;cursor:grab!important}.dhx_no-select--pointer{cursor:pointer}.dhx_no-select--pointer,.dhx_no-select--resize{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"liga";font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{box-sizing:border-box}body{margin:0}.dhx_widget{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_widget--bordered{border:1px solid #e4e4e4}.dhx_widget--border_top{border-top:1px solid #e4e4e4}.dhx_widget--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_widget--border_left{border-left:1px solid #e4e4e4}.dhx_widget--border_right{border-right:1px solid #e4e4e4}.dhx_widget--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget--bg_white{background-color:#fff}.dhx_widget--bg_gray{background-color:#f7f7f7}.dhx_drag-ghost{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;z-index:999;opacity:.6}.dhx_drag-ghost *{box-sizing:border-box}.dhx_drag-ghost .dhx_list-item{list-style-type:none}.dhx_drag-ghost .dhx_list-item--selected{background-color:#fff;box-shadow:inset 0 0 0 0 #0288d1}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:#fff;transition:background-color .2s ease-out}.dhx_drag-ghost .dhx_tree-list-item__icon{position:relative;display:inline;vertical-align:middle;color:rgba(0,0,0,.3);font-size:20px;top:2px}.dhx_drag-ghost .dhx_tree-list-item__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;vertical-align:middle;line-height:20px;color:rgba(0,0,0,.7)}.dhx_drag-ghost .dhx_dataview-item,.dhx_drag-ghost .dhx_grid-cell,.dhx_drag-ghost .dhx_list-item{background-color:#fff;border:1px solid #e4e4e4!important}@font-face{font-family:Roboto;src:url(fonts/roboto-regular-webfont.woff2) format("woff2"),url(fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-medium-webfont.woff2) format("woff2"),url(fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-bold-webfont.woff2) format("woff2"),url(fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}@font-face{font-family:dhxicons;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff")}.dxi:before{font-family:dhxicons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dxi.dxi-alert-circle:before{content:"\F101"}.dxi.dxi-arrow-collapse:before{content:"\F102"}.dxi.dxi-arrow-expand:before{content:"\F103"}.dxi.dxi-blur-off:before{content:"\F104"}.dxi.dxi-blur:before{content:"\F105"}.dxi.dxi-calendar-today:before{content:"\F106"}.dxi.dxi-check:before{content:"\F107"}.dxi.dxi-checkbox-blank-outline:before{content:"\F108"}.dxi.dxi-checkbox-marked-circle:before{content:"\F109"}.dxi.dxi-checkbox-marked:before{content:"\F10A"}.dxi.dxi-chevron-down:before{content:"\F10B"}.dxi.dxi-chevron-left:before{content:"\F10C"}.dxi.dxi-chevron-right:before{content:"\F10D"}.dxi.dxi-chevron-up:before{content:"\F10E"}.dxi.dxi-clock-outline:before{content:"\F10F"}.dxi.dxi-clock:before{content:"\F110"}.dxi.dxi-close-circle:before{content:"\F111"}.dxi.dxi-close:before{content:"\F112"}.dxi.dxi-delete-forever:before{content:"\F113"}.dxi.dxi-delete:before{content:"\F114"}.dxi.dxi-dots-horizontal:before{content:"\F115"}.dxi.dxi-dots-vertical:before{content:"\F116"}.dxi.dxi-download:before{content:"\F117"}.dxi.dxi-eraser:before{content:"\F118"}.dxi.dxi-eye-off:before{content:"\F119"}.dxi.dxi-eye:before{content:"\F11A"}.dxi.dxi-eyedropper-variant:before{content:"\F11B"}.dxi.dxi-file-export:before{content:"\F11C"}.dxi.dxi-file-outline:before{content:"\F11D"}.dxi.dxi-filter-variant:before{content:"\F11E"}.dxi.dxi-folder-open:before{content:"\F11F"}.dxi.dxi-folder:before{content:"\F120"}.dxi.dxi-format-align-center:before{content:"\F121"}.dxi.dxi-format-align-left:before{content:"\F122"}.dxi.dxi-format-align-right:before{content:"\F123"}.dxi.dxi-format-bold:before{content:"\F124"}.dxi.dxi-format-color-fill:before{content:"\F125"}.dxi.dxi-format-color-text:before{content:"\F126"}.dxi.dxi-format-italic:before{content:"\F127"}.dxi.dxi-format-line-spacing:before{content:"\F128"}.dxi.dxi-format-quote-close:before{content:"\F129"}.dxi.dxi-format-quote-open:before{content:"\F12A"}.dxi.dxi-format-strikethrough:before{content:"\F12B"}.dxi.dxi-format-underline:before{content:"\F12C"}.dxi.dxi-format-vertical-align-bottom:before{content:"\F12D"}.dxi.dxi-format-vertical-align-center:before{content:"\F12E"}.dxi.dxi-format-vertical-align-top:before{content:"\F12F"}.dxi.dxi-function-variant:before{content:"\F130"}.dxi.dxi-help-circle-outline:before{content:"\F131"}.dxi.dxi-information-outline:before{content:"\F132"}.dxi.dxi-key:before{content:"\F133"}.dxi.dxi-link-variant-off:before{content:"\F134"}.dxi.dxi-link-variant:before{content:"\F135"}.dxi.dxi-loading:before{content:"\F136"}.dxi.dxi-magnify:before{content:"\F137"}.dxi.dxi-menu-down:before{content:"\F138"}.dxi.dxi-menu-left:before{content:"\F139"}.dxi.dxi-menu-right:before{content:"\F13A"}.dxi.dxi-menu-up:before{content:"\F13B"}.dxi.dxi-minus-box:before{content:"\F13C"}.dxi.dxi-minus:before{content:"\F13D"}.dxi.dxi-numeric:before{content:"\F13E"}.dxi.dxi-pencil:before{content:"\F13F"}.dxi.dxi-plus-circle:before{content:"\F140"}.dxi.dxi-plus:before{content:"\F141"}.dxi.dxi-printer:before{content:"\F142"}.dxi.dxi-redo:before{content:"\F143"}.dxi.dxi-rotate-right:before{content:"\F144"}.dxi.dxi-sort-variant:before{content:"\F145"}.dxi.dxi-table-column-plus-before:before{content:"\F146"}.dxi.dxi-table-column-remove:before{content:"\F147"}.dxi.dxi-table-column:before{content:"\F148"}.dxi.dxi-table-row-plus-after:before{content:"\F149"}.dxi.dxi-table-row-remove:before{content:"\F14A"}.dxi.dxi-table-row:before{content:"\F14B"}.dxi.dxi-undo:before{content:"\F14C"}.dxi.dxi-unfold-more-horizontal:before{content:"\F14D"}.dxi.dxi-vault:before{content:"\F14E"}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:20px}.dxi--small:before{font-size:16px}.dxi--medium:before{font-size:20px}.dxi--large:before{font-size:24px}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;touch-action:manipulation;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:4px}.dhx_button__loading{display:none;position:absolute;left:0;top:0;right:0;bottom:0;justify-content:center;align-items:center}.dhx_button__loading-icon{-webkit-animation:a .9s linear infinite;animation:a .9s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:28px}.dhx_button--circle.dhx_button--size_medium{border-radius:32px}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:6px;padding-right:6px}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:4px;padding-right:4px}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__loading{display:flex}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:4px 12px;font-size:14px;line-height:20px}.dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:16px;margin-top:-8px;margin-left:-8px}.dhx_button--size_medium{padding:6px 16px;text-transform:uppercase;line-height:20px}.dhx_button--size_medium .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:20px;margin-top:-10px;margin-left:-10px}.dhx_button--view_flat{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;color:#fff;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_flat.dhx_button--color_primary{background-color:#0288d1;outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:#35a0da}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:#0288d1;box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_primary:disabled{background-color:#81c4e8}.dhx_button--view_flat.dhx_button--color_secondary{background-color:#4d4d4d;outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:#717171}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:#4d4d4d;box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_secondary:disabled{background-color:#a6a6a6}.dhx_button--view_flat.dhx_button--color_danger{background-color:#ff5252;outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:#ff7575}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:#ff5252;box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_danger:disabled{background-color:#ffa9a9}.dhx_button--view_flat.dhx_button--color_success{background-color:#0ab169;outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:#3bc187}.dhx_button--view_flat.dhx_button--color_success:active{background-color:#0ab169;box-shadow:none}.dhx_button--view_flat.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_success:disabled{background-color:#85d8b4}.dhx_button--view_link{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;border-radius:2px;background:transparent;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_link:focus,.dhx_button--view_link:hover{transition:background-color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_link.dhx_button--color_primary{color:#0288d1;outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:#d9edf8}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:#b8def2}.dhx_button--view_link.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_primary:disabled{color:#81c4e8}.dhx_button--view_link.dhx_button--color_secondary{color:#4d4d4d;outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:#e4e4e4}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:#cdcdcd}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_secondary:disabled{color:#a6a6a6}.dhx_button--view_link.dhx_button--color_danger{color:#ff5252;outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:#ffe5e5}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:#ffcfcf}.dhx_button--view_link.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_danger:disabled{color:#ffa9a9}.dhx_button--view_link.dhx_button--color_success{color:#0ab169;outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:#daf3e9}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:#bae9d5}.dhx_button--view_link.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_success:disabled{color:#85d8b4}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:8px;margin-right:auto}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_form-group{position:relative;display:block;text-align:left;padding-bottom:16px}.dhx_form-group--simplevault{line-height:0;height:100%}.dhx_form-group--simplevault .dhx_label{margin-bottom:4px}.dhx_form-group--textarea{display:flex;flex-direction:column;height:100%}.dhx_form-group--textarea .dhx_input--textarea,.dhx_form-group--textarea .dhx_input__wrapper{height:100%}.dhx_form-group--textarea .dhx_label{min-height:20px;line-height:20px;margin-bottom:4px}.dhx_form-group--inline{display:flex;flex-direction:row;width:100%;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;flex:0 1 auto;max-height:40px;margin-right:16px;margin-bottom:0;text-align:right;width:100%;margin-top:6px;align-self:flex-start}.dhx_form-group--inline .dhx_input__wrapper{flex:0 1 auto;width:300%;height:100%}.dhx_form-group--inline .dhx_label--with-help{justify-content:flex-end}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative;margin-bottom:0}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--no-message-holder{padding-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input__caption,.dhx_form-group--state_error .dhx_label{color:#ff5252}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{box-shadow:inset 0 0 0 1px #ffbaba}.dhx_form-group--state_error .dhx_simplevault-files,.dhx_form-group--state_error .dhx_simplevault-files:focus,.dhx_form-group--state_error .dhx_simplevault__drop-area,.dhx_form-group--state_error .dhx_simplevault__drop-area:focus{border-color:#ffbaba}.dhx_form-group--state_success .dhx_input__caption,.dhx_form-group--state_success .dhx_label{color:#0ab169}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{box-shadow:inset 0 0 0 1px #9de0c3}.dhx_form-group--state_success .dhx_simplevault__drop-area,.dhx_form-group--state_success .dhx_simplevault__drop-area:focus{border-top-color:#9de0c3;border-left-color:#9de0c3;border-right-color:#9de0c3}.dhx_form-group--state_success .dhx_simplevault-files,.dhx_form-group--state_success .dhx_simplevault-files:focus{border-right-color:#9de0c3;border-left-color:#9de0c3;border-bottom-color:#9de0c3}.dhx_form-group--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_form-group .dhx_combobox{margin:0}.dhx_form-group .dhx_slider{padding-bottom:0}.dhx_input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:#f6f6f6;background-clip:padding-box;box-shadow:inset 0 0 0 1px #dfdfdf;border:0;border-radius:2px;outline:0;transition:border-color .2s ease-in,box-shadow .2s ease-in}.dhx_input::-webkit-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input:-ms-input-placeholder,.dhx_input::-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::placeholder{color:rgba(0,0,0,.5)}.dhx_input:focus{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_input--icon-padding{padding-right:24px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{box-shadow:none;background:none;padding-left:0}.dhx_input--textinput:focus{box-shadow:none}.dhx_input__wrapper{width:100%;display:flex;flex-direction:column;position:relative}.dhx_input__wrapper:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_input__container{width:100%;display:inline-block;position:relative}.dhx_input__caption{left:0;bottom:0;max-width:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;font-weight:400;line-height:16px;color:rgba(0,0,0,.5);white-space:wrap;overflow-x:hidden;text-overflow:ellipsis;cursor:default}.dhx_input__icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:4px;z-index:1;color:rgba(0,0,0,.5);pointer-events:none}.dhx_input__icon--color-selected{border-radius:2px}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:20px;line-height:20px}.dhx_label{display:inline-block;width:auto;flex:0 1 auto;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;cursor:pointer;transition:color .2s ease-in,opacity .2s ease-in}.dhx_label:hover{opacity:.8;transition:color .2s ease-out,opacity .2s ease-out}.dhx_label__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_label--with-help{display:flex;align-items:center}.dhx_label-help{margin-left:4px;color:#0288d1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_label-help:focus{outline:none}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__visual-input{display:block;border:2px solid rgba(0,0,0,.5);width:20px;height:20px;background-color:#fff;border-radius:2px;cursor:pointer}.dhx_checkbox .dhx_label{margin-top:4px;margin-bottom:0;width:auto}.dhx_checkbox .dhx_label:after{display:none}.dhx_checkbox .dhx_input__caption{position:static;display:block;-webkit-transform:none;transform:none}.dhx_checkbox.dhx_form-group--inline{display:flex;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_checkbox.dhx_form-group--hidden{display:none}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.dhx_checkbox__input:focus+.dhx_checkbox__visual-input{border-color:#0288d1}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input{background-color:#0288d1;background-position:50%;background-size:cover;border-color:#0288d1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);transition:background-color .2s ease-out}.dhx_radiobutton{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_radiobutton__visual-input{display:block;border:2px solid rgba(0,0,0,.5);bottom:4px;left:0;width:20px;height:20px;background-color:#fff;border-radius:50%}.dhx_radiobutton .dhx_label{margin-top:4px;margin-bottom:0;width:auto;cursor:pointer}.dhx_radiobutton .dhx_input__caption{position:static;display:block}.dhx_radiobutton.dhx_form-group--inline{white-space:nowrap;display:flex;align-items:center}.dhx_radiobutton.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0;padding-top:2px;padding-bottom:2px}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.dhx_radiobutton__input:focus+.dhx_radiobutton__visual-input{border-color:#0288d1}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:#0288d1;border-color:#0288d1;box-shadow:inset 0 0 0 4px #fff;transition:background-color .2s ease-out}.dhx_select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{border:none;border-radius:2px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;font-weight:400;text-align:center;overflow:hidden;position:relative}.dhx_simplevault__drop-area{background-color:#f6f6f6;border:1px solid #dfdfdf;transition:all .2s ease-in;display:flex;width:100%;height:122px;flex-direction:column;justify-content:center;align-items:center;padding:20px}.dhx_simplevault__drop-area--on-drag{border-style:dashed;transition:border .2s ease-out}.dhx_simplevault__icon:before{font-size:40px;color:rgba(0,0,0,.3);transition:color .2s ease-in}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:#0288d1;cursor:pointer}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in,-webkit-transform .2s ease-in}.dhx_simplevault-files{background-color:#f6f6f6;border:1px solid #dfdfdf;border-top:none;transition:all .2s ease-in;width:100%;margin:0;padding:0;list-style:none;max-height:calc(100% - 142px);height:calc(100% - 142px);overflow-y:auto}.dhx_simplevault-files__fixed{max-height:276px}.dhx_simplevault-files__item{position:relative;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;text-align:left;color:rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:1px solid #e4e4e4}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_simplevault-loader{display:flex;justify-content:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:#ededed;-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0;will-change:transform;transition:0ms;z-index:1}.dhx_simplevault-loader .dhx_simplevault__icon:before{color:#0288d1}.dhx_list{margin:0;padding:0;height:100%;list-style:none;overflow:auto;max-height:100%}.dhx_list--virtual{overflow:visible;max-height:unset;border:none}.dhx_list-item{overflow:hidden;position:relative;padding:8px 12px;border-bottom:1px solid #e4e4e4}.dhx_list-item,.dhx_list-item--text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_list-item--text{font-size:14px;font-weight:400;line-height:20px;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_list-item--selected{background-color:#f7f7f7;box-shadow:inset 2px 0 0 0 #0288d1}.dhx_list-item--focus,.dhx_list-item--selected:hover,.dhx_list-item:hover{background-color:#ededed;transition:background-color .2s ease-out}.dhx_list-item--drophere:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;background-color:#f7f7f7;opacity:.6}.dhx_list-item--dragtarget{opacity:.6}.dhx_list-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_list-input{width:100%;padding-left:5px}.dhx_virtual-list-wrapper{overflow:auto;max-height:100%;border:1px solid #e4e4e4} \ No newline at end of file diff --git a/samples/tabbar/common/list/list.min.js b/samples/tabbar/common/list/list.min.js new file mode 100644 index 0000000..e2d841f --- /dev/null +++ b/samples/tabbar/common/list/list.min.js @@ -0,0 +1,21 @@ +/* +@license + +undefined v.6.2.3 Professional + +This software is covered by DHTMLX Commercial License. +Usage without proper license is prohibited. + +(c) XB Software. + +*/ +if(window.dhx&&(window.dhx_legacy=dhx,delete window.dhx),function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.dhx=e():t.dhx=e()}(window,function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/codebase/",n(n.s=17)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.all="all",t.level="level",t.leafs="leafs"}(e.TreeFilterType||(e.TreeFilterType={})),function(t){t.top="top",t.bot="bot",t.in="in"}(e.DropPosition||(e.DropPosition={})),function(t){t.afterAdd="afteradd",t.beforeAdd="beforeadd",t.removeAll="removeall",t.beforeRemove="beforeremove",t.afterRemove="afterremove",t.change="change",t.load="load",t.loadError="loaderror"}(e.DataEvents||(e.DataEvents={})),function(t){t.beforeDrag="beforedrag",t.beforeDrop="beforeDrop",t.dragStart="dragstart",t.dragEnd="dragend",t.canDrop="candrop",t.cancelDrop="canceldrop",t.dropComplete="dropcomplete",t.dragOut="dragOut",t.dragIn="dragIn"}(e.DragEvents||(e.DragEvents={})),function(t){t.target="target",t.both="both",t.source="source"}(e.DragMode||(e.DragMode={})),function(t){t.child="child",t.sibling="sibling",t.complex="complex"}(e.DropBehaviour||(e.DropBehaviour={})),function(t){t.json="json",t.csv="csv",t.xml="xml"}(e.DataDriver||(e.DataDriver={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=n(12);e.isEqualObj=function(t,e){for(var n in t)if(t[n]!==e[n])return!1;return!0},e.naturalCompare=function(t,e){if(isNaN(t)||isNaN(e)){var n=[],i=[];for(t.replace(/(\d+)|(\D+)/g,function(t,e,i){n.push([e||1/0,i||""])}),e.replace(/(\d+)|(\D+)/g,function(t,e,n){i.push([e||1/0,n||""])});n.length&&i.length;){var r=n.shift(),o=i.shift(),s=r[0]-o[0]||r[1].localeCompare(o[1]);if(s)return s}return n.length-i.length}return t-e},e.findByConf=function(t,e){if("function"==typeof e){if(e.call(this,t))return t}else if(e.by&&e.match&&t[e.by]===e.match)return t},e.isDebug=function(){var t=window.dhx;if(void 0!==t)return void 0!==t.debug&&t.debug},e.dhxWarning=function(t){console.warn(t)},e.dhxError=function(t){throw new Error(t)},e.toProxy=function(t){var e=typeof t;return"string"===e?new i.DataProxy(t):"object"===e?t:void 0},e.toDataDriver=function(t){if("string"==typeof t){var e=window.dhx,n=e&&e.dataDrivers||r.dataDrivers;if(n[t])return new n[t];console.warn("Incorrect data driver type:",t),console.warn("Available types:",JSON.stringify(Object.keys(n)))}else if("object"==typeof t)return t},e.copyWithoutInner=function(t,e){var n={};for(var i in t)"$"===i[0]||e&&e[i]||(n[i]=t[i]);return n},e.isTreeCollection=function(t){return Boolean(t.getRoot)},e.hasJsonOrArrayStructure=function(t){if("object"==typeof t)return!0;if("string"!=typeof t)return!1;try{var e=JSON.parse(t);return"[object Object]"===Object.prototype.toString.call(e)||Array.isArray(e)}catch(t){return!1}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(11),r=function(){function t(t){this.url=t}return t.prototype.load=function(){return i.ajax.get(this.url)},t.prototype.save=function(t,e){switch(e){case"delete":return i.ajax.delete(this.url,t);case"update":case"insert":default:return i.ajax.post(this.url,t)}},t}();e.DataProxy=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(4),r=(new Date).valueOf();e.uid=function(){return"u"+r++},e.extend=function t(e,n,i){if(void 0===i&&(i=!0),n)for(var r in n){var o=n[r],s=e[r];!i||"object"!=typeof s||s instanceof Date||s instanceof Array?e[r]=o:t(s,o)}return e},e.copy=function(t,e){var n={};for(var i in t)e&&"$"===i[0]||(n[i]=t[i]);return n},e.naturalSort=function(t){return t.sort(function(t,e){return"string"==typeof t?t.localeCompare(e):t-e})},e.findIndex=function(t,e){for(var n=t.length,i=0;ie.length)return!1;for(var n=0;ne)return[];for(var n=[];t<=e;)n.push(t++);return n},e.isNumeric=function(t){return!isNaN(t-parseFloat(t))},e.downloadFile=function(t,e,n){void 0===n&&(n="text/plain");var i=new Blob([t],{type:n});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(i,e);else{var r=document.createElement("a"),o=URL.createObjectURL(i);r.href=o,r.download=e,document.body.appendChild(r),r.click(),setTimeout(function(){document.body.removeChild(r),window.URL.revokeObjectURL(o)},0)}}},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n-1)return e[n[l]](i,r);o=o.parentNode}return!0}},e.locate=function(t,e){void 0===e&&(e="dhx_id");var n=r(t,e);return n?n.getAttribute(e):""},e.locateNode=r,e.getBox=function(t){var e=t.getBoundingClientRect(),n=document.body,i=window.pageYOffset||n.scrollTop,r=window.pageXOffset||n.scrollLeft;return{top:e.top+i,left:e.left+r,right:n.offsetWidth-e.right,bottom:n.offsetHeight-e.bottom,width:e.right-e.left,height:e.bottom-e.top}};var o,s=-1;function a(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,right:e.right+window.pageXOffset,top:e.top+window.pageYOffset,bottom:e.bottom+window.pageYOffset}}function l(t,e){var n=e.mode===o.bottom||e.mode===o.top?c(t,e):d(t,e),i=n.left,r=n.top;return{left:Math.round(i)+"px",top:Math.round(r)+"px",minWidth:Math.round(e.width)+"px",position:"absolute"}}function u(){return{rightBorder:window.pageXOffset+window.innerWidth,bottomBorder:window.pageYOffset+window.innerHeight}}function c(t,e){var n,r,s=u(),a=s.rightBorder,l=s.bottomBorder-t.bottom-e.height,c=t.top-e.height;if(e.mode===o.bottom?l>=0?r=t.bottom:c>=0&&(r=c):c>=0?r=c:l>=0&&(r=t.bottom),l<0&&c<0){if(e.auto)return d(t,i({},e,{mode:o.right,auto:!1}));r=l>c?t.bottom:c}if(e.centering)n=function(t,e,n){var i=(e-(t.right-t.left))/2,r=t.left-i,o=t.right+i;return r>=0&&o<=n?r:r<0?0:n-e}(t,e.width,a);else{var f=a-t.left-e.width,h=t.right-e.width;n=f>=0?t.left:h>=0?h:h>f?t.left:h}return{left:n,top:r}}function d(t,e){var n,r,s=u(),a=s.rightBorder,l=s.bottomBorder,d=a-t.right-e.width,f=t.left-e.width;if(e.mode===o.right?d>=0?n=t.right:f>=0&&(n=f):f>=0?n=f:d>=0&&(n=t.right),f<0&&d<0){if(e.auto)return c(t,i({},e,{mode:o.bottom,auto:!1}));n=f>d?f:t.right}if(e.centering)r=function(t,e,n){var i=(e-(t.bottom-t.top))/2,r=t.top-i,o=t.bottom+i;return r>=0&&o<=n?r:r<0?0:n-e}(t,e.height,a);else{var h=t.bottom-e.height,p=l-t.top-e.height;r=p>=0?t.top:h>0?h:h>p?h:t.top}return{left:n,top:r}}e.getScrollbarWidth=function(){if(s>-1)return s;var t=document.createElement("div");return document.body.appendChild(t),t.style.cssText="position: absolute;left: -99999px;overflow:scroll;width: 100px;height: 100px;",s=t.offsetWidth-t.clientWidth,document.body.removeChild(t),s},e.fitPosition=function(t,e){return l(a(t),e)},e.isIE=function(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1},e.getRealPosition=a,function(t){t.left="left",t.right="right",t.bottom="bottom",t.top="top"}(o=e.Position||(e.Position={})),e.calculatePosition=l},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(0)),i(n(10)),i(n(27)),i(n(28)),i(n(2)),i(n(1)),i(n(14)),i(n(13)),i(n(30)),i(n(12)),i(n(11))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t){this.events={},this.context=t||this}return t.prototype.on=function(t,e,n){var i=t.toLowerCase();this.events[i]=this.events[i]||[],this.events[i].push({callback:e,context:n||this.context})},t.prototype.detach=function(t,e){var n=t.toLowerCase(),i=this.events[n];if(e&&i&&i.length)for(var r=i.length-1;r>=0;r--)i[r].context===e&&i.splice(r,1);else this.events[n]=[]},t.prototype.fire=function(t,e){void 0===e&&(e=[]);var n=t.toLowerCase();return!this.events[n]||this.events[n].map(function(t){return t.callback.apply(t.context,e)}).indexOf(!1)<0},t.prototype.clear=function(){this.events={}},t}();e.EventSystem=i,e.EventsMixin=function(t){var e=new i(t=t||{});t.detachEvent=e.detach.bind(e),t.attachEvent=e.on.bind(e),t.callEvent=e.fire.bind(e)}},function(t,e,n){(function(e,n){!function(){var i=1,r={},o=!1;function s(t){e.setImmediate?n(t):e.importScripts?setTimeout(t):(r[++i]=t,e.postMessage(i,"*"))}function a(t){"use strict";if("function"!=typeof t&&void 0!=t)throw TypeError();if("object"!=typeof this||this&&this.then)throw TypeError();var e,n,i=this,r=0,o=0,l=[];i.promise=i,i.resolve=function(t){return e=i.fn,n=i.er,r||(o=t,r=1,s(d)),i},i.reject=function(t){return e=i.fn,n=i.er,r||(o=t,r=2,s(d)),i},i._d=1,i.then=function(t,e){if(1!=this._d)throw TypeError();var n=new a;return n.fn=t,n.er=e,3==r?n.resolve(o):4==r?n.reject(o):l.push(n),n},i.catch=function(t){return i.then(null,t)};var u=function(t){r=t||4,l.map(function(t){3==r&&t.resolve(o)||t.reject(o)})};try{"function"==typeof t&&t(i.resolve,i.reject)}catch(t){i.reject(t)}return i;function c(t,e,n,i){if(2==r)return i();if("object"!=typeof o&&"function"!=typeof o||"function"!=typeof t)i();else try{var s=0;t.call(o,function(t){s++||(o=t,e())},function(t){s++||(o=t,n())})}catch(t){o=t,n()}}function d(){var t;try{t=o&&o.then}catch(t){return o=t,r=2,d()}c(t,function(){r=1,d()},function(){r=2,d()},function(){try{1==r&&"function"==typeof e?o=e(o):2==r&&"function"==typeof n&&(o=n(o),r=1)}catch(t){return o=t,u()}o==i?(o=TypeError(),u()):c(t,function(){u(3)},u,function(){u(1==r&&3)})})}}(e=this).setImmediate||e.addEventListener("message",function(t){if(t.source==e)if(o)s(r[t.data]);else{o=!0;try{r[t.data]()}catch(t){}delete r[t.data],o=!1}}),a.resolve=function(t){if(1!=this._d)throw TypeError();return t instanceof a?t:new a(function(e){e(t)})},a.reject=function(t){if(1!=this._d)throw TypeError();return new a(function(e,n){n(t)})},a.all=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());var e=new a;return function n(i,r){return r?e.resolve(r):i?e.reject(i):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(e,i){e&&e.then&&e.then(function(e){return t[i]=e,n(),e},n)}))}(),e},a.race=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());if(0==t.length)return new a;var e=new a;return function n(i,r){return r?e.resolve(r):i?e.reject(i):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(t,e){t&&t.then&&t.then(function(t){n(null,t)},n)}))}(),e},a._d=1,t.exports=a}()}).call(this,n(8),n(20).setImmediate)},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeUnSelect="beforeunselect",t.afterUnSelect="afterunselect",t.beforeSelect="beforeselect",t.afterSelect="afterselect"}(e.SelectionEvents||(e.SelectionEvents={}))},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=0?e:-1},t.prototype.getId=function(t){if(this._order[t])return this._order[t].id},t.prototype.getLength=function(){return this._order.length},t.prototype.filter=function(t,e){if((e=c.extend({add:!1,multiple:!0},e)).add||(this._order=this._initOrder||this._order,this._initOrder=null),this._filters=this._filters||{},e.multiple&&t||(this._filters={}),t){if("function"==typeof t){this._filters._={match:"_",compare:t}}else t.match?(t.compare=t.compare||function(t,e){return t===e},this._filters[t.by]=t):delete this._filters[t.by];this._applyFilters()}this.events.fire(u.DataEvents.change)},t.prototype.find=function(t){for(var e in this._pull){var n=l.findByConf(this._pull[e],t);if(n)return n}return null},t.prototype.findAll=function(t){var e=[];for(var n in this._pull){var i=l.findByConf(this._pull[n],t);i&&e.push(i)}return e},t.prototype.sort=function(t){if(t)this._sort.sort(this._order,t),this._initOrder&&this._initOrder.length&&this._sort.sort(this._initOrder,t);else{for(var e in this._order=[],this._pull)this._order.push(this._pull[e]);this._applyFilters()}this.events.fire(u.DataEvents.change)},t.prototype.copy=function(e,n,r,o){var s=this;if(e instanceof Array)return e.map(function(e,a){if(!s.exists(e))return null;var u=c.uid(),d=-1===n?-1:n+a;return r?r instanceof t||!o?r.exists(e)?(r.add(i({},l.copyWithoutInner(s.getItem(e)),{id:u}),d),u):(r.add(l.copyWithoutInner(s.getItem(e)),d),e):void r.add(l.copyWithoutInner(s.getItem(e)),d):(s.add(i({},l.copyWithoutInner(s.getItem(e)),{id:u}),d),u)});if(!this.exists(e))return null;var a=c.uid();return r?r instanceof t||!o?r.exists(e)?(r.add(i({},l.copyWithoutInner(this.getItem(e)),{id:a}),n),a):(r.add(l.copyWithoutInner(this.getItem(e)),n),e):void r.add(l.copyWithoutInner(this.getItem(e)),n):(this.add(i({},l.copyWithoutInner(this.getItem(e)),{id:a}),n),a)},t.prototype.move=function(t,e,n,i){var r=this;if(t instanceof Array)return t.map(function(t,o){var s=-1===e?-1:e+o;if(n&&n!==r&&r.exists(t)){var a=c.copy(r.getItem(t),!0);return n.exists(t)&&(a.id=c.uid()),i&&(a.parent=i),n.add(a,s),r.remove(t),a.id}if(r.getIndex(t)===s)return null;var l=r._order.splice(r.getIndex(t),1)[0];return-1===e&&(e=r._order.length),r._order.splice(s,0,l),r.events.fire(u.DataEvents.change),t});if(n&&n!==this&&this.exists(t)){var o=c.copy(this.getItem(t),!0);return n.exists(t)&&(o.id=c.uid()),i&&(o.parent=i),n.add(o,e),this.remove(t),o.id}if(this.getIndex(t)===e)return null;var s=this._order.splice(this.getIndex(t),1)[0];return-1===e&&(e=this._order.length),this._order.splice(e,0,s),this.events.fire(u.DataEvents.change),t},t.prototype.load=function(t,e){return"string"==typeof t&&(t=new a.DataProxy(t)),this._loader.load(t,e)},t.prototype.parse=function(t,e){return this._removeAll(),this._loader.parse(t,e)},t.prototype.$parse=function(t){var e=this.config.approximate;e&&(t=this._approximate(t,e.value,e.maxNum)),this._parse_data(t),this.events.fire(u.DataEvents.change,["load"]),this.events.fire(u.DataEvents.load)},t.prototype.save=function(t){this._loader.save(t)},t.prototype.isSaved=function(){return!this._changes.order.length},t.prototype.map=function(t){for(var e=[],n=0;nthis._order.length-1&&(e=this._order.length-1);for(var i=[],r=t;r<=e;r++)i.push(n.call(this,this._order[r],r));return i},t.prototype.reduce=function(t,e){for(var n=0;n=0&&(this._order=this._order.filter(function(e){return e.id!==t}),delete this._pull[t]),this._initOrder&&this._initOrder.length&&(this._initOrder=this._initOrder.filter(function(e){return e.id!==t}))},t.prototype._parse_data=function(t){var e=this._order.length;this.config.prep&&(t=this.config.prep(t));for(var n=0,i=t;n=0&&t[n]?(this._pull[e.id]=e,t.splice(n,0,e)):(this._pull[e.id]=e,t.push(e))},t.prototype._applyFilters=function(){var t=this;if(this._filters&&Object.keys(this._filters).length){var e=this._order.filter(function(e){return Object.keys(t._filters).every(function(n){return e[n]?t._filters[n].compare(e[n],t._filters[n].match,e):t._filters[n].compare(e)})});this._initOrder||(this._initOrder=this._order),this._order=e}},t}();e.DataCollection=d},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),r=n(1);function o(t){return t?t.indexOf("json")>=0?"json":t.indexOf("xml")>=0?"xml":"text":"text"}function s(e,n,s,a,l){var u=a||{};if(l&&(u.Accept="application/"+l),"GET"!==s&&(u["Content-Type"]=u["Content-Type"]||"application/json"),"GET"===s){var c=n&&"object"==typeof n?function(t){return Object.keys(t).reduce(function(e,n){var i="object"==typeof t[n]?JSON.stringify(t[n]):t[n];return e.push(n+"="+encodeURIComponent(i)),e},[]).join("&")}(n):n&&"string"==typeof n?n:"";c&&(e+=-1===e.indexOf("?")?"?":"&",e+=c),n=null}return window.fetch?window.fetch(e,{method:s,body:n?JSON.stringify(n):null,headers:u}).then(function(e){if(!e.ok)return e.text().then(function(n){return t.reject({status:e.status,statusText:e.statusText,message:n})});var n=l||o(e.headers.get("Content-Type"));if("raw"===n)return{headers:Object.fromEntries(e.headers.entries()),url:e.url,body:e.body};if(204!==e.status)switch(n){case"json":return e.json();case"xml":var s=r.toDataDriver(i.DataDriver.xml);return s?e.text().then(s.toJsonObject):e.text();default:return e.text()}}):new t(function(t,a){var c=new XMLHttpRequest;for(var d in c.onload=function(){c.status>=200&&c.status<300?("raw"===l&&t({url:c.responseURL,headers:c.getAllResponseHeaders().trim().split(/[\r\n]+/).reduce(function(t,e){var n=e.split(": ");return t[n[0]]=n[1],t},{}),body:c.response}),204===c.status?t():t(function(t,e){switch(e){case"json":return JSON.parse(t);case"text":return t;case"xml":var n=r.toDataDriver(i.DataDriver.xml);return n?n.toJsonObject(t):{parseError:"Incorrect data driver type: 'xml'"};default:return t}}(c.responseText,l||o(c.getResponseHeader("Content-Type"))))):a({status:c.status,statusText:c.statusText})},c.onerror=function(){a({status:c.status,statusText:c.statusText,message:c.responseText})},c.open(s,e),u)c.setRequestHeader(d,u[d]);switch(s){case"POST":case"DELETE":case"PUT":c.send(n&&JSON.stringify(n));break;case"GET":default:c.send()}})}e.ajax={get:function(t,e,n){return s(t,e,"GET",n&&n.headers,void 0!==n?n.responseType:void 0)},post:function(t,e,n){return s(t,e,"POST",n&&n.headers,void 0!==n?n.responseType:void 0)},put:function(t,e,n){return s(t,e,"PUT",n&&n.headers,void 0!==n?n.responseType:void 0)},delete:function(t,e,n){return s(t,e,"DELETE",n&&n.headers,void 0!==n?n.responseType:void 0)}}}).call(this,n(7))},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(21),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(8))},function(t,e,n){(function(t,e){!function(t,n){"use strict";if(!t.setImmediate){var i,r=1,o={},s=!1,a=t.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(t);l=l&&l.setTimeout?l:t,"[object process]"==={}.toString.call(t.process)?i=function(t){e.nextTick(function(){c(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?function(){var e="setImmediate$"+Math.random()+"$",n=function(n){n.source===t&&"string"==typeof n.data&&0===n.data.indexOf(e)&&c(+n.data.slice(e.length))};t.addEventListener?t.addEventListener("message",n,!1):t.attachEvent("onmessage",n),i=function(n){t.postMessage(e+n,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){c(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){c(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(c,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n1)for(var n=1;n\n";for(var s in t)Array.isArray(t[s])?(n+=r(e+i)+"<"+s+">\n",n+=t[s].map(function(t){return o(t,e+2*i)}).join("\n")+"\n",n+=r(e+i)+"\n"):n+=r(e+i)+"<"+s+">"+t[s]+"\n";return n+=r(e)+""}e.jsonToXML=function(t,e){void 0===e&&(e="root");for(var n='\n<'+e+">",i=0;i"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(){function t(){}return t.prototype.sort=function(t,e){var n=this;e.rule&&"function"==typeof e.rule?this._sort(t,e):e.by&&(e.rule=function(t,r){var o=n._checkVal(e.as,t[e.by]),s=n._checkVal(e.as,r[e.by]);return i.naturalCompare(o.toString(),s.toString())},this._sort(t,e))},t.prototype._checkVal=function(t,e){return t?t.call(this,e):e},t.prototype._sort=function(t,e){var n=this,i={asc:1,desc:-1};return t.sort(function(t,r){return e.rule.call(n,t,r)*(i[e.dir]||i.asc)})},t}();e.Sort=r},function(t,e){if(Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),o=n(10),s=n(2),a=n(1),l=n(0);function u(t,e,n,i){void 0!==i&&-1!==i&&t[n]&&t[n][i]?t[n].splice(i,0,e):(t[n]||(t[n]=[]),t[n].push(e))}var c=function(t){function e(e,n){var i,o=t.call(this,e,n)||this,s=o._root="_ROOT_"+r.uid();return o._childs=((i={})[s]=[],i),o._initChilds=null,o}return i(e,t),e.prototype.add=function(e,n,i){var r=this;if(void 0===n&&(n=-1),void 0===i&&(i=this._root),"object"!=typeof e&&(e={value:e}),Array.isArray(e))return e.map(function(e,o){o>0&&-1!==n&&(n+=1),e.parent=e.parent?e.parent.toString():i;var s=t.prototype.add.call(r,e,n);if(Array.isArray(e.items))for(var a=0,l=e.items;a0&&i[t]!==i[s.getRoot()]&&e){var o=i[s.getRoot()].find(function(e){if(e.id===t)return e});o&&r.push(o)}},s=this;for(var a in i)o(a);i[this.getRoot()]=r,this._childs=i,this.events.fire(l.DataEvents.change)}else this.restoreOrder()},e.prototype.restoreOrder=function(){this._initChilds&&(this._childs=this._initChilds,this._initChilds=null),this.events.fire(l.DataEvents.change)},e.prototype.copy=function(t,e,n,i){var o=this;if(void 0===n&&(n=this),void 0===i&&(i=this._root),t instanceof Array)return t.map(function(t,s){if(!o.exists(t))return null;var l=o._childs[t],u=-1===e?-1:e+s;if(n===o&&!o.canCopy(t,i))return null;var c=a.copyWithoutInner(o.getItem(t),{items:!0});if(n.exists(t)&&(c.id=r.uid()),a.isTreeCollection(n)){if(o.exists(t)&&(c.parent=i,n!==o&&i===o._root&&(c.parent=n.getRoot()),n.add(c,u),t=c.id),l)for(var d=0,f=l;d1?(this._selectedIds=e,this._itemsForGhost=n):(this._selectedIds=[],this._itemsForGhost=null),o&&s){var a=i.getBox(r),l=a.left,u=a.top;this._transferData.initXOffset=t.pageX-l,this._transferData.initYOffset=t.pageY-u,this._transferData.x=t.pageX,this._transferData.y=t.pageY,this._transferData.targetId=s,this._transferData.id=o,this._transferData.item=r}}},t.prototype._moveGhost=function(t,e){this._transferData.ghost&&(this._transferData.ghost.style.left=t-this._transferData.initXOffset+"px",this._transferData.ghost.style.top=e-this._transferData.initYOffset+"px")},t.prototype._removeGhost=function(){document.body.removeChild(this._transferData.ghost)},t.prototype._onDrop=function(){if(this._canMove){var t=r.collectionStore.getItem(this._lastCollectionId),e=t&&t.config;if(t&&e.dragMode!==o.DragMode.source){if(t.events.fire(o.DragEvents.beforeDrop,[this._lastId,this._transferData.target])){var n={id:this._lastId,target:t},i={id:this._transferData.id,target:this._transferData.target};this._move(i,n),n.target.events.fire(o.DragEvents.dropComplete,[n.id,this._transferData.dropPosition])}this._endDrop()}else this._endDrop()}else this._endDrop()},t.prototype._onDragStart=function(t,e){var n=r.collectionStore.getItem(e),i=n.config;if(i.dragMode===o.DragMode.target)return null;var s=n.data.getItem(t),a=function(t,e){var n=t.getBoundingClientRect(),i=document.createElement("div"),r=t.cloneNode(!0);return r.style.width=n.width+"px",r.style.height=n.height+"px",r.style.maxHeight=n.height+"px",r.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,r.style.opacity="0.8",r.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,i.appendChild(r),e&&e.length&&e.forEach(function(t,e){var r=t.cloneNode(!0);r.style.width=n.width+"px",r.style.height=n.height+"px",r.style.maxHeight=n.height+"px",r.style.top=12*(e+1)-n.height-n.height*e+"px",r.style.left=12*(e+1)+"px",r.style.opacity="0.6",r.style.zIndex=""+(-e-1),i.appendChild(r)}),i.className="dhx_drag-ghost",i}(this._transferData.item,this._itemsForGhost);return n.events.fire(o.DragEvents.beforeDrag,[s,a])&&t?(n.events.fire(o.DragEvents.dragStart,[t,this._selectedIds]),this._toggleTextSelection(!0),this._transferData.target=n,this._transferData.dragConfig=i,a):null},t.prototype._onDrag=function(t){var e=t.clientX,n=t.clientY,a=document.elementFromPoint(e,n),l=i.locate(a,"dhx_widget_id");if(l){var u=r.collectionStore.getItem(l),c=i.locate(a,"dhx_id");if(!c)return this._cancelCanDrop(),this._lastCollectionId=l,this._lastId=null,void this._canDrop();if(u.config.dropBehaviour===o.DropBehaviour.complex){var d=function(t){var e=t.clientY,n=i.locateNode(t);if(!n)return null;var r=n.childNodes[0].getBoundingClientRect();return(e-r.top)/r.height}(t);this._transferData.dropPosition=d<=.25?o.DropPosition.top:d>=.75?o.DropPosition.bot:o.DropPosition.in}else if(this._lastId===c&&this._lastCollectionId===l)return;var f={id:this._transferData.id,target:this._transferData.target};if("source"!==u.config.dragMode)if(f.target.events.fire(o.DragEvents.dragOut,[c,u]),l!==this._transferData.targetId||!s.isTreeCollection(f.target.data)||s.isTreeCollection(f.target.data)&&f.target.data.canCopy(f.id,c))this._cancelCanDrop(),this._lastId=c,this._lastCollectionId=l,f.target.events.fire(o.DragEvents.dragIn,[c,this._transferData.dropPosition,r.collectionStore.getItem(l)])&&this._canDrop();else this._cancelCanDrop()}else this._canMove&&this._cancelCanDrop()},t.prototype._move=function(t,e){var n=t.target.data,i=e.target.data,r=0,a=e.id;switch(s.isTreeCollection(i)?e.target.config.dropBehaviour:void 0){case o.DropBehaviour.child:break;case o.DropBehaviour.sibling:a=i.getParent(a),r=i.getIndex(e.id)+1;break;case o.DropBehaviour.complex:var l=this._transferData.dropPosition;l===o.DropPosition.top?(a=i.getParent(a),r=i.getIndex(e.id)):l===o.DropPosition.bot&&(a=i.getParent(a),r=i.getIndex(e.id)+1);break;default:r=e.id?t.target===e.target&&i.getIndex(t.id)1?this._selectedIds.map(function(t){n.copy(t,r,i,a),r>-1&&r++}):n.copy(t.id,r,i,a):this._selectedIds instanceof Array&&this._selectedIds.length>1?this._selectedIds.map(function(t){n.move(t,r,i,a),r>-1&&r++}):n.move(t.id,r,i,a)},t.prototype._endDrop=function(){this._toggleTextSelection(!1),this._transferData.target&&this._transferData.target.events.fire(o.DragEvents.dragEnd,[this._transferData.id,this._selectedIds]),this._cancelCanDrop(),this._canMove=!0,this._transferData={},this._lastId=null,this._lastCollectionId=null},t.prototype._cancelCanDrop=function(){this._canMove=!1;var t=r.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(o.DragEvents.cancelDrop,[this._lastId]),this._lastCollectionId=null,this._lastId=null},t.prototype._canDrop=function(){this._canMove=!0;var t=r.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(o.DragEvents.canDrop,[this._lastId,this._transferData.dropPosition])},t.prototype._toggleTextSelection=function(t){t?document.body.classList.add("dhx_no-select"):document.body.classList.remove("dhx_no-select")},t}(),l=window.dhxHelpers=window.dhxHelpers||{};l.dragManager=l.dragManager||new a,e.dragManager=l.dragManager},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(){this._store={}}return t.prototype.setItem=function(t,e){this._store[t]=e},t.prototype.getItem=function(t){return this._store[t]?this._store[t]:null},t}(),r=window.dhxHelpers=window.dhxHelpers||{};r.collectionStore=r.collectionStore||new i,e.collectionStore=r.collectionStore},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(6),r=n(9),o=n(0),s=function(){function t(t,e,n){var r=this;this.events=n||new i.EventSystem(this),this._data=e,this._data.events.on(o.DataEvents.removeAll,function(){r._selected=null}),this._data.events.on(o.DataEvents.change,function(){if(r._selected){var t=r._data.getNearId(r._selected);t!==r._selected&&(r._selected=null,t&&r.add(t))}})}return t.prototype.getId=function(){return this._selected},t.prototype.getItem=function(){return this._selected?this._data.getItem(this._selected):null},t.prototype.remove=function(t){return!(t=t||this._selected)||!!this.events.fire(r.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=null,this.events.fire(r.SelectionEvents.afterUnSelect,[t]),!0)},t.prototype.add=function(t){this._selected!==t&&(this.remove(),this.events.fire(r.SelectionEvents.beforeSelect,[t])&&(this._selected=t,this._data.update(t,{$selected:!0}),this.events.fire(r.SelectionEvents.afterSelect,[t])))},t}();e.Selection=s},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,i=arguments.length;nthis.data.getLength()-1)){this._focusIndex=t;var e=this.getRootView();if(e&&e.node&&e.node.el){var n=this.getRootNode();if(n){if(this.config.virtual){var i=t*_.defineValue(this.config.itemHeight);(i>=_.defineValue(this._visibleHeight)+this._topOffset||i=n.scrollTop+n.clientHeight-r.clientHeight?n.scrollTop=r.offsetTop-n.clientHeight+r.clientHeight:r.offsetTope-_.defineValue(this._visibleHeight)&&(t=e-_.defineValue(this._visibleHeight));var n=Math.floor(_.defineValue(this._visibleHeight)/_.defineValue(this.config.itemHeight))+5,i=Math.floor(t/_.defineValue(this.config.itemHeight));this._range=[i,n+i],this._topOffset=t,this.paint()},e.prototype._getHeight=function(){return this.data.getLength()*_.defineValue(this.config.itemHeight)},e.prototype._getHotkeys=function(){var t=this;if(this.config.keyNavigation)if(this._edited)this._navigationDestructor&&this._navigationDestructor();else{var e=this.config.keyNavigation;"function"!=typeof this.config.keyNavigation&&(this._widgetInFocus=!1,e=function(){return t._widgetInFocus},this._documentClickDestuctor=o.detectWidgetClick(this._uid,function(e){return t._widgetInFocus=e}));var n=function(t){return function(e){e.preventDefault(),t()}};this._navigationDestructor=u.addHotkeys({arrowdown:n(function(){return t.setFocusIndex(t._focusIndex+1)}),arrowup:n(function(){return t.setFocusIndex(t._focusIndex-1)}),enter:function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n),t.events.fire(p.ListEvents.click,[n,e])},"enter+shift":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!1,!0),t.events.fire(p.ListEvents.click,[n,e])},"enter+ctrl":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!0,!1),t.events.fire(p.ListEvents.click,[n,e])},"enter+meta":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!0,!1),t.events.fire(p.ListEvents.click,[n,e])}},e)}},e}(d.View);e.List=g},function(t,e,n){ +/** +* Copyright (c) 2017, Leon Sorokin +* All rights reserved. (MIT Licensed) +* +* domvm.js (DOM ViewModel) +* A thin, fast, dependency-free vdom view layer +* @preserve https://github.com/leeoniya/domvm (v3.2.6, micro build) +*/ +t.exports=function(){"use strict";var t=1,e=2,n=3,i=4,r=5,o="undefined"!=typeof window,s=(o?window:{}).requestAnimationFrame,a={};function l(){}var u=Array.isArray;function c(t){return null!=t}function d(t){return null!=t&&t.constructor===Object}function f(t,e,n,i){t.splice.apply(t,[n,i].concat(e))}function h(t){var e=typeof t;return"string"===e||"number"===e}function p(t){return"function"==typeof t}function v(t){for(var e=arguments,n=1;n0&&n[i-1].type===e?(n[i-1].body+=r.body,n.splice(i--,1)):H(r,t,i,null):H(r,t,i,null))}}(t)}}var R={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,order:!0,lineClamp:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};function F(t,e){return isNaN(e)||R[t]?e:e+"px"}function V(t,e){var n=(t.attrs||a).style,i=e?(e.attrs||a).style:null;if(null==n||h(n))t.el.style.cssText=n;else{for(var r in n){var o=n[r];(null==i||null!=o&&o!==i[r])&&(t.el.style[r]=F(r,o))}if(i)for(var s in i)null==n[s]&&(t.el.style[s]="")}}var B=[];function W(t,e,n,i,r){if(null!=t){var o=n.hooks[e];if(o){if("d"!==e[0]||"i"!==e[1]||"d"!==e[2])return o(n,i);r?I(n.parent)&&o(n,i):B.push([o,n,i])}}}function $(t){var e;if(B.length)for(I(t.node);e=B.shift();)e[0](e[1],e[2])}var z=o?document:null;function U(t){return t.nextSibling}function J(t,e,n){var i=e._node,r=i.vm;if(u(i.body))if((i.flags&M)===M)for(var o=0;o>1]===t)return n;e[n]0&&(i[o]=r[e-1]),r[e]=o)}}for(e=r.length,n=r[e-1];e-- >0;)r[e]=n,n=i[n];return r}(o).map(function(t){return o[t]}),u=0;uc&&(m=null,v=!1):w=!0,c>100&&w&&++b%10==0))for(;I1){var o=1;d(i[1])&&(n=i[1],o=2),e=r===o+1&&(h(i[o])||u(i[o])||n&&(n._flags&L)===L)?i[o]:_(i,o)}return N(t,n,e)}return k.patch=function(t,e){!function(t,e,n){if(null!=e.type){if(null!=t.vm)return;H(e,t.parent,t.idx,null),t.parent.body[t.idx]=e,bt(e,t),n&&I(e),$(S(e))}else{var i=Object.create(t);i.attrs=v({},t.attrs);var r=v(t.attrs,e);if(null!=t._class){var o=r.class;r.class=null!=o&&""!==o?t._class+" "+o:t._class}st(t,i),n&&I(t)}}(this,t,e)},It.emit=function(t){var e=this,n=e,i=_(arguments,1).concat(n,n.data);do{var r=e.onemit,o=r?r[t]:null;if(o){o.apply(e,i);break}}while(e=e.parent());Z[t]&&Z[t].apply(e,i)},It.onemit=null,It.body=function(){return function t(e,n){var i=e.body;if(u(i))for(var r=0;r=48&&e.which<=57||e.which>=65&&e.which<=90?String.fromCharCode(e.which):e.key)&&n.toLowerCase()),r=t._keysStorage[i];if(r)for(var o=0;o=0;s--)n[r].splice(o[s],1)}},t.prototype.exist=function(t){var e=i(t);return!!this._keysStorage[e]},t}();e.keyManager=new r,e.addHotkeys=function(t,n){var i=new Date,r=function(t){return function(e){n&&!1===n()||t(e)}};for(var o in t)e.keyManager.addHotKey(o,r(t[o]),i);return function(){return e.keyManager.removeHotKey(void 0,i)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(4),o=function(){function t(t,e){this._uid=i.uid(),this.config=e||{}}return t.prototype.mount=function(t,e){e&&(this._view=e),t&&this._view&&this._view.mount&&(this._container=r.toNode(t),this._container.tagName?this._view.mount(this._container):this._container.attach&&this._container.attach(this))},t.prototype.unmount=function(){var t=this.getRootView();t&&t.node&&(t.unmount(),this._view=null)},t.prototype.getRootView=function(){return this._view},t.prototype.getRootNode=function(){return this._view&&this._view.node&&this._view.node.el},t.prototype.paint=function(){this._view&&(this._view.node||this._container)&&(this._doNotRepaint=!1,this._view.redraw())},t}();e.View=o,e.toViewLike=function(t){return{getRootView:function(){return t},paint:function(){return t.node&&t.redraw()},mount:function(e){return t.mount(e)}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(9),r=n(5),o=function(){function t(t,e){var n=this;this.config=t,this.events=e.events,this._data=e,this._selected=[],this._lastShiftSelectedIndexes=[],this._data.events.on(r.DataEvents.removeAll,function(){n._selected=[]}),this._data.events.on(r.DataEvents.afterRemove,function(t){if(n._selected=n._selected.filter(function(e){return e!==t.id}),!n.config.multiselection||0===n.getId().length){var e=n._data.getId(n._lastSelectedIndex);if(e)n.add(e);else{var i=n._data.getId(n._data.getLength()-1);i&&n.add(i)}}})}return t.prototype.getId=function(){return this.config.multiselection?this._selected:this._selected[0]},t.prototype.getItem=function(){var t=this;if(this._selected.length){var e=this._selected.map(function(e){return t._data.getItem(e)});return this.config.multiselection?e:e[0]}return null},t.prototype.contains=function(t){return t?this._selected.indexOf(t)>-1:this._selected.length>0},t.prototype.remove=function(t){var e=this;if(t)return!t&&!this._selected.length||(t?this._unselectItem(t):(this._selected.forEach(function(t){return e._unselectItem(t)}),!0));this._data.map(function(t){t.$selected=!1,e._selected=[]})},t.prototype.add=function(t,e,n){var r=this;if(this.events.fire(i.SelectionEvents.beforeSelect))return t?void(this.config.multiselection?this._addMulti(t,e,n):this._addSingle(t,e)):(this._selected=[],void this._data.map(function(t){t.$selected=!0,r._selected.push(t.id)}))},t.prototype._addMulti=function(t,e,n){var r=this,o=this._data.getIndex(t);"click"===this.config.multiselectionMode&&(n?(this._addWithShift(o),this.events.fire(i.SelectionEvents.afterSelect,[t])):(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[])),"ctrlClick"===this.config.multiselectionMode&&(n||e||(this._data.map(function(t){t.$selected=!1,r._selected=[]}),this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]),n&&(this._addWithShift(o),this.events.fire(i.SelectionEvents.afterSelect,[t])),e&&(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]))},t.prototype._addWithShift=function(t){var e=this;t>=this._lastSelectedIndex&&(this._data.map(function(t,n){-1!==e._lastShiftSelectedIndexes.indexOf(n)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(n)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==n&&t!==e._lastSelectedIndex}))}),this._data.map(function(n,i){i>=e._lastSelectedIndex&&i<=t&&(n.$selected=!0,-1===e._selected.indexOf(n.id)&&e._selected.push(n.id),i!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(i)&&e._lastShiftSelectedIndexes.push(i))})),t<=this._lastSelectedIndex&&(this._data.map(function(t,n){-1!==e._lastShiftSelectedIndexes.indexOf(n)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(n)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==n&&t!==e._lastSelectedIndex}))}),this._data.map(function(n,i){i<=e._lastSelectedIndex&&i>=t&&(n.$selected=!0,-1===e._selected.indexOf(n.id)&&e._selected.push(n.id),i!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(i)&&e._lastShiftSelectedIndexes.push(i))}))},t.prototype._addSingle=function(t,e){this.remove(),this.config&&"click"===this.config.multiselectionMode?this._selectItem(t):e&&this._selectItem(t)},t.prototype._isSelected=function(t){return-1!==this._selected.indexOf(t)},t.prototype._selectItem=function(t){this._selected.push(t),this._data.update(t,{$selected:!0}),this._lastSelectedIndex=this._data.getIndex(t),this.events.fire(i.SelectionEvents.afterSelect,[t])},t.prototype._unselectItem=function(t){return!!this.events.fire(i.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=this._selected.filter(function(e){return e!==t}),this.events.fire(i.SelectionEvents.afterUnSelect,[t]),!0)},t}();e.Selection=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(37);e.getEditor=function(t,e){return new i.InputEditor(t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(15),r=n(16),o=function(){function t(t,e){var n=this;this._list=e,this._config=e.config,this._item=t,this._list.events.on(r.ListEvents.focusChange,function(t,e){n._mode&&e!==n._item.id&&n.endEdit()}),this._initHandlers()}return t.prototype.endEdit=function(){if(this._input){var t=this._input.value;this._list.events.fire(r.ListEvents.beforeEditEnd,[t,this._item.id])?(this._input.removeEventListener("blur",this._handlers.onBlur),this._input.removeEventListener("change",this._handlers.onChange),this._handlers={},this._mode=!1,this._list.events.fire(r.ListEvents.afterEditEnd,[t,this._item.id])):this._input.focus()}},t.prototype.toHTML=function(){this._mode=!0;var t=this._config.itemHeight;return i.el(".dhx_input__wrapper",{},[i.el("div.dhx_input__container",{},[i.el("input.dhx_input",{class:this._item.css?" "+this._item.css:"",style:{height:t,width:"100%",padding:"8px, 12px"},_hooks:{didInsert:this._handlers.didInsert},_key:this._item.id,dhx_id:this._item.id})])])},t.prototype._initHandlers=function(){var t=this;this._handlers={onBlur:function(){t.endEdit()},onChange:function(){t.endEdit()},didInsert:function(e){var n=e.el;t._input=n,n.focus(),n.value=t._item.value,n.setSelectionRange(0,n.value.length),n.addEventListener("change",t._handlers.onChange),n.addEventListener("blur",t._handlers.onBlur)}}},t}();e.InputEditor=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.defineValue=function(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return parseInt(e.split(/\D+/g)[0],null)},e.defineUnit=function(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return e.slice(e.split(/\D+/g)[0].length)}}])}),window.dhx_legacy){if(window.dhx)for(var key in dhx)dhx_legacy[key]=dhx[key];window.dhx=dhx_legacy,delete window.dhx_legacy} \ No newline at end of file diff --git a/samples/tabbar/index.html b/samples/tabbar/index.html index 984d6a8..f559ae4 100644 --- a/samples/tabbar/index.html +++ b/samples/tabbar/index.html @@ -4,19 +4,21 @@ - + Samples - DHTMLX Tabbar -
    +

    diff --git a/samples/timepicker/01_init/01_init.html b/samples/timepicker/01_init/01_init.html index ce813d2..5714043 100644 --- a/samples/timepicker/01_init/01_init.html +++ b/samples/timepicker/01_init/01_init.html @@ -7,9 +7,11 @@ - - - + + + + + + + +
    +
    + +

    +
    + Clear timepicker value. +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + diff --git a/samples/timepicker/03_usage/index.html b/samples/timepicker/03_usage/index.html index 25cc0eb..4d9638f 100644 --- a/samples/timepicker/03_usage/index.html +++ b/samples/timepicker/03_usage/index.html @@ -4,7 +4,7 @@ - + Usage - DHTMLX Timepicker @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Timepicker samples -
  • -
  • - Usage -
  • +
  • + Timepicker samples +
  • +
  • + Usage +
  • @@ -42,6 +41,11 @@

    Get timepicker value +
  • + + Clear timepicker value + +
  • diff --git a/samples/timepicker/04_customization/01_custom_styles.html b/samples/timepicker/04_customization/01_custom_styles.html index 63d5989..4947d72 100644 --- a/samples/timepicker/04_customization/01_custom_styles.html +++ b/samples/timepicker/04_customization/01_custom_styles.html @@ -2,13 +2,15 @@ - custom styles - DHTMLX Timepicker + Custom style - DHTMLX Timepicker - - - + + + + + + .bg-grey { + background: #efefef; + } + diff --git a/samples/timepicker/04_customization/index.html b/samples/timepicker/04_customization/index.html index 2cf2d18..d372f0b 100644 --- a/samples/timepicker/04_customization/index.html +++ b/samples/timepicker/04_customization/index.html @@ -4,7 +4,7 @@ - + Customization - DHTMLX Timepicker @@ -16,13 +16,12 @@
  • Suite samples
  • - -
  • - Timepicker samples -
  • -
  • - Customization -
  • +
  • + Timepicker samples +
  • +
  • + Customization +
  • @@ -34,7 +33,7 @@

    1. - 01_custom_styles + Custom style
    diff --git a/samples/timepicker/05_events/01_events.html b/samples/timepicker/05_events/01_events.html index 1530148..03da7fb 100644 --- a/samples/timepicker/05_events/01_events.html +++ b/samples/timepicker/05_events/01_events.html @@ -7,9 +7,11 @@ - - - + + + + + - - -
    -
    - +

    +
    + Basic initialization. +
    +

    +
    +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/samples/toolbar/01_init/02_config_data.html b/samples/toolbar/01_init/02_config_data.html index ab64e55..a13392a 100644 --- a/samples/toolbar/01_init/02_config_data.html +++ b/samples/toolbar/01_init/02_config_data.html @@ -6,12 +6,14 @@ - - - + + + + + - - + +
    @@ -33,17 +35,20 @@

    +
    Config data. +

    -
    +
    - - diff --git a/samples/toolbar/01_init/03_external_data.html b/samples/toolbar/01_init/03_external_data.html index b0b783d..24b2a45 100644 --- a/samples/toolbar/01_init/03_external_data.html +++ b/samples/toolbar/01_init/03_external_data.html @@ -6,11 +6,13 @@ - - - + + + + + - +
    @@ -32,22 +34,23 @@

    +
    Init with external data. +

    -
    + +
    -
    - + var data = new dhx.TreeCollection(); + data.load("../common/struct.json"); + var toolbar = new dhx.Toolbar("toolbar", { + data: data, + css: "dhx_widget--bordered dhx_widget--bg_gray" + }); + diff --git a/samples/toolbar/01_init/index.html b/samples/toolbar/01_init/index.html index a4df026..c7620e9 100644 --- a/samples/toolbar/01_init/index.html +++ b/samples/toolbar/01_init/index.html @@ -4,25 +4,24 @@ - + Initialization - DHTMLX Toolbar -
    +

    @@ -34,7 +33,7 @@

    1. - Basic initilization + Basic initialization
    2. diff --git a/samples/toolbar/02_configuration/01_buttons.html b/samples/toolbar/02_configuration/01_buttons.html index 61f371b..426ae03 100644 --- a/samples/toolbar/02_configuration/01_buttons.html +++ b/samples/toolbar/02_configuration/01_buttons.html @@ -6,9 +6,11 @@ - - - + + + + + + + +
      +
      + +

      +
      + Custom HTML. +
      +

      +
      +
      +
      +
      +
      + + + + \ No newline at end of file diff --git a/samples/toolbar/02_configuration/08_spacer.html b/samples/toolbar/02_configuration/08_spacer.html index e528f48..566dc86 100644 --- a/samples/toolbar/02_configuration/08_spacer.html +++ b/samples/toolbar/02_configuration/08_spacer.html @@ -6,9 +6,11 @@ - - - + + + + + @@ -31,31 +33,34 @@

      +
      Spacer. +

    -
    +
    - - diff --git a/samples/toolbar/02_configuration/09_separator.html b/samples/toolbar/02_configuration/09_separator.html index aff22cf..cbb8d77 100644 --- a/samples/toolbar/02_configuration/09_separator.html +++ b/samples/toolbar/02_configuration/09_separator.html @@ -6,9 +6,11 @@ - - - + + + + + @@ -31,40 +33,42 @@

    +
    Separator. +

    - +
    -
    - - diff --git a/samples/toolbar/02_configuration/10_item_html_content.html b/samples/toolbar/02_configuration/10_item_html_content.html new file mode 100644 index 0000000..8447985 --- /dev/null +++ b/samples/toolbar/02_configuration/10_item_html_content.html @@ -0,0 +1,93 @@ + + + + + Item HTML Content - DHTMLX Toolbar + + + + + + + + + + + + +
    +
    + +

    +
    + Item HTML Content. +
    +

    +
    +
    +
    +
    +
    + + + diff --git a/samples/toolbar/02_configuration/11_tooltips.html b/samples/toolbar/02_configuration/11_tooltips.html new file mode 100644 index 0000000..779a9e7 --- /dev/null +++ b/samples/toolbar/02_configuration/11_tooltips.html @@ -0,0 +1,80 @@ + + + + + Tooltips - DHTMLX Toolbar + + + + + + + + + + + +
    +
    + +

    +
    + Tooltips. +
    +

    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/samples/toolbar/02_configuration/12_two_state.html b/samples/toolbar/02_configuration/12_two_state.html new file mode 100644 index 0000000..9429ef3 --- /dev/null +++ b/samples/toolbar/02_configuration/12_two_state.html @@ -0,0 +1,76 @@ + + + + + Two state - DHTMLX Toolbar + + + + + + + + + + + +
    +
    + +

    +
    + Two state. +
    +

    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/samples/toolbar/02_configuration/13_group_buttons.html b/samples/toolbar/02_configuration/13_group_buttons.html new file mode 100644 index 0000000..272e88d --- /dev/null +++ b/samples/toolbar/02_configuration/13_group_buttons.html @@ -0,0 +1,98 @@ + + + + + Group buttons - DHTMLX Toolbar + + + + + + + + + + + +
    +
    + +

    +
    + Group buttons. +
    +

    +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/samples/toolbar/02_configuration/index.html b/samples/toolbar/02_configuration/index.html index dc3cef5..025f625 100644 --- a/samples/toolbar/02_configuration/index.html +++ b/samples/toolbar/02_configuration/index.html @@ -4,25 +4,24 @@ - + Configuration - DHTMLX Toolbar -
    +

    @@ -32,6 +31,7 @@

    +
    Get state. +

    -
    +
    - +
    @@ -97,20 +101,19 @@

    ] }, ]; - var toolbar = new dhx.Toolbar("toolbar", {css:"dhx_widget--bordered"}) + var toolbar = new dhx.Toolbar("toolbar", { + css: "dhx_widget--bordered" + }); toolbar.data.parse(data); - var textarea = document.querySelector("#dhx_result"); - document.querySelector("#get").addEventListener("click", function() { + + function getState() { var value = toolbar.getState(); - var result = "" + var result = ""; for (var key in value) { result += key + " : " + value[key] + "
    " } - - textarea.innerHTML = result - }) - + document.querySelector("#dhx_result").innerHTML = result + } - diff --git a/samples/toolbar/03_usage/02_set_state.html b/samples/toolbar/03_usage/02_set_state.html index 821d2d1..1d6736d 100644 --- a/samples/toolbar/03_usage/02_set_state.html +++ b/samples/toolbar/03_usage/02_set_state.html @@ -6,9 +6,11 @@ - - - + + + + + @@ -31,12 +33,14 @@

    +
    Set state. +

    - +
    - +
    @@ -49,7 +53,6 @@

    }

    - diff --git a/samples/toolbar/03_usage/03_hide_show.html b/samples/toolbar/03_usage/03_hide_show.html index 5971467..c8ce1bc 100644 --- a/samples/toolbar/03_usage/03_hide_show.html +++ b/samples/toolbar/03_usage/03_hide_show.html @@ -6,11 +6,13 @@ - - - + + + + + - +
    @@ -32,26 +34,25 @@

    +
    Hide/show. +

    -
    +
    - - + +
    - diff --git a/samples/toolbar/03_usage/04_enable_disable.html b/samples/toolbar/03_usage/04_enable_disable.html index 7b75115..a58ab7f 100644 --- a/samples/toolbar/03_usage/04_enable_disable.html +++ b/samples/toolbar/03_usage/04_enable_disable.html @@ -6,11 +6,11 @@ - - - + + + - +
    @@ -32,18 +32,21 @@

    +
    Enable/disable. +

    -
    +
    - - + + + +
    - diff --git a/samples/toolbar/03_usage/05_destructor.html b/samples/toolbar/03_usage/05_destructor.html index 1d374eb..eb41797 100644 --- a/samples/toolbar/03_usage/05_destructor.html +++ b/samples/toolbar/03_usage/05_destructor.html @@ -6,11 +6,13 @@ - - - + + + + + - +
    @@ -32,24 +34,21 @@

    +
    Destructor. +

    -
    +
    - +
    - - diff --git a/samples/toolbar/03_usage/06_add.html b/samples/toolbar/03_usage/06_add.html index 6b067e9..0868044 100644 --- a/samples/toolbar/03_usage/06_add.html +++ b/samples/toolbar/03_usage/06_add.html @@ -6,23 +6,21 @@ - - - + + + + + - - + + - +
    @@ -44,10 +42,12 @@

    +
    Add. +

    -
    +
    @@ -55,18 +55,13 @@

    - diff --git a/samples/toolbar/03_usage/07_update.html b/samples/toolbar/03_usage/07_update.html index 9828c34..9cdecfd 100644 --- a/samples/toolbar/03_usage/07_update.html +++ b/samples/toolbar/03_usage/07_update.html @@ -6,12 +6,15 @@ - - + + + + + - - - + + + - +
    @@ -44,25 +47,28 @@

    +
    Update. +

    -
    +
    - - diff --git a/samples/toolbar/03_usage/08_remove.html b/samples/toolbar/03_usage/08_remove.html index 6993785..5029b07 100644 --- a/samples/toolbar/03_usage/08_remove.html +++ b/samples/toolbar/03_usage/08_remove.html @@ -6,12 +6,14 @@ - - - + + + + + - - + + - +
    @@ -41,19 +43,20 @@

    +
    Remove. +

    -
    +
    - - + +
    - diff --git a/samples/toolbar/03_usage/index.html b/samples/toolbar/03_usage/index.html index fab0025..65417ea 100644 --- a/samples/toolbar/03_usage/index.html +++ b/samples/toolbar/03_usage/index.html @@ -4,25 +4,24 @@ - + Usage - DHTMLX Toolbar -
    +

    diff --git a/samples/toolbar/04_customization/01_mutli_click.html b/samples/toolbar/04_customization/01_mutli_click.html index e0bdf55..1ab28a5 100644 --- a/samples/toolbar/04_customization/01_mutli_click.html +++ b/samples/toolbar/04_customization/01_mutli_click.html @@ -6,9 +6,11 @@ - - - + + + + + @@ -31,17 +33,18 @@

    +
    Multi click. +

    -
    +
    - - diff --git a/samples/toolbar/04_customization/02_badges.html b/samples/toolbar/04_customization/02_badges.html index 4a0a454..d86b202 100644 --- a/samples/toolbar/04_customization/02_badges.html +++ b/samples/toolbar/04_customization/02_badges.html @@ -6,9 +6,11 @@ - - - + + + + + @@ -31,15 +33,15 @@

    +
    Badges. +

    - +
    -
    - - diff --git a/samples/toolbar/04_customization/03_custom_css.html b/samples/toolbar/04_customization/03_custom_css.html index b681ac3..21cbd06 100644 --- a/samples/toolbar/04_customization/03_custom_css.html +++ b/samples/toolbar/04_customization/03_custom_css.html @@ -1,176 +1,179 @@ + + + Custom css - DHTMLX Toolbar + + + + + + - - - Custom css - DHTMLX Toolbar - - - - - - - - - -
    -
    - +

    +
    + Custom css. +
    +

    +
    +
    +
    +
    +
    + + \ No newline at end of file diff --git a/samples/toolbar/04_customization/04_custom_icons.html b/samples/toolbar/04_customization/04_custom_icons.html index 4215504..7968aa3 100644 --- a/samples/toolbar/04_customization/04_custom_icons.html +++ b/samples/toolbar/04_customization/04_custom_icons.html @@ -6,11 +6,13 @@ - - - + + + + + - +
    @@ -32,15 +34,15 @@

    +
    Custom icons. +

    -
    +
    -
    - - diff --git a/samples/toolbar/04_customization/index.html b/samples/toolbar/04_customization/index.html index 974d5c6..2684ed4 100644 --- a/samples/toolbar/04_customization/index.html +++ b/samples/toolbar/04_customization/index.html @@ -4,25 +4,24 @@ - + Customization - DHTMLX Toolbar -
    +

    diff --git a/samples/toolbar/05_events/01_events.html b/samples/toolbar/05_events/01_events.html index 47bdeea..8209a25 100644 --- a/samples/toolbar/05_events/01_events.html +++ b/samples/toolbar/05_events/01_events.html @@ -1,87 +1,86 @@ + + + Events - DHTMLX Toolbar + + + + + + - - - Events - DHTMLX Toolbar - - - - - - - - - - - - -
    -
    - +

    +
    + Events. +
    +

    +
    +
    +
    +
    +
    +
    + - - + function getEvent(event, args) { + var argsList = "
    Arguments:
    "; + for (var i = 0; i < args.length; i++) { + argsList += "
    " + args[i] + "
    "; + } + return "
    Event " + counter++ + ": " + event + argsList + "
    "; + } + + \ No newline at end of file diff --git a/samples/toolbar/05_events/index.html b/samples/toolbar/05_events/index.html index 7453147..0547e45 100644 --- a/samples/toolbar/05_events/index.html +++ b/samples/toolbar/05_events/index.html @@ -4,25 +4,24 @@ - + Events - DHTMLX Toolbar -
    +

    diff --git a/samples/toolbar/common/avatars/Avatar_02.jpg b/samples/toolbar/common/avatars/Avatar_02.jpg new file mode 100644 index 0000000..5758799 Binary files /dev/null and b/samples/toolbar/common/avatars/Avatar_02.jpg differ diff --git a/samples/toolbar/common/avatars/Avatar_05.jpg b/samples/toolbar/common/avatars/Avatar_05.jpg new file mode 100644 index 0000000..9015079 Binary files /dev/null and b/samples/toolbar/common/avatars/Avatar_05.jpg differ diff --git a/samples/toolbar/common/data.js b/samples/toolbar/common/data.js index 9915a49..108ba14 100644 --- a/samples/toolbar/common/data.js +++ b/samples/toolbar/common/data.js @@ -1,10 +1,11 @@ -var data = [{ +var data = [ + { id: "other", icon: "mdi mdi-menu", - "type": "button", - "view": "link", - "circle": true, - "color": "secondary", + type: "button", + view: "link", + circle: true, + color: "secondary", }, { id: "add", @@ -17,7 +18,8 @@ var data = [{ { id: "language", value: "Language", - items: [{ + items: [ + { id: "eng", value: "English" }, @@ -38,7 +40,8 @@ var data = [{ { id: "skin", value: "Skin", - items: [{ + items: [ + { id: "material", value: "Material" }, diff --git a/samples/toolbar/common/form/form.min.css b/samples/toolbar/common/form/form.min.css index f037614..a2fd5d8 100644 --- a/samples/toolbar/common/form/form.min.css +++ b/samples/toolbar/common/form/form.min.css @@ -1 +1 @@ -.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:-webkit-grab!important;cursor:grab!important}.dhx_no-select--pointer{cursor:pointer}.dhx_no-select--pointer,.dhx_no-select--resize{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"liga";font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{box-sizing:border-box}body{margin:0}.dhx_widget{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_widget--bordered{border:1px solid #e4e4e4}.dhx_widget--border_top{border-top:1px solid #e4e4e4}.dhx_widget--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_widget--border_left{border-left:1px solid #e4e4e4}.dhx_widget--border_right{border-right:1px solid #e4e4e4}.dhx_widget--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget--bg_white{background-color:#fff}.dhx_widget--bg_gray{background-color:#f7f7f7}@font-face{font-family:Roboto;src:url(fonts/roboto-regular-webfont.woff2) format("woff2"),url(fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-medium-webfont.woff2) format("woff2"),url(fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-bold-webfont.woff2) format("woff2"),url(fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}@font-face{font-family:dhxicons;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff")}.dxi:before{font-family:dhxicons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dxi.dxi-alert-circle:before{content:"\F101"}.dxi.dxi-arrow-collapse:before{content:"\F102"}.dxi.dxi-arrow-expand:before{content:"\F103"}.dxi.dxi-blur-off:before{content:"\F104"}.dxi.dxi-blur:before{content:"\F105"}.dxi.dxi-calendar-today:before{content:"\F106"}.dxi.dxi-check:before{content:"\F107"}.dxi.dxi-checkbox-blank-outline:before{content:"\F108"}.dxi.dxi-checkbox-marked-circle:before{content:"\F109"}.dxi.dxi-checkbox-marked:before{content:"\F10A"}.dxi.dxi-chevron-down:before{content:"\F10B"}.dxi.dxi-chevron-left:before{content:"\F10C"}.dxi.dxi-chevron-right:before{content:"\F10D"}.dxi.dxi-chevron-up:before{content:"\F10E"}.dxi.dxi-clock-outline:before{content:"\F10F"}.dxi.dxi-clock:before{content:"\F110"}.dxi.dxi-close-circle:before{content:"\F111"}.dxi.dxi-close:before{content:"\F112"}.dxi.dxi-delete-forever:before{content:"\F113"}.dxi.dxi-delete:before{content:"\F114"}.dxi.dxi-dots-horizontal:before{content:"\F115"}.dxi.dxi-dots-vertical:before{content:"\F116"}.dxi.dxi-download:before{content:"\F117"}.dxi.dxi-eraser:before{content:"\F118"}.dxi.dxi-eye-off:before{content:"\F119"}.dxi.dxi-eye:before{content:"\F11A"}.dxi.dxi-eyedropper-variant:before{content:"\F11B"}.dxi.dxi-file-export:before{content:"\F11C"}.dxi.dxi-file-outline:before{content:"\F11D"}.dxi.dxi-filter-variant:before{content:"\F11E"}.dxi.dxi-folder-open:before{content:"\F11F"}.dxi.dxi-folder:before{content:"\F120"}.dxi.dxi-format-align-center:before{content:"\F121"}.dxi.dxi-format-align-left:before{content:"\F122"}.dxi.dxi-format-align-right:before{content:"\F123"}.dxi.dxi-format-bold:before{content:"\F124"}.dxi.dxi-format-color-fill:before{content:"\F125"}.dxi.dxi-format-color-text:before{content:"\F126"}.dxi.dxi-format-italic:before{content:"\F127"}.dxi.dxi-format-line-spacing:before{content:"\F128"}.dxi.dxi-format-quote-close:before{content:"\F129"}.dxi.dxi-format-quote-open:before{content:"\F12A"}.dxi.dxi-format-strikethrough:before{content:"\F12B"}.dxi.dxi-format-underline:before{content:"\F12C"}.dxi.dxi-format-vertical-align-bottom:before{content:"\F12D"}.dxi.dxi-format-vertical-align-center:before{content:"\F12E"}.dxi.dxi-format-vertical-align-top:before{content:"\F12F"}.dxi.dxi-function-variant:before{content:"\F130"}.dxi.dxi-help-circle-outline:before{content:"\F131"}.dxi.dxi-information-outline:before{content:"\F132"}.dxi.dxi-key:before{content:"\F133"}.dxi.dxi-link-variant-off:before{content:"\F134"}.dxi.dxi-link-variant:before{content:"\F135"}.dxi.dxi-loading:before{content:"\F136"}.dxi.dxi-magnify:before{content:"\F137"}.dxi.dxi-menu-down:before{content:"\F138"}.dxi.dxi-menu-left:before{content:"\F139"}.dxi.dxi-menu-right:before{content:"\F13A"}.dxi.dxi-menu-up:before{content:"\F13B"}.dxi.dxi-minus-box:before{content:"\F13C"}.dxi.dxi-minus:before{content:"\F13D"}.dxi.dxi-numeric:before{content:"\F13E"}.dxi.dxi-pencil:before{content:"\F13F"}.dxi.dxi-plus-circle:before{content:"\F140"}.dxi.dxi-plus:before{content:"\F141"}.dxi.dxi-printer:before{content:"\F142"}.dxi.dxi-redo:before{content:"\F143"}.dxi.dxi-rotate-right:before{content:"\F144"}.dxi.dxi-sort-variant:before{content:"\F145"}.dxi.dxi-table-column-plus-before:before{content:"\F146"}.dxi.dxi-table-column-remove:before{content:"\F147"}.dxi.dxi-table-column:before{content:"\F148"}.dxi.dxi-table-row-plus-after:before{content:"\F149"}.dxi.dxi-table-row-remove:before{content:"\F14A"}.dxi.dxi-table-row:before{content:"\F14B"}.dxi.dxi-undo:before{content:"\F14C"}.dxi.dxi-unfold-more-horizontal:before{content:"\F14D"}.dxi.dxi-vault:before{content:"\F14E"}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:20px}.dxi--small:before{font-size:16px}.dxi--medium:before{font-size:20px}.dxi--large:before{font-size:24px}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:4px}.dhx_button__loading{position:absolute;left:0;top:0;right:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_button__loading-icon{-webkit-animation:a .9s linear infinite;animation:a .9s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:28px}.dhx_button--circle.dhx_button--size_medium{border-radius:32px}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:6px;padding-right:6px}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:4px;padding-right:4px}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:4px 12px;font-size:14px;line-height:20px}.dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:16px;margin-top:-8px;margin-left:-8px}.dhx_button--size_medium{padding:6px 16px;text-transform:uppercase;line-height:20px}.dhx_button--size_medium .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:20px;margin-top:-10px;margin-left:-10px}.dhx_button--view_flat{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;color:#fff;-webkit-transition:background-color .2s ease-in,color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{-webkit-transition:background-color .2s ease-out,color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_flat.dhx_button--color_primary{background-color:#0288d1;outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:#35a0da}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:#0288d1;box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary:disabled{background-color:#81c4e8}.dhx_button--view_flat.dhx_button--color_secondary{background-color:#4d4d4d;outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:#717171}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:#4d4d4d;box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary:disabled{background-color:#a6a6a6}.dhx_button--view_flat.dhx_button--color_danger{background-color:#ff5252;outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:#ff7575}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:#ff5252;box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger:disabled{background-color:#ffa9a9}.dhx_button--view_flat.dhx_button--color_success{background-color:#0ab169;outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:#3bc187}.dhx_button--view_flat.dhx_button--color_success:active{background-color:#0ab169;box-shadow:none}.dhx_button--view_flat.dhx_button--color_success:disabled{background-color:#85d8b4}.dhx_button--view_link{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;border-radius:2px;background:transparent;-webkit-transition:background-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_link:focus,.dhx_button--view_link:hover{-webkit-transition:background-color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:background-color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_link.dhx_button--color_primary{color:#0288d1;outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:#d9edf8}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:#b8def2}.dhx_button--view_link.dhx_button--color_primary:disabled{color:#81c4e8}.dhx_button--view_link.dhx_button--color_secondary{color:#4d4d4d;outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:#e4e4e4}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:#cdcdcd}.dhx_button--view_link.dhx_button--color_secondary:disabled{color:#a6a6a6}.dhx_button--view_link.dhx_button--color_danger{color:#ff5252;outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:#ffe5e5}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:#ffcfcf}.dhx_button--view_link.dhx_button--color_danger:disabled{color:#ffa9a9}.dhx_button--view_link.dhx_button--color_success{color:#0ab169;outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:#daf3e9}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:#bae9d5}.dhx_button--view_link.dhx_button--color_success:disabled{color:#85d8b4}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:8px;margin-right:auto}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_form-group{position:relative;display:block;text-align:left;padding-bottom:16px}.dhx_form-group--simplevault{line-height:0}.dhx_form-group--simplevault .dhx_label{margin-bottom:4px}.dhx_form-group--inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;max-height:40px;margin-right:16px;margin-bottom:0;text-align:right;width:100%}.dhx_form-group--inline .dhx_input-wrapper{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;width:300%}.dhx_form-group--inline .dhx_label--with-help{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_form-group--inline.dhx_form-group--simplevault .dhx_label,.dhx_form-group--inline.dhx_form-group--textarea .dhx_label{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative;margin-bottom:0}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--no-message-holder{padding-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input-caption,.dhx_form-group--state_error .dhx_label{color:#ff5252}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{box-shadow:inset 0 0 0 1px #ffbaba}.dhx_form-group--state_error .dhx_simplevault,.dhx_form-group--state_error .dhx_simplevault:focus{border-color:#ffbaba}.dhx_form-group--state_success .dhx_input-caption,.dhx_form-group--state_success .dhx_label{color:#0ab169}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{box-shadow:inset 0 0 0 1px #9de0c3}.dhx_form-group--state_success .dhx_simplevault,.dhx_form-group--state_success .dhx_simplevault:focus{border-color:#9de0c3}.dhx_form-group--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_input-wrapper{width:100%;display:inline-block;position:relative}.dhx_input-wrapper:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.dhx_input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:#f6f6f6;background-clip:padding-box;box-shadow:inset 0 0 0 1px #dfdfdf;border:0;border-radius:2px;outline:0;-webkit-transition:border-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:border-color .2s ease-in,box-shadow .2s ease-in}.dhx_input::-webkit-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input:-ms-input-placeholder,.dhx_input::-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::placeholder{color:rgba(0,0,0,.5)}.dhx_input:focus{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_input--icon-padding{padding-right:24px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{background:none;padding-left:0}.dhx_input--textinput,.dhx_input--textinput:focus{box-shadow:none}.dhx_input__icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);right:4px;z-index:1;color:rgba(0,0,0,.5);pointer-events:none}.dhx_input__icon--color-selected{border-radius:2px}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:20px;line-height:20px}.dhx_input-caption{position:absolute;left:0;bottom:0;max-width:100%;font-size:12px;font-weight:400;line-height:16px;color:rgba(0,0,0,.5);-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);cursor:default}.dhx_input-caption,.dhx_label{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}.dhx_label{display:inline-block;width:auto;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);cursor:pointer;-webkit-transition:color .2s ease-in,opacity .2s ease-in;transition:color .2s ease-in,opacity .2s ease-in}.dhx_label:hover{opacity:.8;-webkit-transition:color .2s ease-out,opacity .2s ease-out;transition:color .2s ease-out,opacity .2s ease-out}.dhx_label__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_label--with-help{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-bottom:4px}.dhx_label-help{margin-left:4px;color:#0288d1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_label-help:focus{outline:none}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__visual-input{display:block;border:2px solid rgba(0,0,0,.5);width:20px;height:20px;background-color:#fff;border-radius:2px;cursor:pointer}.dhx_checkbox .dhx_label{margin-top:4px;margin-bottom:0;width:auto}.dhx_checkbox .dhx_label:after{display:none}.dhx_checkbox .dhx_input-caption{position:static;display:block;-webkit-transform:none;-ms-transform:none;transform:none}.dhx_checkbox.dhx_form-group--inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.dhx_checkbox__input:focus+.dhx_checkbox__visual-input{border-color:#0288d1}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input{background-color:#0288d1;background-position:50%;background-size:cover;border-color:#0288d1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_radiobutton{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_radiobutton__visual-input{display:block;border:2px solid rgba(0,0,0,.5);bottom:4px;left:0;width:20px;height:20px;background-color:#fff;border-radius:50%}.dhx_radiobutton .dhx_label{margin-top:4px;margin-bottom:0;width:auto;cursor:pointer}.dhx_radiobutton .dhx_input-caption{position:static;display:block}.dhx_radiobutton.dhx_form-group--inline{white-space:nowrap;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_radiobutton.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.dhx_radiobutton__input:focus+.dhx_radiobutton__visual-input{border-color:#0288d1}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:#0288d1;border-color:#0288d1;box-shadow:inset 0 0 0 4px #fff;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:8px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{background-color:#f6f6f6;border:1px solid #dfdfdf;border-radius:2px;-webkit-transition:all .2s ease-in;transition:all .2s ease-in;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;font-weight:400;text-align:center;color:rgba(0,0,0,.7);overflow:hidden;position:relative}.dhx_simplevault__drop-area{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:20px}.dhx_simplevault__icon:before{font-size:40px;color:rgba(0,0,0,.3);-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:#0288d1;cursor:pointer}.dhx_simplevault--on-drag{border-style:dashed;-webkit-transition:border .2s ease-out;transition:border .2s ease-out}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in,-webkit-transform .2s ease-in}.dhx_simplevault-files{width:100%;margin:0;padding:0;list-style:none;border-top:1px solid #e4e4e4;max-height:276px;overflow-y:auto}.dhx_simplevault-files__item{position:relative;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;text-align:left;color:rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:1px solid #e4e4e4}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.dhx_simplevault-loader{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:#ededed;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);opacity:0;will-change:transform;-webkit-transition:0ms;transition:0ms;z-index:1}.dhx_simplevault-loader .dhx_simplevault__icon:before{color:#0288d1}.dhx_popup{position:fixed;box-sizing:border-box;-webkit-animation:b .2s ease-in-out forwards;animation:b .2s ease-in-out forwards;background:#fff;will-change:transform;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_popup,.dhx_popup--window,.dhx_popup--window_modal{z-index:2147483645}.dhx_popup--window_active{z-index:2147483646}.dhx_popup.hide{-webkit-animation:c .2s ease-in-out forwards;animation:c .2s ease-in-out forwards}.dhx_popup:focus{outline:none}.dhx_widget--fullscreen .dhx_popup{z-index:2147483647}@-webkit-keyframes b{0%{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes b{0%{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@-webkit-keyframes c{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}}@keyframes c{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}}.dhx_layout{max-width:100%;max-height:100%;width:100%;height:100%}.dhx_layout-columns{overflow:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.dhx_layout-columns>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_layout-rows{overflow:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.dhx_layout-rows>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_layout-cell--start,.dhx_layout-columns--start,.dhx_layout-rows--start{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.dhx_layout-cell--center,.dhx_layout-columns--center,.dhx_layout-rows--center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_layout-cell--end,.dhx_layout-columns--end,.dhx_layout-rows--end{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_layout-cell--between,.dhx_layout-columns--between,.dhx_layout-rows--between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_layout-cell--around,.dhx_layout-columns--around,.dhx_layout-rows--around{-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around}.dhx_layout-cell--evenly,.dhx_layout-columns--evenly,.dhx_layout-rows--evenly{-webkit-box-pack:space-evenly;-webkit-justify-content:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.dhx_layout-cell{-webkit-flex-basis:auto;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}.dhx_layout-cell--bordered{border:1px solid #e4e4e4}.dhx_layout-cell--border_top{border-top:1px solid #e4e4e4}.dhx_layout-cell--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_layout-cell--border_left{border-left:1px solid #e4e4e4}.dhx_layout-cell--border_right{border-right:1px solid #e4e4e4}.dhx_layout-cell--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_layout-cell--no-border{border:0}.dhx_layout-cell--no-border_top{border-top:0}.dhx_layout-cell--no-border_bottom{border-bottom:0}.dhx_layout-cell--no-border_left{border-left:0}.dhx_layout-cell--no-border_right{border-right:0}.dhx_layout-cell--gravity{-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.dhx_layout-cell--flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.dhx_layout-cell--accordion>.dhx_layout-cell--collapsed{border-bottom:0}.dhx_layout-cell--collapsed{overflow:hidden;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_layout-cell--resizeble{overflow:hidden}.dhx_layout-cell-content{padding:12px}.dhx_layout-cell-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #e4e4e4;padding:8px 12px}.dhx_layout-cell-header__title{margin:0;font-size:14px;line-height:20px;font-weight:500;color:rgba(0,0,0,.7);white-space:nowrap;overflow:hidden;text-overflow:clip;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.dhx_layout-cell-header__icon{margin-right:16px}.dhx_layout-cell-header__image-wrapper{position:relative;width:20px;height:20px;margin-right:8px}.dhx_layout-cell-header__image{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border-radius:50%}.dhx_layout-cell-header__collapse-icon{margin-left:auto;color:#4d4d4d;-webkit-transition:color .2s ease-in,-webkit-transform .2s ease-in;transition:color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,color .2s ease-in;transition:transform .2s ease-in,color .2s ease-in,-webkit-transform .2s ease-in}.dhx_layout-cell-header--collapseble{cursor:pointer}.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__title,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__title{color:#0288d1;-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.dhx_layout-cell-header--collapseble:focus,.dhx_layout-cell-header:focus{outline-width:0}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col{border-bottom:0;position:relative}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col .dhx_layout-cell-header__title{position:absolute;-webkit-transform-origin:left;-ms-transform-origin:left;transform-origin:left;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);bottom:-12px;left:50%}.dhx_layout-cell-header+.dhx_layout-cell-content{overflow:auto;max-height:calc(100% - 37px)}.dhx_layout-resizer{position:relative;overflow:visible;text-align:center}.dhx_layout-resizer .dhx_layout-resizer__icon{position:relative;z-index:1}.dhx_layout-resizer--x{width:0;height:100%;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.dhx_layout-resizer--x .dhx_layout-resizer__icon{color:rgba(0,0,0,.5);top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);cursor:ew-resize}.dhx_layout-resizer--x .dhx_layout-resizer__icon:before{font-size:16px}.dhx_layout-resizer--y{height:0;width:100%}.dhx_layout-resizer--y .dhx_layout-resizer__icon{color:rgba(0,0,0,.5);-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);cursor:ns-resize}.dhx_layout-resizer--y .dhx_layout-resizer__icon:before{font-size:16px}.dhx_slider{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding-bottom:16px}.dhx_slider--label-inline{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_slider--label-inline .dhx_slider__label{text-align:right;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;margin-right:16px;margin-bottom:0;width:100%}.dhx_slider--label-inline .dhx_label--with-help{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_slider--label-inline .dhx_slider__track-holder{width:300%;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_slider--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_slider--mode_vertical{height:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.dhx_slider--mode_vertical .dhx_slider__label{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.dhx_slider--mode_vertical .dhx_slider__track-holder{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:8px 0}.dhx_slider--mode_vertical .dhx_slider__track{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding:0 8px}.dhx_slider--mode_vertical .dhx_slider__track:before{width:2px;height:100%}.dhx_slider--mode_vertical .dhx_slider__range{width:2px;left:50%;-webkit-transform:translate(-50%);-ms-transform:translate(-50%);transform:translate(-50%)}.dhx_slider--mode_vertical .dhx_slider__thumb{left:50%}.dhx_slider--mode_vertical .dhx_slider__tick{height:1px;width:4px}.dhx_slider--mode_vertical .dhx_slider__tick:not(:first-child){-webkit-transform:translateY(-.5px);-ms-transform:translateY(-.5px);transform:translateY(-.5px)}.dhx_slider--mode_vertical .dhx_slider__tick--major{width:8px}.dhx_slider--mode_vertical .dhx_slider__tick-label{top:50%;left:100%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);padding-left:2px}.dhx_slider--ticks .dhx_slider__ticks-holder{height:4px}.dhx_slider--ticks.dhx_slider--mode_vertical .dhx_slider__ticks-holder{height:100%;width:4px}.dhx_slider__track-holder{position:relative;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.dhx_slider__track{position:relative;padding-top:8px;padding-bottom:8px;cursor:pointer;z-index:1}.dhx_slider__track:before{content:"";display:block;height:2px;background-color:#b3b3b3}.dhx_slider__thumb{position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background-color:#0288d1;-webkit-transition:border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;transition:border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;transition:transform .1s ease-out,border-color .2s ease-out,background-color .2s ease-out;transition:transform .1s ease-out,border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;will-change:transform;cursor:pointer}.dhx_slider__thumb:after,.dhx_slider__thumb:before{content:"";display:block;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%) scale(0);-ms-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);border-radius:50%;will-change:transform}.dhx_slider__thumb:before{width:28px;height:28px;background-color:rgba(2,136,209,.15)}.dhx_slider__thumb:after,.dhx_slider__thumb:before{-webkit-transition:background-color .2s ease-out,-webkit-transform .2s ease-out;transition:background-color .2s ease-out,-webkit-transform .2s ease-out;transition:transform .2s ease-out,background-color .2s ease-out;transition:transform .2s ease-out,background-color .2s ease-out,-webkit-transform .2s ease-out}.dhx_slider__thumb:after{width:16px;height:16px;background-color:#0288d1}.dhx_slider__thumb:focus,.dhx_slider__thumb:hover{outline:none}.dhx_slider__thumb:focus:before,.dhx_slider__thumb:hover:before{-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);-webkit-transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in,-webkit-transform .2s ease-in}.dhx_slider__thumb--active,.dhx_slider__thumb:active{z-index:1}.dhx_slider__thumb--active:after,.dhx_slider__thumb:active:after{-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);-webkit-transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in,-webkit-transform .2s ease-in}.dhx_slider__thumb--nullable{background-color:#b3b3b3}.dhx_slider__thumb--nullable:after{width:8px;height:8px;-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);background:#fff}.dhx_slider__thumb--nullable:before{background-color:rgba(77,77,77,.15)}.dhx_slider__thumb--disabled{background-color:#b3b3b3;border:2px solid #fff}.dhx_slider__thumb--disabled:after,.dhx_slider__thumb--disabled:before{display:none}.dhx_slider__thumb-label{position:absolute;padding:6px 12px;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border-radius:2px;background-color:#333;box-shadow:0 2px 5px rgba(0,0,0,.3);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#fff;-webkit-transition:opacity transform .01s ease-in;transition:opacity transform .01s ease-in;pointer-events:none;z-index:1}.dhx_slider__thumb-label--vertical{left:50px}.dhx_slider__thumb-label--horizontal{top:-30px}.dhx_slider__thumb-label--active{z-index:10}.dhx_slider__range{position:absolute;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);height:2px;background-color:#0288d1;pointer-events:none}.dhx_slider__ticks-holder{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_slider__tick{position:absolute;top:0;width:1px;height:4px;background-color:#b3b3b3}.dhx_slider__tick:not(:first-child){-webkit-transform:translateX(-.5px);-ms-transform:translateX(-.5px);transform:translateX(-.5px)}.dhx_slider__tick--major{height:8px}.dhx_slider__tick-label{position:absolute;top:10px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:10px;color:rgba(0,0,0,.7);line-height:1}.dhx_message-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end;position:absolute;padding:20px;max-height:100%;-ms-scroll-chaining:none;overscroll-behavior:contain;width:240px;overflow:hidden;border:2px solid transparent;z-index:2147483647}.dhx_message-container *{box-sizing:border-box}.dhx_message-container--top-left{top:0;left:0}.dhx_message-container--top-right{top:0;right:0}.dhx_message-container--bottom-left{left:0}.dhx_message-container--bottom-left,.dhx_message-container--bottom-right{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;bottom:0}.dhx_message-container--bottom-right{right:0}.dhx_message-container--in-body{position:fixed}.dhx_message{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;width:100%;padding:12px;margin-bottom:4px;margin-top:4px;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.1),0 10px 20px rgba(0,0,0,.1);background-color:#fff;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_message,.dhx_message__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;line-height:20px;font-size:14px;color:rgba(0,0,0,.7)}.dhx_message__text{overflow-wrap:break-word;word-wrap:break-word;word-break:break-all}.dhx_message__icon{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;padding-left:8px;color:rgba(0,0,0,.5)}.dhx_message--error .dhx_message__icon,.dhx_message--error .dhx_message__text,.dhx_message--success .dhx_message__icon,.dhx_message--success .dhx_message__text{color:#fff}.dhx_message--error{background-color:#ff5252}.dhx_message--success{background-color:#0ab169}.dhx_alert{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:600px;padding:24px;background:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3);will-change:transform;z-index:2147483647}.dhx_alert__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2147483646}.dhx_alert__header{position:relative;margin-bottom:20px;font-weight:500;line-height:20px;text-transform:uppercase;color:rgba(0,0,0,.7)}.dhx_alert__content,.dhx_alert__header{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px}.dhx_alert__content{height:100%;font-weight:400;color:rgba(0,0,0,.5);line-height:1.3;overflow-y:auto;overflow-wrap:break-word;word-wrap:break-word}.dhx_alert__footer{margin-top:20px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.dhx_alert__footer--center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_alert__footer--right{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_alert__footer .dhx_button:not(:last-child){margin-right:16px}.dhx_tooltip{pointer-events:none;border-radius:2px;background-color:#333;box-shadow:0 2px 5px rgba(0,0,0,.3);padding:6px 12px;-webkit-transition:opacity .01s ease,-webkit-transform .01s ease;transition:opacity .01s ease,-webkit-transform .01s ease;transition:opacity .01s ease,transform .01s ease;transition:opacity .01s ease,transform .01s ease,-webkit-transform .01s ease;opacity:0;z-index:999;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_tooltip--animate{opacity:1;-webkit-transition:opacity .15s ease-out;transition:opacity .15s ease-out}.dhx_tooltip--forced{opacity:1}.dhx_tooltip--bottom{margin:8px 0 0}.dhx_tooltip--top{margin:-8px 0 0}.dhx_tooltip--left{margin:0 0 -8px}.dhx_tooltip--right{margin:0 0 0 8px}.dhx_tooltip--light{background-color:#fff}.dhx_tooltip--light .dhx_tooltip__text{color:rgba(0,0,0,.7)}.dhx_widget--fullscreen .dhx_tooltip{z-index:2147483647}.dhx_tooltip__text{color:#fff;font-size:14px;font-weight:500;line-height:20px}.dhx_navbar-count{width:24px;height:24px;border-radius:50%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:24px;color:#fff;text-align:center;z-index:1}.dhx_navbar-count--absolute{margin-left:0;position:absolute;top:-4px;top:-10px;right:-10px}.dhx_navbar-count--button-inline{margin-top:-4px;margin-bottom:-4px;margin-left:12px}.dhx_navbar-count--overlimit{width:auto;border-radius:22px;padding:0 8px}.dhx_navbar-count--color_success{background-color:#0ab169}.dhx_navbar-count--color_danger{background-color:#ff5252}.dhx_navbar-count--color_primary{background-color:#0288d1}.dhx_navbar-count--color_secondary{background-color:#4d4d4d}.dhx_navbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;margin:0;padding:0;width:100%;list-style:none}.dhx_navbar:focus{outline:none}.dhx_navbar--horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_navbar--vertical{height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:auto}.dhx_navbar .dhx_button--color_secondary.dhx_button--view_link .dhx_button__icon{color:rgba(0,0,0,.5)}.dhx_navbar-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);font-weight:500}.dhx_navbar-title--sidebar{display:block;padding:12px}.dhx_timepicker{width:100%;padding:50px 20px;min-width:248px;background-color:#fff}.dhx_timepicker--with-actions{padding:4px 20px 0}.dhx_timepicker__inputs{text-align:center;margin-bottom:28px;margin-top:16px}.dhx_timepicker__close{min-height:32px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;margin-bottom:6px}.dhx_timepicker__button-close{text-transform:uppercase;-webkit-transform:translateX(16px);-ms-transform:translateX(16px);transform:translateX(16px)}.dhx_timepicker__save{padding-top:12px;min-height:76px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.dhx_timepicker-inputs{position:relative;display:inline-block}.dhx_timepicker-input{width:48px;height:38px;font-size:30px;padding-bottom:4px;color:rgba(0,0,0,.7);line-height:30px;text-align:center;outline:none;border:none;border-bottom:1px solid #ededed;-webkit-transition:border-color .2s ease-in;transition:border-color .2s ease-in;background-color:transparent}.dhx_timepicker-input:focus{border-bottom:1px solid #81c4e8;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out}.dhx_timepicker-ampm{position:absolute;right:-32px;bottom:4px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.3);font-size:16px;line-height:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_timepicker-delimer{position:relative;top:-2px;height:30px;width:8px;color:rgba(0,0,0,.7);line-height:30px;font-size:30px}.dhx_calendar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;min-height:258px;padding:12px;background-color:#fff}.dhx_calendar--with_timepicker{min-height:310px}.dhx_calendar__wrapper{position:relative;z-index:1;width:100%;min-height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_calendar__dates-wrapper{position:relative;padding-left:40px}.dhx_calendar__navigation{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;text-align:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:-4px 2px 4px}.dhx_calendar__timepicker-button{margin-top:8px}.dhx_calendar__actions{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.dhx_calendar__week-numbers{position:absolute;left:0;top:-4px;width:32px;padding:4px 0;background-color:#f7f7f7}.dhx_calendar__week-numbers:before{content:"#";display:block;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:16px;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar__weekdays{margin:0 0 8px}.dhx_calendar__days,.dhx_calendar__months,.dhx_calendar__weekdays{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_calendar__days,.dhx_calendar__months{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.dhx_calendar__months,.dhx_calendar__years{margin-top:auto;margin-bottom:auto}.dhx_calendar__years{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_calendar-weekday{-webkit-box-flex:1;-webkit-flex:1 0 14%;-ms-flex:1 0 14%;flex:1 0 14%;font-size:12px;line-height:16px}.dhx_calendar-week-number,.dhx_calendar-weekday{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar-week-number{margin-bottom:12px;font-size:14px;line-height:20px}.dhx_calendar-week-number:last-child{margin-bottom:0}.dhx_calendar-week-number--hidden{opacity:0;pointer-events:none}.dhx_calendar-day{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 14%;-ms-flex:1 0 14%;flex:1 0 14%;margin-bottom:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.5);text-align:center;cursor:pointer}.dhx_calendar-day:nth-last-child(-n+7){margin-bottom:0}.dhx_calendar-day:after,.dhx_calendar-day:before{content:"";position:absolute;top:50%;left:50%;display:block;width:28px;height:28px;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;z-index:-1}.dhx_calendar-day:active,.dhx_calendar-day:focus{outline:none}.dhx_calendar-day:active:before,.dhx_calendar-day:focus:before,.dhx_calendar-day:hover:before{opacity:1;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.dhx_calendar-day--weekend{color:#0288d1}.dhx_calendar-day--hidden{opacity:0;pointer-events:none}.dhx_calendar-day--muffled{opacity:.6}.dhx_calendar-day--selected{color:#fff;position:relative;z-index:1}.dhx_calendar-day--selected:before{opacity:1;background-color:#0288d1}.dhx_calendar-day--disabled{color:rgba(0,0,0,.3);pointer-events:none}.dhx_calendar-day--weekend-disabled{pointer-events:none;color:#6ecbfe}.dhx_calendar-day--in-range:after{opacity:1;background-color:#d3efff;border-radius:0;width:100%;z-index:-3}.dhx_calendar-day--first-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% - 2px);left:auto;border-radius:0;border-top-left-radius:32px;border-bottom-left-radius:32px}.dhx_calendar-day--last-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% + 2px);left:auto;border-radius:0;border-top-right-radius:32px;border-bottom-right-radius:32px}.dhx_calendar-day:nth-child(7n).dhx_calendar-day--first-date:after{width:30px;right:calc(-50% + 1px)}.dhx_calendar-day:nth-child(7n+1).dhx_calendar-day--last-date:after{width:30px;right:calc(-50% + 3px)}.dhx_calendar-month,.dhx_calendar-year{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 25%;-ms-flex:1 0 25%;flex:1 0 25%;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:50px;color:rgba(0,0,0,.7);text-align:center;cursor:pointer}.dhx_calendar-month:nth-last-child(-n+4),.dhx_calendar-year:nth-last-child(-n+4){margin-bottom:0}.dhx_calendar-month:before,.dhx_calendar-year:before{content:"";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block;width:50px;height:50px;background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;-webkit-transition:opacity .2s ease-in,background-color .2s ease-in;transition:opacity .2s ease-in,background-color .2s ease-in;z-index:-1}.dhx_calendar-month:active,.dhx_calendar-month:focus,.dhx_calendar-year:active,.dhx_calendar-year:focus{outline:none}.dhx_calendar-month:active:before,.dhx_calendar-month:focus:before,.dhx_calendar-month:hover:before,.dhx_calendar-year:active:before,.dhx_calendar-year:focus:before,.dhx_calendar-year:hover:before{opacity:1;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.dhx_calendar-month:hover:before,.dhx_calendar-year:hover:before{z-index:-2}.dhx_calendar-month--selected,.dhx_calendar-year--selected{color:#fff}.dhx_calendar-month--selected:before,.dhx_calendar-year--selected:before{opacity:1;-webkit-transition:opacity .2s ease-in,background-color .2s ease-in;transition:opacity .2s ease-in,background-color .2s ease-in;background-color:#0288d1}.dhx_list{margin:0;padding:0;height:100%;list-style:none;overflow:auto;max-height:100%}.dhx_list--virtual{overflow:visible;max-height:unset;border:none}.dhx_list-item{overflow:hidden;position:relative;padding:8px 12px;border-bottom:1px solid #e4e4e4}.dhx_list-item,.dhx_list-item--text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_list-item--text{font-size:14px;font-weight:400;line-height:20px;-webkit-transition:background-color .2s ease-in,-webkit-box-shadow .2s ease-in;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_list-item--selected{background-color:#f7f7f7;box-shadow:inset 2px 0 0 0 #0288d1}.dhx_list-item--focus,.dhx_list-item--selected:hover,.dhx_list-item:hover{background-color:#ededed;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_list-item--drophere:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;background-color:#f7f7f7}.dhx_list-item--dragtarget{opacity:.6}.dhx_list-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_list-input{width:100%;padding-left:5px}.dhx_virtual-list-wrapper{overflow:auto;max-height:100%;border:1px solid #e4e4e4}.dhx_drag-ghost{z-index:999;opacity:.6}.dhx_drag-ghost .dhx_list-item{border:1px solid #e4e4e4!important;background-color:#fff;list-style-type:none}.dhx_drag-ghost .dhx_list-item--selected{background-color:#fff;box-shadow:inset 0 0 0 0 #0288d1}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:#fff;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out}.dhx_combobox{margin-bottom:16px}.dhx_combobox__options{margin-top:2px;width:100%}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_combobox--label-inline{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;position:relative}.dhx_combobox--label-inline .dhx_combobox__label{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;text-align:right;margin-right:16px;width:100%}.dhx_combobox--label-inline .dhx_combobox-input-box{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;width:300%}.dhx_combobox-input-box{position:relative;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;background-color:#f7f7f7;background-clip:padding-box;border-radius:2px;box-shadow:inset 0 0 0 1px #dfdfdf;-webkit-transition:border-color .2s ease-out,-webkit-box-shadow .2s ease-out;transition:border-color .2s ease-out,box-shadow .2s ease-out}.dhx_combobox-input-box--readonly,.dhx_combobox-input-box--readonly *{cursor:pointer}.dhx_combobox-input-box--disabled{cursor:not-allowed;opacity:.8}.dhx_combobox-input-box--disabled *{cursor:not-allowed;pointer-events:none}.dhx_combobox-input-box--active,.dhx_combobox-input-box:focus-within{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_combobox-input-box--state_success{box-shadow:inset 0 0 0 1px #6cd0a5}.dhx_combobox-input-box--state_error{box-shadow:inset 0 0 0 1px #ff9797}.dhx_combobox-input{min-height:30px;display:block;width:100%;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.dhx_combobox-input:active,.dhx_combobox-input:focus{outline:none}.dhx_combobox-input__wrapper{position:static;padding-bottom:0}.dhx_combobox-input__icon{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;cursor:pointer;-webkit-box-flex:0;-webkit-flex:0;-ms-flex:0;flex:0;position:absolute;top:50%;right:4px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:16px;z-index:1;color:rgba(0,0,0,.5)}.dhx_combobox-input-list-wrapper{height:100%;width:100%;overflow:hidden}.dhx_combobox-input-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;list-style:none;margin:0;border-top:1px solid transparent;border-bottom:1px solid transparent;min-height:30px;max-height:96px;width:calc(100% - 32px);overflow-y:scroll;padding:0 41px 0 8px;box-sizing:content-box!important}.dhx_combobox-input-list__item{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.dhx_combobox-input-list__item--input{position:relative;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto}.dhx_combobox-tag{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:0 8px;margin-top:2px;margin-bottom:2px;border:1px solid #e4e4e4;border-radius:16px;background-color:#fff;margin-right:8px}.dhx_combobox-tag__value{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap}.dhx_combobox-tag__icon,.dhx_combobox-tag__image{margin-right:4px}.dhx_combobox-tag__image{width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-tag__action{height:20px;margin-left:4px;margin-right:-6px;color:rgba(0,0,0,.5);padding:0;background-color:transparent;-webkit-transition:color .2s ease-in;transition:color .2s ease-in}.dhx_combobox-tag__action:hover{color:rgba(0,0,0,.7);-webkit-transition:color .2s ease-out;transition:color .2s ease-out}.dhx_combobox-options{background-color:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3)}.dhx_combobox-options__icon{padding-right:4px}.dhx_combobox-options__image{padding-right:4px;width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-options__item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;padding:6px 8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_combobox-options__item--select-all{color:#0288d1;line-height:20px;border-bottom:1px solid #e4e4e4}.dhx_colorpicker{font-family:Roboto,sans-serif;font-weight:500;overflow:hidden;padding:8px;border:1px solid #e4e4e4;background-color:#fff;border-radius:2px}.dhx_colorpicker,.dhx_colorpicker *{box-sizing:border-box}.dhx_popup .dhx_colorpicker{box-shadow:0 2px 5px rgba(0,0,0,.3);border:none}.dhx_palette{overflow:hidden;width:100%;height:100%;margin:0;white-space:nowrap}.dhx_palette--custom{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;max-width:236px}.dhx_palette--custom .dhx_custom-color__cell{margin-bottom:2px}.dhx_palette__col{display:inline-block}.dhx_palette__col:last-child .dhx_palette_cell{margin-right:0}.dhx_palette__row .dhx_palette__cell{display:inline-block;margin-bottom:6px}.dhx_palette__row .dhx_palette__cell:last-child{margin-right:0}.dhx_palette__row--last{margin-bottom:0}.dhx_palette__cell{position:relative;width:20px;height:20px;margin:0 2px 2px 0;vertical-align:top;border:2px solid transparent}.dhx_palette__cell,.dhx_palette__cell:after{-webkit-transition:border .2s ease-in;transition:border .2s ease-in}.dhx_palette__cell:after{content:"";display:block;position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:1px solid transparent}.dhx_palette__cell:last-child{margin-bottom:0}.dhx_palette__cell--selected,.dhx_palette__cell:hover{border:2px solid hsla(0,0%,100%,.6);-webkit-transition:border .2s ease-out;transition:border .2s ease-out}.dhx_palette__cell--selected:after,.dhx_palette__cell:hover:after{border:1px solid rgba(0,0,0,.6);-webkit-transition:border .2s ease-out;transition:border .2s ease-out}.dhx_colorpicker-custom-colors{font-size:14px;color:#909cad}.dhx_colorpicker-custom-colors__header{font-size:14px;padding:12px 0 4px;letter-spacing:-.2px;position:relative}.dhx_colorpicker-custom-colors__picker{display:inline-block;width:20px;height:20px;cursor:pointer;color:#909cad;box-shadow:inset 0 0 0 1px #909cad}.dhx_colorpicker-picker__palette{position:relative;width:100%;border-radius:2px;overflow:hidden}.dhx_colorpicker-picker__palette:before{content:"";height:100%;width:100%;position:absolute;top:0;left:0;background-image:-webkit-gradient(linear,left bottom,left top,from(#000),to(hsla(0,0%,100%,0)));background-image:-webkit-linear-gradient(bottom,#000,hsla(0,0%,100%,0));background-image:linear-gradient(0deg,#000,hsla(0,0%,100%,0));z-index:2}.dhx_colorpicker-picker__palette:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0;background-image:-webkit-gradient(linear,left top,right top,from(#fff),to(hsla(20,42%,65%,0)));background-image:-webkit-linear-gradient(left,#fff,hsla(20,42%,65%,0));background-image:linear-gradient(90deg,#fff,hsla(20,42%,65%,0));z-index:1}.dhx_colorpicker-picker__buttons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding:12px 0 0;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.dhx_colorpicker-picker__buttons .dhx_button:first-child{margin-right:4px}.dhx_colorpicker-hue-range{position:relative;width:100%;margin:4px 0 8px;border-radius:2px;background-image:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background-image:-webkit-linear-gradient(left,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);background-image:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.dhx_colorpicker-hue-range__grip{width:6px;height:100%}.dhx_colorpicker-hue-range__grip,.dhx_palette_grip{position:absolute;top:0;left:0;border:1px solid #fff;background:transparent;box-shadow:0 2px 5px 0 rgba(0,0,0,.3)}.dhx_palette_grip{width:10px;height:10px;border-radius:50%;z-index:10}.dhx_colorpicker-value{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;height:32px;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.dhx_colorpicker-value__color{width:100px;border:1px solid transparent;border-radius:2px;margin-right:8px}.dhx_colorpicker-value__input-wrapper{position:relative;border:1px solid #d4dde7}.dhx_colorpicker-value__input-wrapper:before{content:"#";position:absolute;height:100%;line-height:30px;left:8px;color:#909cad;font-size:15px}.dhx_colorpicker-value__input{width:100px;height:100%;padding:0 0 0 24px;line-height:20px;font-size:14px;color:rgba(0,0,0,.7);border:none;border-radius:2px;outline:none} \ No newline at end of file +.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:-webkit-grab!important;cursor:grab!important}.dhx_no-select--pointer{cursor:pointer}.dhx_no-select--pointer,.dhx_no-select--resize{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"liga";font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{box-sizing:border-box}body{margin:0}.dhx_widget{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_widget--bordered{border:1px solid #e4e4e4}.dhx_widget--border_top{border-top:1px solid #e4e4e4}.dhx_widget--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_widget--border_left{border-left:1px solid #e4e4e4}.dhx_widget--border_right{border-right:1px solid #e4e4e4}.dhx_widget--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget.dhx_widget--bg_white{background-color:#fff}.dhx_widget.dhx_widget--bg_gray{background-color:#f7f7f7}.dhx_drag-ghost{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;z-index:999;opacity:.6}.dhx_drag-ghost *{box-sizing:border-box}.dhx_drag-ghost .dhx_list-item{list-style-type:none}.dhx_drag-ghost .dhx_list-item--selected{background-color:#fff;box-shadow:inset 0 0 0 0 #0288d1}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:#fff;transition:background-color .2s ease-out}.dhx_drag-ghost .dhx_tree-list-item__icon{position:relative;display:inline;vertical-align:middle;color:rgba(0,0,0,.3);font-size:20px;top:2px}.dhx_drag-ghost .dhx_tree-list-item__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;vertical-align:middle;line-height:20px;color:rgba(0,0,0,.7)}.dhx_drag-ghost .dhx_dataview-item,.dhx_drag-ghost .dhx_grid-cell,.dhx_drag-ghost .dhx_list-item{background-color:#fff;border:1px solid #e4e4e4!important}@font-face{font-family:Roboto;src:url(fonts/roboto-regular-webfont.woff2) format("woff2"),url(fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-medium-webfont.woff2) format("woff2"),url(fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-bold-webfont.woff2) format("woff2"),url(fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}@font-face{font-family:dhxicons;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff")}.dxi:before{font-family:dhxicons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dxi.dxi-alert-circle:before{content:"\F101"}.dxi.dxi-arrow-collapse:before{content:"\F102"}.dxi.dxi-arrow-expand:before{content:"\F103"}.dxi.dxi-blur-off:before{content:"\F104"}.dxi.dxi-blur:before{content:"\F105"}.dxi.dxi-calendar-today:before{content:"\F106"}.dxi.dxi-check:before{content:"\F107"}.dxi.dxi-checkbox-blank-outline:before{content:"\F108"}.dxi.dxi-checkbox-marked-circle:before{content:"\F109"}.dxi.dxi-checkbox-marked:before{content:"\F10A"}.dxi.dxi-chevron-down:before{content:"\F10B"}.dxi.dxi-chevron-left:before{content:"\F10C"}.dxi.dxi-chevron-right:before{content:"\F10D"}.dxi.dxi-chevron-up:before{content:"\F10E"}.dxi.dxi-clock-outline:before{content:"\F10F"}.dxi.dxi-clock:before{content:"\F110"}.dxi.dxi-close-circle:before{content:"\F111"}.dxi.dxi-close:before{content:"\F112"}.dxi.dxi-delete-forever:before{content:"\F113"}.dxi.dxi-delete:before{content:"\F114"}.dxi.dxi-dots-horizontal:before{content:"\F115"}.dxi.dxi-dots-vertical:before{content:"\F116"}.dxi.dxi-download:before{content:"\F117"}.dxi.dxi-empty:before{content:"\F118"}.dxi.dxi-eraser:before{content:"\F119"}.dxi.dxi-eye-off:before{content:"\F11A"}.dxi.dxi-eye:before{content:"\F11B"}.dxi.dxi-eyedropper-variant:before{content:"\F11C"}.dxi.dxi-file-export:before{content:"\F11D"}.dxi.dxi-file-outline:before{content:"\F11E"}.dxi.dxi-filter-variant:before{content:"\F11F"}.dxi.dxi-folder-open:before{content:"\F120"}.dxi.dxi-folder:before{content:"\F121"}.dxi.dxi-format-align-center:before{content:"\F122"}.dxi.dxi-format-align-left:before{content:"\F123"}.dxi.dxi-format-align-right:before{content:"\F124"}.dxi.dxi-format-bold:before{content:"\F125"}.dxi.dxi-format-color-fill:before{content:"\F126"}.dxi.dxi-format-color-text:before{content:"\F127"}.dxi.dxi-format-italic:before{content:"\F128"}.dxi.dxi-format-line-spacing:before{content:"\F129"}.dxi.dxi-format-quote-close:before{content:"\F12A"}.dxi.dxi-format-quote-open:before{content:"\F12B"}.dxi.dxi-format-strikethrough:before{content:"\F12C"}.dxi.dxi-format-underline:before{content:"\F12D"}.dxi.dxi-format-vertical-align-bottom:before{content:"\F12E"}.dxi.dxi-format-vertical-align-center:before{content:"\F12F"}.dxi.dxi-format-vertical-align-top:before{content:"\F130"}.dxi.dxi-function-variant:before{content:"\F131"}.dxi.dxi-help-circle-outline:before{content:"\F132"}.dxi.dxi-information-outline:before{content:"\F133"}.dxi.dxi-key:before{content:"\F134"}.dxi.dxi-link-variant-off:before{content:"\F135"}.dxi.dxi-link-variant:before{content:"\F136"}.dxi.dxi-loading:before{content:"\F137"}.dxi.dxi-magnify:before{content:"\F138"}.dxi.dxi-menu-down:before{content:"\F139"}.dxi.dxi-menu-left:before{content:"\F13A"}.dxi.dxi-menu-right:before{content:"\F13B"}.dxi.dxi-menu-up:before{content:"\F13C"}.dxi.dxi-minus-box:before{content:"\F13D"}.dxi.dxi-minus:before{content:"\F13E"}.dxi.dxi-numeric:before{content:"\F13F"}.dxi.dxi-pencil:before{content:"\F140"}.dxi.dxi-plus-circle:before{content:"\F141"}.dxi.dxi-plus:before{content:"\F142"}.dxi.dxi-printer:before{content:"\F143"}.dxi.dxi-redo:before{content:"\F144"}.dxi.dxi-rotate-right:before{content:"\F145"}.dxi.dxi-sort-variant:before{content:"\F146"}.dxi.dxi-table-column-plus-before:before{content:"\F147"}.dxi.dxi-table-column-remove:before{content:"\F148"}.dxi.dxi-table-column:before{content:"\F149"}.dxi.dxi-table-row-plus-after:before{content:"\F14A"}.dxi.dxi-table-row-remove:before{content:"\F14B"}.dxi.dxi-table-row:before{content:"\F14C"}.dxi.dxi-undo:before{content:"\F14D"}.dxi.dxi-unfold-more-horizontal:before{content:"\F14E"}.dxi.dxi-vault:before{content:"\F14F"}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:20px}.dxi--small:before{font-size:16px}.dxi--medium:before{font-size:20px}.dxi--large:before{font-size:24px}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;touch-action:manipulation;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:4px}.dhx_button__loading{display:none;position:absolute;left:0;top:0;right:0;bottom:0;justify-content:center;align-items:center}.dhx_button__loading-icon{-webkit-animation:a .9s linear infinite;animation:a .9s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:28px}.dhx_button--circle.dhx_button--size_medium{border-radius:32px}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:6px;padding-right:6px}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:4px;padding-right:4px}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__loading{display:flex}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:4px 12px;font-size:14px;line-height:20px}.dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:16px;margin-top:-8px;margin-left:-8px}.dhx_button--size_medium{padding:6px 16px;text-transform:uppercase;line-height:20px}.dhx_button--size_medium .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:20px;margin-top:-10px;margin-left:-10px}.dhx_button--view_flat{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;color:#fff;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_flat.dhx_button--color_primary{background-color:#0288d1;outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:#35a0da}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:#0288d1;box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_primary:disabled{background-color:#81c4e8}.dhx_button--view_flat.dhx_button--color_secondary{background-color:#4d4d4d;outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:#717171}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:#4d4d4d;box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_secondary:disabled{background-color:#a6a6a6}.dhx_button--view_flat.dhx_button--color_danger{background-color:#ff5252;outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:#ff7575}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:#ff5252;box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_danger:disabled{background-color:#ffa9a9}.dhx_button--view_flat.dhx_button--color_success{background-color:#0ab169;outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:#3bc187}.dhx_button--view_flat.dhx_button--color_success:active{background-color:#0ab169;box-shadow:none}.dhx_button--view_flat.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_success:disabled{background-color:#85d8b4}.dhx_button--view_link{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;border-radius:2px;background:transparent;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_link:focus,.dhx_button--view_link:hover{transition:background-color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_link.dhx_button--color_primary{color:#0288d1;outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:#d9edf8}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:#b8def2}.dhx_button--view_link.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_primary:disabled{color:#81c4e8}.dhx_button--view_link.dhx_button--color_secondary{color:#4d4d4d;outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:#e4e4e4}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:#cdcdcd}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_secondary:disabled{color:#a6a6a6}.dhx_button--view_link.dhx_button--color_danger{color:#ff5252;outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:#ffe5e5}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:#ffcfcf}.dhx_button--view_link.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_danger:disabled{color:#ffa9a9}.dhx_button--view_link.dhx_button--color_success{color:#0ab169;outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:#daf3e9}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:#bae9d5}.dhx_button--view_link.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_success:disabled{color:#85d8b4}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:8px;margin-right:auto}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_form-group{position:relative;display:block;text-align:left;padding-bottom:16px}.dhx_form-group--simplevault{line-height:0;height:100%}.dhx_form-group--simplevault .dhx_label{margin-bottom:4px}.dhx_form-group--textarea{display:flex;flex-direction:column;height:100%}.dhx_form-group--textarea .dhx_input--textarea,.dhx_form-group--textarea .dhx_input__wrapper{height:100%}.dhx_form-group--textarea .dhx_label{min-height:20px;line-height:20px;margin-bottom:4px}.dhx_form-group--inline{display:flex;flex-direction:row;width:100%;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;flex:0 1 auto;max-height:40px;margin-right:16px;margin-bottom:0;text-align:right;width:100%;margin-top:6px;align-self:flex-start}.dhx_form-group--inline .dhx_input__wrapper{flex:0 1 auto;width:300%;height:100%}.dhx_form-group--inline .dhx_label--with-help{justify-content:flex-end}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative;margin-bottom:0}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--no-message-holder{padding-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input__caption,.dhx_form-group--state_error .dhx_label{color:#ff5252}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{box-shadow:inset 0 0 0 1px #ffbaba}.dhx_form-group--state_error .dhx_simplevault-files,.dhx_form-group--state_error .dhx_simplevault-files:focus,.dhx_form-group--state_error .dhx_simplevault__drop-area,.dhx_form-group--state_error .dhx_simplevault__drop-area:focus{border-color:#ffbaba}.dhx_form-group--state_success .dhx_input__caption,.dhx_form-group--state_success .dhx_label{color:#0ab169}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{box-shadow:inset 0 0 0 1px #9de0c3}.dhx_form-group--state_success .dhx_simplevault__drop-area,.dhx_form-group--state_success .dhx_simplevault__drop-area:focus{border-top-color:#9de0c3;border-left-color:#9de0c3;border-right-color:#9de0c3}.dhx_form-group--state_success .dhx_simplevault-files,.dhx_form-group--state_success .dhx_simplevault-files:focus{border-right-color:#9de0c3;border-left-color:#9de0c3;border-bottom-color:#9de0c3}.dhx_form-group--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_form-group .dhx_combobox{margin:0}.dhx_form-group .dhx_slider{padding-bottom:0}.dhx_input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:#f6f6f6;background-clip:padding-box;box-shadow:inset 0 0 0 1px #dfdfdf;border:0;border-radius:2px;outline:0;transition:border-color .2s ease-in,box-shadow .2s ease-in}.dhx_input::-webkit-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input:-ms-input-placeholder,.dhx_input::-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::placeholder{color:rgba(0,0,0,.5)}.dhx_input:focus{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_input--icon-padding{padding-right:24px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{box-shadow:none;background:none;padding-left:0}.dhx_input--textinput:focus{box-shadow:none}.dhx_input__wrapper{width:100%;display:flex;flex-direction:column;position:relative}.dhx_input__wrapper:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_input__container{width:100%;display:inline-block;position:relative}.dhx_input__caption{left:0;bottom:0;max-width:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;font-weight:400;line-height:16px;color:rgba(0,0,0,.5);white-space:wrap;overflow-x:hidden;text-overflow:ellipsis;cursor:default}.dhx_input__icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:4px;z-index:1;color:rgba(0,0,0,.5);pointer-events:none}.dhx_input__icon--color-selected{border-radius:2px}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:20px;line-height:20px}.dhx_label{display:inline-block;width:auto;flex:0 1 auto;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;cursor:pointer;transition:color .2s ease-in,opacity .2s ease-in}.dhx_label:hover{opacity:.8;transition:color .2s ease-out,opacity .2s ease-out}.dhx_label__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_label--with-help{display:flex;align-items:center}.dhx_label-help{margin-left:4px;color:#0288d1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_label-help:focus{outline:none}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__visual-input{display:block;border:2px solid rgba(0,0,0,.5);width:20px;height:20px;background-color:#fff;border-radius:2px;cursor:pointer}.dhx_checkbox .dhx_label{margin-top:4px;margin-bottom:0;width:auto}.dhx_checkbox .dhx_label:after{display:none}.dhx_checkbox .dhx_input__caption{position:static;display:block;-webkit-transform:none;transform:none}.dhx_checkbox.dhx_form-group--inline{display:flex;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_checkbox.dhx_form-group--hidden{display:none}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.dhx_checkbox__input:focus+.dhx_checkbox__visual-input{border-color:#0288d1}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input{background-color:#0288d1;background-position:50%;background-size:cover;border-color:#0288d1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);transition:background-color .2s ease-out}.dhx_radiobutton{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_radiobutton__visual-input{display:block;border:2px solid rgba(0,0,0,.5);bottom:4px;left:0;width:20px;height:20px;background-color:#fff;border-radius:50%}.dhx_radiobutton .dhx_label{margin-top:4px;margin-bottom:0;width:auto;cursor:pointer}.dhx_radiobutton .dhx_input__caption{position:static;display:block}.dhx_radiobutton.dhx_form-group--inline{white-space:nowrap;display:flex;align-items:center}.dhx_radiobutton.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0;padding-top:2px;padding-bottom:2px}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.dhx_radiobutton__input:focus+.dhx_radiobutton__visual-input{border-color:#0288d1}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:#0288d1;border-color:#0288d1;box-shadow:inset 0 0 0 4px #fff;transition:background-color .2s ease-out}.dhx_select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{border:none;border-radius:2px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;font-weight:400;text-align:center;overflow:hidden;position:relative}.dhx_simplevault__drop-area{background-color:#f6f6f6;border:1px solid #dfdfdf;transition:all .2s ease-in;display:flex;height:115px;width:100%;flex-direction:column;justify-content:center;align-items:center;padding:0 20px}.dhx_simplevault__drop-area--on-drag{border-style:dashed;transition:border .2s ease-out}.dhx_simplevault__icon:before{font-size:40px;color:rgba(0,0,0,.3);transition:color .2s ease-in}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:#0288d1;cursor:pointer}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in,-webkit-transform .2s ease-in}.dhx_simplevault-files{background-color:#f6f6f6;border:1px solid #dfdfdf;border-top:none;transition:all .2s ease-in;width:100%;margin:0;padding:0;list-style:none;max-height:calc(100% - 115px);height:calc(100% - 115px);overflow-y:auto}.dhx_simplevault-files__fixed{max-height:276px}.dhx_simplevault-files__item{position:relative;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;text-align:left;color:rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:1px solid #e4e4e4}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_simplevault-loader{display:flex;justify-content:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:#ededed;-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0;will-change:transform;transition:0ms;z-index:1}.dhx_simplevault-loader .dhx_simplevault__icon:before{color:#0288d1}.dhx_popup{position:fixed;box-sizing:border-box;-webkit-animation:b .2s ease-in-out forwards;animation:b .2s ease-in-out forwards;background:#fff;will-change:transform;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_popup,.dhx_popup--window,.dhx_popup--window_modal{z-index:2147483645}.dhx_popup--window_active{z-index:2147483646}.dhx_popup.hide{-webkit-animation:c .2s ease-in-out forwards;animation:c .2s ease-in-out forwards}.dhx_popup:focus{outline:none}.dhx_widget--fullscreen .dhx_popup{z-index:2147483647}@-webkit-keyframes b{0%{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes b{0%{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@-webkit-keyframes c{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}}@keyframes c{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(20px);transform:translateY(20px);opacity:0}}.dhx_layout{max-width:100%;max-height:100%;width:100%;height:100%}.dhx_layout-columns{display:flex;flex-direction:row;overflow:hidden}.dhx_layout-columns>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){flex:0 1 auto}.dhx_layout-columns>.dhx_layout-cell--resizeble{overflow-x:hidden}.dhx_layout-rows{display:flex;flex-direction:column;overflow:hidden}.dhx_layout-rows>.dhx_layout-cell:not(.dhx_layout-rows):not(.dhx_layout-columns):not(.dhx_layout-cell--gravity){flex:0 1 auto}.dhx_layout-rows>.dhx_layout-cell--resizeble{overflow-y:hidden}.dhx_layout-cell--start,.dhx_layout-columns--start,.dhx_layout-rows--start{justify-content:flex-start}.dhx_layout-cell--center,.dhx_layout-columns--center,.dhx_layout-rows--center{justify-content:center}.dhx_layout-cell--end,.dhx_layout-columns--end,.dhx_layout-rows--end{justify-content:flex-end}.dhx_layout-cell--between,.dhx_layout-columns--between,.dhx_layout-rows--between{justify-content:space-between}.dhx_layout-cell--around,.dhx_layout-columns--around,.dhx_layout-rows--around{justify-content:space-around}.dhx_layout-cell--evenly,.dhx_layout-columns--evenly,.dhx_layout-rows--evenly{justify-content:space-evenly}.dhx_layout-cell{flex-basis:auto;flex-grow:0;flex-shrink:0}.dhx_layout-cell--bordered{border:1px solid #e4e4e4}.dhx_layout-cell--border_top{border-top:1px solid #e4e4e4}.dhx_layout-cell--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_layout-cell--border_left{border-left:1px solid #e4e4e4}.dhx_layout-cell--border_right{border-right:1px solid #e4e4e4}.dhx_layout-cell--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_layout-cell--no-border{border:0}.dhx_layout-cell--no-border_top{border-top:0}.dhx_layout-cell--no-border_bottom{border-bottom:0}.dhx_layout-cell--no-border_left{border-left:0}.dhx_layout-cell--no-border_right{border-right:0}.dhx_layout-cell--gravity{flex:1 1 auto}.dhx_layout-cell--flex{display:flex}.dhx_layout-cell--accordion>.dhx_layout-cell--collapsed{border-bottom:0}.dhx_layout-cell--collapsed{overflow:hidden;flex:0 1 auto}.dhx_layout-cell-content{height:100%}.dhx_layout-cell-header{display:flex;justify-content:flex-start;align-items:center;border-bottom:1px solid #e4e4e4;padding:8px 12px}.dhx_layout-cell-header__title{margin:0;font-size:14px;line-height:20px;font-weight:500;color:rgba(0,0,0,.7);white-space:nowrap;overflow:hidden;text-overflow:clip;transition:color .2s ease-in}.dhx_layout-cell-header__icon{margin-right:16px}.dhx_layout-cell-header__image-wrapper{position:relative;width:20px;height:20px;margin-right:8px}.dhx_layout-cell-header__image{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center center;object-position:center center;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border-radius:50%}.dhx_layout-cell-header__collapse-icon{margin-left:auto;color:#4d4d4d;transition:color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,color .2s ease-in;transition:transform .2s ease-in,color .2s ease-in,-webkit-transform .2s ease-in}.dhx_layout-cell-header--collapseble{cursor:pointer}.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:focus .dhx_layout-cell-header__title,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__collapse-icon,.dhx_layout-cell-header--collapseble:hover .dhx_layout-cell-header__title{color:#0288d1;transition:color .2s ease-out}.dhx_layout-cell-header--collapseble:focus,.dhx_layout-cell-header:focus{outline-width:0}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col{border-bottom:0;position:relative}.dhx_layout-cell-header--collapsed.dhx_layout-cell-header--col .dhx_layout-cell-header__title{position:absolute;-webkit-transform-origin:left;transform-origin:left;-webkit-transform:rotate(90deg);transform:rotate(90deg);bottom:-12px;left:50%}.dhx_layout-cell-header+.dhx_layout-cell-content{overflow:auto;height:calc(100% - 37px)}.dhx_layout-resizer{position:relative;overflow:visible;text-align:center}.dhx_layout-resizer .dhx_layout-resizer__icon{position:relative;z-index:1}.dhx_layout-resizer--x{width:0}.dhx_layout-resizer--x .dhx_layout-resizer__icon{width:0;height:100%;display:flex;justify-content:center;flex-direction:column;align-items:center;color:rgba(0,0,0,.5);cursor:ew-resize}.dhx_layout-resizer--x .dhx_layout-resizer__icon:before{font-size:16px}.dhx_layout-resizer--y{height:0}.dhx_layout-resizer--y .dhx_layout-resizer__icon{width:100%;height:0;display:flex;justify-content:center;flex-direction:row;align-items:center;color:rgba(0,0,0,.5);cursor:ns-resize}.dhx_layout-resizer--y .dhx_layout-resizer__icon:before{font-size:16px}.dhx_slider{position:relative;display:flex;flex-direction:column;padding-bottom:16px}.dhx_slider--label-inline{flex-direction:row;align-items:center}.dhx_slider--label-inline .dhx_slider__label{text-align:right;flex:0 1 auto;margin-right:16px;margin-bottom:0;width:100%}.dhx_slider--label-inline .dhx_label--with-help{justify-content:flex-end}.dhx_slider--label-inline .dhx_slider__track-holder{width:300%;flex:0 1 auto}.dhx_slider--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_slider--mode_vertical{height:100%;display:inline-flex}.dhx_slider--mode_vertical .dhx_slider__label{align-self:flex-start}.dhx_slider--mode_vertical .dhx_slider__track-holder{height:100%;display:flex;padding:8px 0}.dhx_slider--mode_vertical .dhx_slider__track{align-self:stretch;padding:0 8px}.dhx_slider--mode_vertical .dhx_slider__track:before{width:2px;height:100%}.dhx_slider--mode_vertical .dhx_slider__range{width:2px;left:50%;-webkit-transform:translate(-50%);transform:translate(-50%)}.dhx_slider--mode_vertical .dhx_slider__thumb{left:50%}.dhx_slider--mode_vertical .dhx_slider__tick{height:1px;width:4px}.dhx_slider--mode_vertical .dhx_slider__tick:not(:first-child){-webkit-transform:translateY(-.5px);transform:translateY(-.5px)}.dhx_slider--mode_vertical .dhx_slider__tick--major{width:8px}.dhx_slider--mode_vertical .dhx_slider__tick-label{top:50%;left:100%;-webkit-transform:translateY(-50%);transform:translateY(-50%);padding-left:2px}.dhx_slider--ticks .dhx_slider__ticks-holder{height:4px}.dhx_slider--ticks.dhx_slider--mode_vertical .dhx_slider__ticks-holder{height:100%;width:4px}.dhx_slider__track-holder{position:relative;flex:1}.dhx_slider__track{position:relative;padding-top:8px;padding-bottom:8px;cursor:pointer;z-index:1}.dhx_slider__track:before{content:"";display:block;height:2px;background-color:#b3b3b3}.dhx_slider__thumb{position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;background-color:#0288d1;transition:border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;transition:transform .1s ease-out,border-color .2s ease-out,background-color .2s ease-out;transition:transform .1s ease-out,border-color .2s ease-out,background-color .2s ease-out,-webkit-transform .1s ease-out;will-change:transform;cursor:pointer}.dhx_slider__thumb:after,.dhx_slider__thumb:before{content:"";display:block;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);border-radius:50%;will-change:transform}.dhx_slider__thumb:before{width:28px;height:28px;background-color:rgba(2,136,209,.15)}.dhx_slider__thumb:after,.dhx_slider__thumb:before{transition:background-color .2s ease-out,-webkit-transform .2s ease-out;transition:transform .2s ease-out,background-color .2s ease-out;transition:transform .2s ease-out,background-color .2s ease-out,-webkit-transform .2s ease-out}.dhx_slider__thumb:after{width:16px;height:16px;background-color:#0288d1}.dhx_slider__thumb:focus,.dhx_slider__thumb:hover{outline:none}.dhx_slider__thumb:focus:before,.dhx_slider__thumb:hover:before{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in,-webkit-transform .2s ease-in}.dhx_slider__thumb--active,.dhx_slider__thumb:active{z-index:1}.dhx_slider__thumb--active:after,.dhx_slider__thumb:active:after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);transition:background-color .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in;transition:transform .2s ease-in,background-color .2s ease-in,-webkit-transform .2s ease-in}.dhx_slider__thumb--nullable{background-color:#b3b3b3}.dhx_slider__thumb--nullable:after{width:8px;height:8px;-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1);background:#fff}.dhx_slider__thumb--nullable:before{background-color:rgba(77,77,77,.15)}.dhx_slider__thumb--disabled{background-color:#b3b3b3;border:2px solid #fff}.dhx_slider__thumb--disabled:after,.dhx_slider__thumb--disabled:before{display:none}.dhx_slider__thumb-label{position:absolute;padding:6px 12px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);border-radius:2px;background-color:#333;box-shadow:0 2px 5px rgba(0,0,0,.3);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#fff;transition:opacity transform .01s ease-in;pointer-events:none;z-index:1}.dhx_slider__thumb-label--vertical{left:50px}.dhx_slider__thumb-label--horizontal{top:-30px}.dhx_slider__thumb-label--active{z-index:10}.dhx_slider__range{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:2px;background-color:#0288d1;pointer-events:none}.dhx_slider__ticks-holder{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_slider__tick{position:absolute;top:0;width:1px;height:4px;background-color:#b3b3b3}.dhx_slider__tick:not(:first-child){-webkit-transform:translateX(-.5px);transform:translateX(-.5px)}.dhx_slider__tick--major{height:8px}.dhx_slider__tick-label{position:absolute;top:10px;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:10px;color:rgba(0,0,0,.7);line-height:1}.dhx_message-container{display:flex;flex-direction:column;align-items:flex-end;position:absolute;padding:20px;max-height:100%;-ms-scroll-chaining:none;overscroll-behavior:contain;width:auto;overflow:hidden;border:2px solid transparent;z-index:2147483647}.dhx_message-container *{box-sizing:border-box}.dhx_message-container--top-left{top:0;left:0}.dhx_message-container--top-right{top:0;right:0}.dhx_message-container--bottom-left{align-items:flex-start;bottom:0;left:0}.dhx_message-container--bottom-right{align-items:flex-start;bottom:0;right:0}.dhx_message-container--in-body{position:fixed}.dhx_message{display:flex;justify-content:space-between;width:240px;flex-shrink:0;padding:12px;margin-bottom:4px;margin-top:4px;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.1),0 10px 20px rgba(0,0,0,.1);background-color:#fff;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_message,.dhx_message__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;line-height:20px;font-size:14px;color:rgba(0,0,0,.7)}.dhx_message__text{overflow-wrap:break-word;word-wrap:break-word;word-break:break-all}.dhx_message__icon{align-self:center;padding-left:8px;color:rgba(0,0,0,.5)}.dhx_message--error .dhx_message__icon,.dhx_message--error .dhx_message__text,.dhx_message--success .dhx_message__icon,.dhx_message--success .dhx_message__text{color:#fff}.dhx_message--error{background-color:#ff5252}.dhx_message--success{background-color:#0ab169}.dhx_alert{display:flex;flex-direction:column;position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:600px;padding:24px;background:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3);will-change:transform;z-index:2147483647}.dhx_alert__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:2147483646}.dhx_alert__header{position:relative;margin-bottom:20px;font-weight:500;line-height:20px;color:rgba(0,0,0,.7)}.dhx_alert__content,.dhx_alert__header{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px}.dhx_alert__content{height:100%;font-weight:400;color:rgba(0,0,0,.5);line-height:1.3;overflow-y:auto;overflow-wrap:break-word;word-wrap:break-word}.dhx_alert__footer{margin-top:20px;display:flex;justify-content:flex-start}.dhx_alert__footer--center{justify-content:center}.dhx_alert__footer--right{justify-content:flex-end}.dhx_alert__footer .dhx_button:not(:last-child){margin-right:16px}.dhx_tooltip{pointer-events:none;border-radius:2px;background-color:#333;box-shadow:0 2px 5px rgba(0,0,0,.3);padding:6px 12px;transition:opacity .01s ease,-webkit-transform .01s ease;transition:opacity .01s ease,transform .01s ease;transition:opacity .01s ease,transform .01s ease,-webkit-transform .01s ease;opacity:0;z-index:999;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_tooltip--animate{opacity:1;transition:opacity .15s ease-out}.dhx_tooltip--forced{opacity:1}.dhx_tooltip--bottom{margin:8px 0 0}.dhx_tooltip--top{margin:-8px 0 0}.dhx_tooltip--left{margin:0 0 -8px}.dhx_tooltip--right{margin:0 0 0 8px}.dhx_tooltip--light{background-color:#fff}.dhx_tooltip--light .dhx_tooltip__text{color:rgba(0,0,0,.7)}.dhx_widget--fullscreen .dhx_tooltip{z-index:2147483647}.dhx_tooltip__text{color:#fff;font-size:14px;font-weight:500;line-height:20px}.dhx_navbar-count{width:24px;height:24px;border-radius:50%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:24px;color:#fff;text-align:center;z-index:1}.dhx_navbar-count--absolute{margin-left:0;position:absolute;top:-4px;top:-10px;right:-10px}.dhx_navbar-count--button-inline{margin-top:-4px;margin-bottom:-4px;margin-left:12px}.dhx_navbar-count--overlimit{width:auto;border-radius:22px;padding:0 8px}.dhx_navbar-count--color_success{background-color:#0ab169}.dhx_navbar-count--color_danger{background-color:#ff5252}.dhx_navbar-count--color_primary{background-color:#0288d1}.dhx_navbar-count--color_secondary{background-color:#4d4d4d}.dhx_navbar{display:flex;flex-wrap:nowrap;margin:0;padding:0;width:100%;list-style:none}.dhx_navbar:focus{outline:none}.dhx_navbar--horizontal{flex-direction:row;align-items:center}.dhx_navbar--vertical{height:100%;display:flex;flex-direction:column;overflow:auto}.dhx_navbar .dhx_button--color_secondary.dhx_button--view_link .dhx_button__icon{color:rgba(0,0,0,.5)}.dhx_navbar-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);font-weight:500}.dhx_navbar-title--sidebar{display:block;padding:12px}.dhx_timepicker{width:100%;padding:50px 20px;min-width:248px;background-color:#fff}.dhx_timepicker--with-controls{padding:4px 20px 0}.dhx_timepicker__inputs{text-align:center;margin-bottom:28px;margin-top:16px}.dhx_timepicker__close{min-height:32px;display:flex;justify-content:flex-end;margin-bottom:6px}.dhx_timepicker__button-close{text-transform:uppercase;-webkit-transform:translateX(16px);transform:translateX(16px)}.dhx_timepicker__save{padding-top:12px;min-height:76px;display:flex;justify-content:center;align-items:center}.dhx_timepicker-inputs{position:relative;display:inline-block}.dhx_timepicker-input{width:48px;height:38px;font-size:30px;padding-bottom:4px;color:rgba(0,0,0,.7);line-height:30px;text-align:center;outline:none;border:none;border-bottom:1px solid #ededed;transition:border-color .2s ease-in;background-color:transparent}.dhx_timepicker-input:focus{border-bottom:1px solid #81c4e8;transition-timing-function:ease-out}.dhx_timepicker-ampm{position:absolute;right:-32px;bottom:4px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.3);font-size:16px;line-height:16px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx_timepicker-delimer{position:relative;top:-2px;height:30px;width:8px;color:rgba(0,0,0,.7);line-height:30px;font-size:30px}.dhx_calendar{display:flex;justify-content:flex-end;min-height:258px;padding:12px;background-color:#fff}.dhx_calendar--with_timepicker{min-height:310px}.dhx_calendar__wrapper{position:relative;z-index:1;width:100%;min-height:100%;display:flex;flex-direction:column;justify-content:space-between}.dhx_calendar__dates-wrapper{position:relative;padding-left:40px}.dhx_calendar__navigation{display:flex;align-self:stretch;justify-content:space-between;text-align:center;align-items:center;margin:-4px 2px 4px}.dhx_calendar__navigation .dhx_button--color_secondary:focus,.dhx_calendar__navigation .dhx_button--view_link:focus{background:inherit}.dhx_calendar__navigation .dhx_button--color_secondary:hover,.dhx_calendar__navigation .dhx_button--view_link:hover{background:#e4e4e4}.dhx_calendar__timepicker-button{margin-top:8px}.dhx_calendar__actions{display:flex;justify-content:center}.dhx_calendar__week-numbers{position:absolute;left:0;top:-4px;width:32px;padding:4px 0;background-color:#f7f7f7}.dhx_calendar__week-numbers:before{content:"#";display:block;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;line-height:16px;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar__weekdays{display:flex;flex-direction:row;justify-content:space-between;margin:0 0 8px}.dhx_calendar__days,.dhx_calendar__months{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.dhx_calendar__months,.dhx_calendar__years{margin-top:auto;margin-bottom:auto}.dhx_calendar__years{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.dhx_calendar-weekday{flex:1 0 14%;font-size:12px;line-height:16px}.dhx_calendar-week-number,.dhx_calendar-weekday{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;color:rgba(0,0,0,.5);text-align:center}.dhx_calendar-week-number{margin-bottom:12px;font-size:14px;line-height:20px}.dhx_calendar-week-number:last-child{margin-bottom:0}.dhx_calendar-week-number--hidden{opacity:0;pointer-events:none}.dhx_calendar-day{position:relative;flex:1 0 14%;margin-bottom:12px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.5);text-align:center;cursor:pointer}.dhx_calendar-day:nth-last-child(-n+7){margin-bottom:0}.dhx_calendar-day:after,.dhx_calendar-day:before{content:"";position:absolute;top:50%;left:50%;display:block;width:28px;height:28px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;z-index:-1}.dhx_calendar-day:active,.dhx_calendar-day:focus{outline:none}.dhx_calendar-day:active:before,.dhx_calendar-day:focus:before,.dhx_calendar-day:hover:before{opacity:1;transition:opacity .2s ease-out}.dhx_calendar-day--weekend{color:#0288d1}.dhx_calendar-day--hidden{opacity:0;pointer-events:none}.dhx_calendar-day--muffled{opacity:.6}.dhx_calendar-day--disabled{color:rgba(0,0,0,.3);pointer-events:none}.dhx_calendar-day--weekend-disabled{pointer-events:none;color:#6ecbfe}.dhx_calendar-day--in-range:after{opacity:1;background-color:#d3efff;border-radius:0;width:100%;z-index:-3}.dhx_calendar-day--selected{color:#fff;position:relative;z-index:1}.dhx_calendar-day--selected:before{opacity:1;background-color:#0288d1}.dhx_calendar-day--selected-first:after{border-radius:50% 0 0 50%}.dhx_calendar-day--selected-last:after{border-radius:0 50% 50% 0}.dhx_calendar-day--first-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% - 2px);left:auto;border-radius:0;border-top-left-radius:32px;border-bottom-left-radius:32px}.dhx_calendar-day--last-date:after{width:100%;background-color:#d3efff;opacity:1;right:calc(-50% + 2px);left:auto;border-radius:0;border-top-right-radius:32px;border-bottom-right-radius:32px}.dhx_calendar-day:nth-child(7n).dhx_calendar-day--first-date:after{width:30px;right:calc(-50% + 1px)}.dhx_calendar-day:nth-child(7n+1).dhx_calendar-day--last-date:after{width:30px;right:calc(-50% + 3px)}.dhx_calendar-month,.dhx_calendar-year{position:relative;flex:1 0 25%;margin-bottom:8px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:50px;color:rgba(0,0,0,.7);text-align:center;cursor:pointer}.dhx_calendar-month:nth-last-child(-n+4),.dhx_calendar-year:nth-last-child(-n+4){margin-bottom:0}.dhx_calendar-month:before,.dhx_calendar-year:before{content:"";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block;width:50px;height:50px;background-color:rgba(0,0,0,.07);border-radius:50%;opacity:0;transition:opacity .2s ease-in,background-color .2s ease-in;z-index:-1}.dhx_calendar-month:active,.dhx_calendar-month:focus,.dhx_calendar-year:active,.dhx_calendar-year:focus{outline:none}.dhx_calendar-month:active:before,.dhx_calendar-month:focus:before,.dhx_calendar-year:active:before,.dhx_calendar-year:focus:before{opacity:1;transition:opacity .2s ease-out}.dhx_calendar-month:hover:before,.dhx_calendar-year:hover:before{opacity:1;transition:opacity .2s ease-out;z-index:-2}.dhx_calendar-month--selected,.dhx_calendar-year--selected{color:#fff}.dhx_calendar-month--selected:before,.dhx_calendar-year--selected:before{opacity:1;transition:opacity .2s ease-in,background-color .2s ease-in;background-color:#0288d1}.dhx_list{margin:0;padding:0;height:100%;list-style:none;overflow:auto;max-height:100%;background-color:#fff}.dhx_list--virtual{overflow:visible;max-height:unset;border:none}.dhx_list-item{overflow:hidden;position:relative;padding:8px 12px;border-bottom:1px solid #e4e4e4}.dhx_list-item,.dhx_list-item--text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_list-item--text{font-size:14px;font-weight:400;line-height:20px;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_list-item--selected{background-color:#f7f7f7;box-shadow:inset 2px 0 0 0 #0288d1}.dhx_list-item--focus,.dhx_list-item--selected:hover,.dhx_list-item:hover{background-color:#ededed;transition:background-color .2s ease-out}.dhx_list-item--drophere:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;background-color:#f7f7f7;opacity:.6}.dhx_list-item--dragtarget{opacity:.6}.dhx_list-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_list-input{width:100%;padding-left:5px}.dhx_virtual-list-wrapper{overflow:auto;max-height:100%;border:1px solid #e4e4e4}.dhx_combobox{margin-bottom:16px}.dhx_combobox__options{margin-top:2px;width:100%}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_combobox--required:not(.dhx_combobox--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_combobox--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_combobox--label-inline{display:flex;align-items:center;width:100%;position:relative}.dhx_combobox--label-inline .dhx_combobox__label{flex:0 1 auto;justify-content:flex-end;text-align:right;margin-right:16px;width:100%}.dhx_combobox--label-inline .dhx_combobox-input-box{flex:0 1 auto;width:300%}.dhx_combobox-input-box{position:relative;flex:1;background-color:#f7f7f7;background-clip:padding-box;border-radius:2px;box-shadow:inset 0 0 0 1px #dfdfdf;transition:border-color .2s ease-out,box-shadow .2s ease-out}.dhx_combobox-input-box--readonly,.dhx_combobox-input-box--readonly *{cursor:pointer}.dhx_combobox-input-box--disabled{cursor:not-allowed;opacity:.8}.dhx_combobox-input-box--disabled *{cursor:not-allowed;pointer-events:none}.dhx_combobox-input-box--active,.dhx_combobox-input-box:focus-within{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_combobox-input-box--state_success{box-shadow:inset 0 0 0 1px #6cd0a5}.dhx_combobox-input-box--state_error{box-shadow:inset 0 0 0 1px #ff9797}.dhx_combobox-input{min-height:30px;display:block;width:100%;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.dhx_combobox-input:active,.dhx_combobox-input:focus{outline:none}.dhx_combobox-input__wrapper{position:static;padding-bottom:0}.dhx_combobox-input__icon{display:flex;align-items:center;cursor:pointer;flex:0;position:absolute;top:50%;right:4px;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:16px;z-index:1;color:rgba(0,0,0,.5)}.dhx_combobox-input-list-wrapper{height:100%;width:100%;overflow:hidden}.dhx_combobox-input-list{display:flex;flex-wrap:wrap;flex-flow:row wrap;list-style:none;margin:0;border-top:1px solid transparent;border-bottom:1px solid transparent;min-height:30px;max-height:96px;width:calc(100% - 32px);overflow-y:scroll;padding:0 41px 0 8px;box-sizing:content-box!important}.dhx_combobox-input-list__item{flex:0 1 auto}.dhx_combobox-input-list__item--input{position:relative;flex:1 0 auto}.dhx_combobox-tag{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;padding:0 8px;margin-top:2px;margin-bottom:2px;border:1px solid #e4e4e4;border-radius:16px;background-color:#fff;margin-right:8px}.dhx_combobox-tag__value{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap}.dhx_combobox-tag__icon,.dhx_combobox-tag__image{margin-right:4px}.dhx_combobox-tag__image{width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-tag__action{height:20px;margin-left:4px;margin-right:-6px;color:rgba(0,0,0,.5);padding:0;background-color:transparent;transition:color .2s ease-in}.dhx_combobox-tag__action:hover{color:rgba(0,0,0,.7);transition:color .2s ease-out}.dhx_combobox-options{background-color:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.3)}.dhx_combobox-options__icon{padding-right:4px}.dhx_combobox-options__image{padding-right:4px;width:16px;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.dhx_combobox-options__item{display:flex;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;padding:6px 8px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_combobox-options__item--select-all{color:#0288d1;line-height:20px;border-bottom:1px solid #e4e4e4}.dhx_colorpicker{font-family:Roboto,sans-serif;font-weight:500;overflow:hidden;padding:8px;border:1px solid #e4e4e4;background-color:#fff;border-radius:2px}.dhx_colorpicker,.dhx_colorpicker *{box-sizing:border-box}.dhx_popup .dhx_colorpicker{box-shadow:0 2px 5px rgba(0,0,0,.3);border:none}.dhx_palette{overflow:hidden;width:100%;height:100%;margin:0;white-space:nowrap}.dhx_palette--custom{display:flex;flex-wrap:wrap;max-width:236px}.dhx_palette--custom .dhx_custom-color__cell{margin-bottom:2px}.dhx_palette__col{display:inline-block}.dhx_palette__col:last-child .dhx_palette_cell{margin-right:0}.dhx_palette__row .dhx_palette__cell{display:inline-block;margin-bottom:6px}.dhx_palette__row .dhx_palette__cell:last-child{margin-right:0}.dhx_palette__row--last{margin-bottom:0}.dhx_palette__cell{position:relative;width:20px;height:20px;margin:0 2px 2px 0;vertical-align:top;border:2px solid transparent;transition:border .2s ease-in}.dhx_palette__cell:after{content:"";display:block;position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:1px solid transparent;transition:border .2s ease-in}.dhx_palette__cell:last-child{margin-bottom:0}.dhx_palette__cell--selected,.dhx_palette__cell:hover{border:2px solid hsla(0,0%,100%,.6);transition:border .2s ease-out}.dhx_palette__cell--selected:after,.dhx_palette__cell:hover:after{border:1px solid rgba(0,0,0,.6);transition:border .2s ease-out}.dhx_colorpicker-custom-colors{font-size:14px;color:#909cad}.dhx_colorpicker-custom-colors__header{font-size:14px;padding:9px 0 4px;letter-spacing:-.2px;position:relative}.dhx_colorpicker-custom-colors__picker{display:inline-block;width:20px;height:20px;cursor:pointer;color:#909cad;box-shadow:inset 0 0 0 1px #909cad}.dhx_colorpicker-picker__palette{position:relative;width:100%;border-radius:2px;overflow:hidden}.dhx_colorpicker-picker__palette:before{content:"";height:100%;width:100%;position:absolute;top:0;left:0;background-image:linear-gradient(0deg,#000,hsla(0,0%,100%,0));z-index:2}.dhx_colorpicker-picker__palette:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0;background-image:linear-gradient(90deg,#fff,hsla(20,42%,65%,0));z-index:1}.dhx_colorpicker-picker__buttons{display:flex;padding:12px 0 0;justify-content:flex-end}.dhx_colorpicker-picker__buttons .dhx_button:first-child{margin-right:4px}.dhx_colorpicker-hue-range{position:relative;width:100%;margin:4px 0 8px;border-radius:2px;background-image:linear-gradient(90deg,red,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.dhx_colorpicker-hue-range__grip{width:6px;height:100%}.dhx_colorpicker-hue-range__grip,.dhx_palette_grip{position:absolute;top:0;left:0;border:1px solid #fff;background:transparent;box-shadow:0 2px 5px 0 rgba(0,0,0,.3)}.dhx_palette_grip{width:10px;height:10px;border-radius:50%;z-index:10}.dhx_colorpicker-value{display:flex;flex-direction:row;height:32px;justify-content:space-between}.dhx_colorpicker-value__color{width:100px;border:1px solid transparent;border-radius:2px;margin-right:8px}.dhx_colorpicker-value__input__wrapper{position:relative;border:1px solid #d4dde7}.dhx_colorpicker-value__input__wrapper:before{content:"#";position:absolute;height:100%;line-height:30px;left:8px;color:#909cad;font-size:15px}.dhx_colorpicker-value__input{width:100px;height:100%;padding:0 0 0 24px;line-height:20px;font-size:14px;color:rgba(0,0,0,.7);border:none;border-radius:2px;outline:none} \ No newline at end of file diff --git a/samples/toolbar/common/form/form.min.js b/samples/toolbar/common/form/form.min.js index 0136151..21964eb 100644 --- a/samples/toolbar/common/form/form.min.js +++ b/samples/toolbar/common/form/form.min.js @@ -1,15 +1,15 @@ /* @license -undefined v.6.0.4 Professional +undefined v.6.3.1 Professional This software is covered by DHTMLX Commercial License. Usage without proper license is prohibited. -(c) Dinamenta, UAB. +(c) XB Software. */ -if(window.dhx&&(window.dhx_legacy=dhx,delete window.dhx),function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.dhx=e():t.dhx=e()}(window,function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(i,o,function(e){return t[e]}.bind(null,o));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/codebase/",n(n.s=53)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(60);e.el=i.defineElement,e.sv=i.defineSvgElement,e.view=i.defineView,e.create=i.createView,e.inject=i.injectView,e.disableHelp=function(){i.DEVMODE.mutations=!1,i.DEVMODE.warnings=!1,i.DEVMODE.verbose=!1,i.DEVMODE.UNKEYED_INPUT=!1},e.resizer=function(t){var n=window.ResizeObserver,i=function(e){var n=e.el.offsetHeight,i=e.el.offsetWidth;t(i,n)};return n?e.el("div.dhx-resize-observer",{_hooks:{didInsert:function(t){new n(function(){return i(t)}).observe(t.el)}}}):e.el("iframe.dhx-resize-observer",{_hooks:{didInsert:function(t){t.el.contentWindow.onresize=function(){return i(t)},i(t)}}})}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(4),o=(new Date).valueOf();e.uid=function(){return"u"+o++},e.extend=function t(e,n,i){if(void 0===i&&(i=!0),n)for(var o in n){var r=n[o],s=e[o];!i||"object"!=typeof s||s instanceof Date||s instanceof Array?e[o]=r:t(s,r)}return e},e.copy=function(t,e){var n={};for(var i in t)e&&"$"===i[0]||(n[i]=t[i]);return n},e.naturalSort=function(t){return t.sort(function(t,e){return"string"==typeof t?t.localeCompare(e):t-e})},e.findIndex=function(t,e){for(var n=t.length,i=0;ie.length)return!1;for(var n=0;ne)return[];for(var n=[];t<=e;)n.push(t++);return n}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t){this.events={},this.context=t||this}return t.prototype.on=function(t,e,n){var i=t.toLowerCase();this.events[i]=this.events[i]||[],this.events[i].push({callback:e,context:n||this.context})},t.prototype.detach=function(t,e){var n=t.toLowerCase(),i=this.events[n];if(e&&i&&i.length)for(var o=i.length-1;o>=0;o--)i[o].context===e&&i.splice(o,1);else this.events[n]=[]},t.prototype.fire=function(t,e){void 0===e&&(e=[]);var n=t.toLowerCase();return!this.events[n]||this.events[n].map(function(t){return t.callback.apply(t.context,e)}).indexOf(!1)<0},t.prototype.clear=function(){this.events={}},t}();e.EventSystem=i,e.EventsMixin=function(t){var e=new i(t=t||{});t.detachEvent=e.detach.bind(e),t.attachEvent=e.on.bind(e),t.callEvent=e.fire.bind(e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=n(4),r=function(){function t(t,e){this._uid=i.uid(),this.config=e||{}}return t.prototype.mount=function(t,e){e&&(this._view=e),t&&this._view&&this._view.mount&&(this._container=o.toNode(t),this._container.tagName?this._view.mount(this._container):this._container.attach&&this._container.attach(this))},t.prototype.unmount=function(){var t=this.getRootView();t&&t.node&&(t.unmount(),this._view=null)},t.prototype.getRootView=function(){return this._view},t.prototype.getRootNode=function(){return this._view&&this._view.node&&this._view.node.el},t.prototype.paint=function(){this._view&&(this._view.node||this._container)&&(this._doNotRepaint=!1,this._view.redraw())},t}();e.View=r,e.toViewLike=function(t){return{getRootView:function(){return t},paint:function(){return t.node&&t.redraw()},mount:function(e){return t.mount(e)}}}},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n-1)return e[n[l]](i,o);r=r.parentNode}return!0}},e.locate=function(t,e){void 0===e&&(e="dhx_id");var n=o(t,e);return n?n.getAttribute(e):""},e.locateNode=o,e.getBox=function(t){var e=t.getBoundingClientRect(),n=document.body,i=window.pageYOffset||n.scrollTop,o=window.pageXOffset||n.scrollLeft;return{top:e.top+i,left:e.left+o,right:n.offsetWidth-e.right,bottom:n.offsetHeight-e.bottom,width:e.right-e.left,height:e.bottom-e.top}};var r,s=-1;function a(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,right:e.right+window.pageXOffset,top:e.top+window.pageYOffset,bottom:e.bottom+window.pageYOffset}}function l(t,e){var n=e.mode===r.bottom||e.mode===r.top?u(t,e):d(t,e),i=n.left,o=n.top;return{left:Math.round(i)+"px",top:Math.round(o)+"px",minWidth:Math.round(e.width)+"px",position:"absolute"}}function c(){return{rightBorder:window.pageXOffset+window.innerWidth,bottomBorder:window.pageYOffset+window.innerHeight}}function u(t,e){var n,o,s=c(),a=s.rightBorder,l=s.bottomBorder-t.bottom-e.height,u=t.top-e.height;if(e.mode===r.bottom?l>=0?o=t.bottom:u>=0&&(o=u):u>=0?o=u:l>=0&&(o=t.bottom),l<0&&u<0){if(e.auto)return d(t,i({},e,{mode:r.right,auto:!1}));o=l>u?t.bottom:u}if(e.centering)n=function(t,e,n){var i=(e-(t.right-t.left))/2,o=t.left-i,r=t.right+i;return o>=0&&r<=n?o:o<0?0:n-e}(t,e.width,a);else{var h=a-t.left-e.width,f=t.right-e.width;n=h>=0?t.left:f>=0?f:f>h?t.left:f}return{left:n,top:o}}function d(t,e){var n,o,s=c(),a=s.rightBorder,l=s.bottomBorder,d=a-t.right-e.width,h=t.left-e.width;if(e.mode===r.right?d>=0?n=t.right:h>=0&&(n=h):h>=0?n=h:d>=0&&(n=t.right),h<0&&d<0){if(e.auto)return u(t,i({},e,{mode:r.bottom,auto:!1}));n=h>d?h:t.right}if(e.centering)o=function(t,e,n){var i=(e-(t.bottom-t.top))/2,o=t.top-i,r=t.bottom+i;return o>=0&&r<=n?o:o<0?0:n-e}(t,e.height,a);else{var f=t.bottom-e.height,p=l-t.top-e.height;o=p>=0?t.top:f>0?f:f>p?f:t.top}return{left:n,top:o}}e.getScrollbarWidth=function(){if(s>-1)return s;var t=document.createElement("div");return document.body.appendChild(t),t.style.cssText="position: absolute;left: -99999px;overflow:scroll;width: 100px;height: 100px;",s=t.offsetWidth-t.clientWidth,document.body.removeChild(t),s},e.fitPosition=function(t,e){return l(a(t),e)},e.isIE=function(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1},e.getRealPosition=a,function(t){t.left="left",t.right="right",t.bottom="bottom",t.top="top"}(r=e.Position||(e.Position={})),e.calculatePosition=l},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.block="block",t.input="input",t.button="button",t.combo="combo",t.slider="slider",t.radioButton="radioButton",t.radioGroup="radioGroup",t.checkbox="checkbox",t.select="select",t.simpleVault="simpleVault",t.textarea="textarea",t.timepicker="timepicker",t.datepicker="datepicker",t.colorpicker="colorpicker",t.text="text"}(e.FormItemType||(e.FormItemType={})),function(t){t.change="change",t.buttonClick="buttonclick",t.validationFail="validationfail",t.beforeSend="beforesend",t.afterSend="aftersend"}(e.FormEvents||(e.FormEvents={})),function(t){t.empty="",t.validEmail="email",t.validInteger="integer",t.validNumeric="numeric",t.validAplhaNumeric="alphanumeric",t.validIPv4="IPv4"}(e.Validation||(e.Validation={})),function(t){t[t.pre=0]="pre",t[t.error=1]="error",t[t.success=2]="success"}(e.ValidationStatus||(e.ValidationStatus={})),function(t){t.value="value",t.validation="validation"}(e.ClearMethod||(e.ClearMethod={}))},function(t,e,n){"use strict";var i;Object.defineProperty(e,"__esModule",{value:!0});var o=n(5);e.getFormItemCss=function(t,e){var n,i=t.labelInline,r=t.required,s=t.disabled,a=t.hiddenLabel,l=t.css,c=t.$validationStatus,u=(n={},n[o.ValidationStatus.pre]="",n[o.ValidationStatus.error]=" dhx_form-group--state_error",n[o.ValidationStatus.success]=" dhx_form-group--state_success",n)[c]||"",d=i?" dhx_form-group--inline":"",h=s?" dhx_form-group--disabled":"",f=a?" dhx_form-group--label_sr":"";return e?l||""+d+u+(r?" dhx_form-group--required":"")+h+f:l||""+d+h+f};var r=((i={})[o.Validation.validAplhaNumeric]=/^[a-zA-Z0-9_]+$/,i[o.Validation.validEmail]=/^.+@.+\..+$/,i[o.Validation.validInteger]=/^\d+$/,i[o.Validation.validIPv4]=/\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}\b/,i[o.Validation.validNumeric]=/^\d+(\.\d+)?$/,i);e.getValidationMessage=function(t){var e;return(e={undefined:t.preMessage},e[o.ValidationStatus.pre]=t.preMessage,e[o.ValidationStatus.error]=t.errorMessage,e[o.ValidationStatus.success]=t.successMessage,e)[t.$validationStatus]||""},e.validateTemplate=function(t,e){return!r[t]||r[t].test(e)},e.isBlock=function(t){return Boolean(t.rows)||Boolean(t.cols)},e.validateInput=function(t,e){var n=!0;if("function"==typeof e)n=e(t);else{var i=r[e];i&&(n=i.test(t))}return n},e.isTimeFormat=function(t,e){return 12===e?/(^0?([1-9][0-2]?):[0-5][0-9]?([AP][M]?)$)/i.test(t):/(^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]$)/i.test(t)}},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(11)),i(n(32)),i(n(66)),i(n(67)),i(n(16)),i(n(12)),i(n(35)),i(n(34)),i(n(69)),i(n(33))},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(76)),i(n(37))},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,n=1,i=arguments.length;n99?" dhx_navbar-count--overlimit":"")},n&&parseInt(t.count,10)>99?"99+":t.count)},e.getIcon=function(t,e){return void 0===t&&(t=""),"dxi"===t.slice(0,3)&&(t="dxi "+t),i.el("span",{class:"dhx_"+e+"__icon "+t})},e.navbarComponentMixin=function(t,e,n,s){var a=r(t,e,n),l="ribbon"===t&&(e.type===o.ItemType.navItem||e.type===o.ItemType.imageButton);return i.el("li",{_key:e.id,class:a+(e.icon&&!e.value&&l?" dhx_ribbon__item--icon":"")+(e.src&&!e.value&&l?" dhx_ribbon__item--icon":"")+(e.size&&l?" dhx_ribbon__item--"+e.size:"")},[s])},e.getNavbarButtonCSS=function(t,e){var n=t.color,i=t.size,o=t.view,r=t.full,s=t.icon,a=t.circle,l=t.loading,c=t.value,u=t.active;return({danger:" dhx_button--color_danger",secondary:" dhx_button--color_secondary",primary:" dhx_button--color_primary",success:" dhx_button--color_success"}[n]||" dhx_button--color_primary")+({small:" dhx_button--size_small",medium:" dhx_button--size_medium"}[i]||" dhx_button--size_medium")+({flat:" dhx_button--view_flat",link:" dhx_button--view_link"}[o]||" dhx_button--view_flat")+(r?" dhx_button--width_full":"")+(a?" dhx_button--circle":"")+(l?" dhx_button--loading":"")+(u?" dhx_button--active":"")+(s&&!c?" dhx_button--icon":"")};var r=function(t,e,n){var i="",r="";return r=(i=n?"dhx_menu-item":"dhx_"+t+"__item")+(e.css?" "+e.css:""),e.type!==o.ItemType.spacer&&e.type!==o.ItemType.separator||(r+=" "+i+"--"+e.type),"button"!==e.type||"sidebar"!==t||e.icon||(r+=" dhx_navbar-item--colapse_hidden"),r}},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function e(t){this.url=t}return e.prototype.load=function(){return this._ajax(this.url)},e.prototype.save=function(t,e){return this._ajax(this.url,t,{insert:"POST",delete:"DELETE",update:"POST"}[e]||"POST")},e.prototype._ajax=function(e,n,i){return void 0===i&&(i="GET"),new t(function(t,o){var r=new XMLHttpRequest;switch(r.onload=function(){r.status>=200&&r.status<300?t(r.response||r.responseText):o({status:r.status,statusText:r.statusText})},r.onerror=function(){o({status:r.status,statusText:r.statusText})},r.open(i,e),r.setRequestHeader("Content-Type","application/json"),i){case"POST":case"DELETE":case"PUT":r.send(JSON.stringify(n));break;case"GET":default:r.send()}})},e}();e.DataProxy=n}).call(this,n(10))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});n(7);!function(t){t.queue="queue",t.uploaded="uploaded",t.failed="failed",t.inprogress="inprogress"}(e.FileStatus||(e.FileStatus={})),function(t){t.uploadBegin="uploadbegin",t.beforeUploadFile="beforeuploadfile",t.uploadFile="uploadfile",t.uploadFail="uploadfail",t.uploadComplete="uploadcomplete",t.uploadProgress="uploadprogress"}(e.UploaderEvents||(e.UploaderEvents={})),function(t){t.cancel="cancel"}(e.ProgressBarEvents||(e.ProgressBarEvents={})),function(t){t.grid="grid",t.list="list"}(e.VaultMode||(e.VaultMode={}))},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeUnSelect="beforeunselect",t.afterUnSelect="afterunselect",t.beforeSelect="beforeselect",t.afterSelect="afterselect"}(e.SelectionEvents||(e.SelectionEvents={}))},function(t,e,n){"use strict";function i(t){for(var e=t.toLowerCase().match(/\w+/g),n=0,i="",o=0;o=48&&e.which<=57||e.which>=65&&e.which<=90?String.fromCharCode(e.which):e.key)&&n.toLowerCase()),o=t._keysStorage[i];if(o)for(var r=0;r=0;s--)n[o].splice(r[s],1)}},t.prototype.exist=function(t){var e=i(t);return!!this._keysStorage[e]},t}();e.keyManager=new o,e.addHotkeys=function(t,n){var i=new Date,o=function(t){return function(e){n&&!1===n()||t(e)}};for(var r in t)e.keyManager.addHotKey(r,o(t[r]),i);return function(){return e.keyManager.removeHotKey(void 0,i)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.click="click",t.doubleClick="doubleclick",t.contextmenu="contextmenu",t.focusChange="focuschange",t.beforeEditStart="beforeEditStart",t.afterEditStart="afterEditStart",t.beforeEditEnd="beforeEditEnd",t.afterEditEnd="afterEditEnd"}(e.ListEvents||(e.ListEvents={}))},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(79)),i(n(40))},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(81)),i(n(42))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i,o=n(43),r=n(1),s={"%d":function(t){var e=t.getDate();return e<10?"0"+e:e},"%j":function(t){return t.getDate()},"%l":function(t){return o.default.days[t.getDay()]},"%D":function(t){return o.default.daysShort[t.getDay()]},"%m":function(t){var e=t.getMonth()+1;return e<10?"0"+e:e},"%n":function(t){return t.getMonth()+1},"%M":function(t){return o.default.monthsShort[t.getMonth()]},"%F":function(t){return o.default.months[t.getMonth()]},"%y":function(t){return t.getFullYear().toString().slice(2)},"%Y":function(t){return t.getFullYear()},"%h":function(t){var e=t.getHours()%12;return e<10?"0"+e:e},"%g":function(t){return t.getHours()%12},"%H":function(t){var e=t.getHours();return e<10?"0"+e:e},"%G":function(t){return t.getHours()},"%i":function(t){var e=t.getMinutes();return e<10?"0"+e:e},"%s":function(t){var e=t.getSeconds();return e<10?"0"+e:e},"%a":function(t){return t.getHours()>12?"pm":"am"},"%A":function(t){return t.getHours()>12?"PM":"AM"},"%u":function(t){return t.getMilliseconds()}},a={"%d":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setDate(Number(e)):t.setDate(Number(1))},"%j":function(t,e){/(^([0-9]?[0-9])$)/i.test(e)?t.setDate(Number(e)):t.setDate(Number(1))},"%m":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setMonth(Number(e)-1):t.setMonth(Number(0))},"%n":function(t,e){/(^([0-9]?[0-9])$)/i.test(e)?t.setMonth(Number(e)-1):t.setMonth(Number(0))},"%M":function(t,e){var n=r.findIndex(o.default.monthsShort,function(t){return t===e});-1===n?t.setMonth(0):t.setMonth(n)},"%F":function(t,e){var n=r.findIndex(o.default.months,function(t){return t===e});-1===n?t.setMonth(0):t.setMonth(n)},"%y":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setFullYear(Number("20"+e)):t.setFullYear(Number("2000"))},"%Y":function(t,e){/(^([0-9][0-9][0-9][0-9])$)/i.test(e)?t.setFullYear(Number(e)):t.setFullYear(Number("2000"))},"%h":function(t,e){/(^0[1-9]|1[0-2]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%g":function(t,e){/(^[1-9]$)|(^0[1-9]|1[0-2]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%H":function(t,e){/(^[0-9][0-3]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%G":function(t,e){/(^([0-9]$)|[0-9][0-3]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%i":function(t,e){/(^([0-5][0-9])$)/i.test(e)?t.setMinutes(Number(e)):t.setMinutes(Number(0))},"%s":function(t,e){/(^([0-5][0-9])$)/i.test(e)?t.setSeconds(Number(e)):t.setSeconds(Number(0))},"%a":function(t,e){"pm"===e&&t.setHours(t.getHours()+12)},"%A":function(t,e){"PM"===e&&t.setHours(t.getHours()+12)}};function l(t){for(var e=[],n="",o=0;o0&&(e.push({type:i.separator,value:n}),n=""),e.push({type:i.datePart,value:t[o]+t[o+1]}),o++):n+=t[o];return n.length>0&&e.push({type:i.separator,value:n}),e}e.getFormatedDate=function(t,e){return l(t).reduce(function(t,n){return n.type===i.separator?t+n.value:s[n.value]?t+s[n.value](e):t},"")},function(t){t[t.separator=0]="separator",t[t.datePart=1]="datePart"}(i||(i={})),e.stringToDate=function(t,e,n){for(var o=[],r=0,s=null,c=0,u=l(e);c1&&(e-=1)}return{h:Math.floor(360*e),s:n,v:s}}Object.defineProperty(e,"__esModule",{value:!0}),e.HSVtoRGB=function(t){var e={r:0,g:0,b:0},n=t.h/60,i=t.s,o=t.v,r=Math.floor(n)%6,s=n-Math.floor(n),a=255*o*(1-i),l=255*o*(1-i*s),c=255*o*(1-i*(1-s));switch(o*=255,r){case 0:e.r=o,e.g=c,e.b=a;break;case 1:e.r=l,e.g=o,e.b=a;break;case 2:e.r=a,e.g=o,e.b=c;break;case 3:e.r=a,e.g=l,e.b=o;break;case 4:e.r=c,e.g=a,e.b=o;break;case 5:e.r=o,e.g=a,e.b=l}for(var u in e)e[u]=Math.round(e[u]);return e},e.RGBToHex=function(t){return Object.keys(t).reduce(function(e,n){var i=t[n].toString(16).toUpperCase();return e+(i=1===i.length?"0"+i:i)},"#")},e.HexToRGB=i,e.RGBToHSV=o,e.HexToHSV=function(t){return o(i(t))},e.isHex=function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={cancel:"Cancel",select:"Select",rightClickToDelete:"Right click to delete",customColors:"Custom colors",addNewColor:"Add new color"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.left="left",t.right="right",t.top="top",t.bottom="bottom",t.center="center"}(e.RealPosition||(e.RealPosition={})),function(t){t.right="right",t.bottom="bottom",t.center="center"}(e.Position||(e.Position={})),function(t){t.topLeft="top-left",t.topRight="top-right",t.bottomLeft="bottom-left",t.bottomRight="bottom-right"}(e.MessageContainerPosition||(e.MessageContainerPosition={}))},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(88)),i(n(89)),i(n(90)),i(n(47)),i(n(27))},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o,r=n(0),s=n(1),a=n(6),l=n(9),c=n(2),u=n(5),d=500;!function(t){t.change="change",t.error="error",t.success="success"}(o=e.InputEvents||(e.InputEvents={}));var h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.events=new c.EventSystem,e._debounceTime=d,e}return i(e,t),e.prototype.validate=function(){var t=!this.config.required||this.config.value,e=!this.config.validation||a.validateInput(this.config.value,this.config.validation);return this.config.$validationStatus=t&&e?u.ValidationStatus.success:u.ValidationStatus.error,this.paint(),t&&e},e.prototype.clearValidate=function(){this.config.$validationStatus=u.ValidationStatus.pre,this.paint()},e.prototype.clear=function(){this.config.value="",this.paint()},e.prototype.setValue=function(t){this.config.value=t,this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype._init=function(){var t=this.config,e=t.validation,n=t.value;if(e&&n){var i=a.validateInput(n,e);this.config.$validationStatus=i?u.ValidationStatus.success:u.ValidationStatus.error}},e.prototype._getHandlers=function(){var t=this;return{oninput:function(e){var n=e.target.value;t.config.value=n,t._debounceTimer&&clearTimeout(t._debounceTimer);var i=Date.now(),o=t._last?i-t._last:t._debounceTime;t._last=i,t._debounceTime=(o+t._debounceTime)/2+300,t._debounceTimer=setTimeout(function(){t._validate(n)},t._debounceTime)},onblur:function(e){t._validate(e.target.value,!0)}}},e.prototype._draw=function(){var t=this.config,e=t.id,n=t.value,i=t.disabled,o=t.name,l=t.icon,c=t.placeholder,u=t.required,d=t.inputType,h=t.validation,f=t.hidden,p=t.autocomplete,_=f?" dhx_form-group--hidden":"";return r.el("div.dhx_form-group",{class:a.getFormItemCss(this.config,Boolean(u)||Boolean(h))+_},[this._drawLabel(),r.el(".dhx_input-wrapper",{},[this.config.icon?r.el(".dhx_input__icon",{class:this.config.icon}):null,r.el("input.dhx_input",{type:d,id:e||this._uid,placeholder:c||"",value:s.isDefined(n)?n:"",name:o||"",disabled:i,required:u,onblur:this._handlers.onblur,oninput:this._handlers.oninput,class:l?"dhx_input--icon-padding":"",autocomplete:p?"on":"off"}),a.getValidationMessage(this.config)&&r.el("span.dhx_input-caption",a.getValidationMessage(this.config))])])},e.prototype._validate=function(t,e){if(e&&this._debounceTimer&&clearTimeout(this._debounceTimer),this._last=null,this._debounceTimer=null,this._debounceTime=d,this.config.validation){if(!a.validateInput(t,this.config.validation))return this.events.fire(o.error,[t]),this.config.$validationStatus=u.ValidationStatus.error,void this.paint();this.events.fire(o.success,[t]),this.config.$validationStatus=u.ValidationStatus.success,this.paint()}else this.config.required&&(""===t?(this.events.fire(o.error,[t]),this.config.$validationStatus=u.ValidationStatus.error,this.paint()):(this.events.fire(o.success,[t]),this.config.$validationStatus=u.ValidationStatus.success,this.paint()));this.events.fire(o.change,[t])},e}(l.Label);e.Input=h},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={dragAndDrop:"Drag & drop",or:"or",browse:"Browse files",filesOrFoldersHere:"files or folders here",cancel:"Cancel",clearAll:"Clear all",clear:"Clear",add:"Add",upload:"Upload",download:"Download",error:"error",byte:"B",kilobyte:"KB",megabyte:"MB",gigabyte:"GB"}},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(58)),i(n(39))},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=0?e:-1},t.prototype.getId=function(t){if(this._order[t])return this._order[t].id},t.prototype.getLength=function(){return this._order.length},t.prototype.filter=function(t,e){if((e=u.extend({add:!1,multiple:!0},e)).add||(this._order=this._initOrder||this._order,this._initOrder=null),this._filters=this._filters||{},e.multiple&&t||(this._filters={}),t){if("function"==typeof t){this._filters._={match:"_",compare:t}}else t.match?(t.compare=t.compare||function(t,e){return t===e},this._filters[t.by]=t):delete this._filters[t.by];this._applyFilters()}this.events.fire(c.DataEvents.change)},t.prototype.find=function(t){for(var e in this._pull){var n=l.findByConf(this._pull[e],t);if(n)return n}return null},t.prototype.findAll=function(t){var e=[];for(var n in this._pull){var i=l.findByConf(this._pull[n],t);i&&e.push(i)}return e},t.prototype.sort=function(t){if(t)this._sort.sort(this._order,t),this._initOrder&&this._initOrder.length&&this._sort.sort(this._initOrder,t);else{for(var e in this._order=[],this._pull)this._order.push(this._pull[e]);this._applyFilters()}this.events.fire(c.DataEvents.change)},t.prototype.copy=function(e,n,o,r){if(!this.exists(e))return null;var s=u.uid();return o?o instanceof t||!r?o.exists(e)?(o.add(i({},l.copyWithoutInner(this.getItem(e)),{id:s}),n),s):(o.add(l.copyWithoutInner(this.getItem(e)),n),e):void o.add(l.copyWithoutInner(this.getItem(e)),n):(this.add(i({},l.copyWithoutInner(this.getItem(e)),{id:s}),n),s)},t.prototype.move=function(t,e,n,i){if(n&&n!==this&&this.exists(t)){var o=u.copy(this.getItem(t),!0);return n.exists(t)&&(o.id=u.uid()),i&&(o.parent=i),n.add(o,e),this.remove(t),o.id}if(this.getIndex(t)===e)return null;var r=this._order.splice(this.getIndex(t),1)[0];return-1===e&&(e=this._order.length),this._order.splice(e,0,r),this.events.fire(c.DataEvents.change),t},t.prototype.load=function(t,e){return"string"==typeof t&&(t=new a.DataProxy(t)),this._loader.load(t,e)},t.prototype.parse=function(t,e){return this._removeAll(),this._loader.parse(t,e)},t.prototype.$parse=function(t){var e=this.config.approximate;e&&(t=this._approximate(t,e.value,e.maxNum)),this._parse_data(t),this.events.fire(c.DataEvents.change,["load"]),this.events.fire(c.DataEvents.load)},t.prototype.save=function(t){this._loader.save(t)},t.prototype.isSaved=function(){return!this._changes.order.length},t.prototype.map=function(t){for(var e=[],n=0;nthis._order.length-1&&(e=this._order.length-1);for(var i=[],o=t;o<=e;o++)i.push(n.call(this,this._order[o],o));return i},t.prototype.reduce=function(t,e){for(var n=0;n=0&&(this._order=this._order.filter(function(e){return e.id!==t}),delete this._pull[t]),this._initOrder&&this._initOrder.length&&(this._initOrder=this._initOrder.filter(function(e){return e.id!==t}))},t.prototype._parse_data=function(t){var e=this._order.length;this.config.prep&&(t=this.config.prep(t));for(var n=0,i=t;n=0&&t[n]?(this._pull[e.id]=e,t.splice(n,0,e)):(this._pull[e.id]=e,t.push(e))},t.prototype._applyFilters=function(){var t=this;if(this._filters&&Object.keys(this._filters).length){var e=this._order.filter(function(e){return Object.keys(t._filters).every(function(n){return e[n]?t._filters[n].compare(e[n],t._filters[n].match,e):t._filters[n].compare(e)})});this._initOrder||(this._initOrder=this._order),this._order=e}},t}();e.DataCollection=d},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n-1:this._selected.length>0},t.prototype.remove=function(t){var e=this;if(t)return!t&&!this._selected.length||(t?this._unselectItem(t):(this._selected.forEach(function(t){return e._unselectItem(t)}),!0));this._data.map(function(t){t.$selected=!1,e._selected=[]})},t.prototype.add=function(t,e,n){var o=this;if(this.events.fire(i.SelectionEvents.beforeSelect))return t?void(this.config.multiselection?this._addMulti(t,e,n):this._addSingle(t,e)):(this._selected=[],void this._data.map(function(t){t.$selected=!0,o._selected.push(t.id)}))},t.prototype._addMulti=function(t,e,n){var o=this,r=this._data.getIndex(t);"click"===this.config.multiselectionMode&&(n?(this._addWithShift(r),this.events.fire(i.SelectionEvents.afterSelect,[t])):(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[])),"ctrlClick"===this.config.multiselectionMode&&(n||e||(this._data.map(function(t){t.$selected=!1,o._selected=[]}),this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]),n&&(this._addWithShift(r),this.events.fire(i.SelectionEvents.afterSelect,[t])),e&&(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]))},t.prototype._addWithShift=function(t){var e=this;t>=this._lastSelectedIndex&&(this._data.map(function(t,n){-1!==e._lastShiftSelectedIndexes.indexOf(n)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(n)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==n&&t!==e._lastSelectedIndex}))}),this._data.map(function(n,i){i>=e._lastSelectedIndex&&i<=t&&(n.$selected=!0,-1===e._selected.indexOf(n.id)&&e._selected.push(n.id),i!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(i)&&e._lastShiftSelectedIndexes.push(i))})),t<=this._lastSelectedIndex&&(this._data.map(function(t,n){-1!==e._lastShiftSelectedIndexes.indexOf(n)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(n)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==n&&t!==e._lastSelectedIndex}))}),this._data.map(function(n,i){i<=e._lastSelectedIndex&&i>=t&&(n.$selected=!0,-1===e._selected.indexOf(n.id)&&e._selected.push(n.id),i!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(i)&&e._lastShiftSelectedIndexes.push(i))}))},t.prototype._addSingle=function(t,e){this.remove(),this.config&&"click"===this.config.multiselectionMode?this._selectItem(t):e&&this._selectItem(t)},t.prototype._isSelected=function(t){return-1!==this._selected.indexOf(t)},t.prototype._selectItem=function(t){this._selected.push(t),this._data.update(t,{$selected:!0}),this.events.fire(i.SelectionEvents.afterSelect,[t])},t.prototype._unselectItem=function(t){return!!this.events.fire(i.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=this._selected.filter(function(e){return e!==t}),this.events.fire(i.SelectionEvents.afterUnSelect,[t]),!0)},t}();e.Selection=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeHide="beforehide",t.beforeShow="beforeshow",t.afterHide="afterhide",t.afterShow="aftershow",t.click="click"}(e.PopupEvents||(e.PopupEvents={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={notFound:"Not Found",selectAll:"Select All",unselectAll:"Unselect All",selectedItems:"selected items"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.open="open",t.close="close"}(e.ComboboxEvents||(e.ComboboxEvents={})),function(t){t[t.default=0]="default",t[t.error=1]="error",t[t.success=2]="success"}(e.ComboState||(e.ComboState={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.vertical="vertical",t.horizontal="horizontal"}(e.Direction||(e.Direction={})),function(t){t.change="change",t.mousedown="mousedown",t.mouseup="mouseup"}(e.SliderEvents||(e.SliderEvents={}))},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(80)),i(n(44)),i(n(24))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.save="save",t.close="close"}(e.TimepickerEvents||(e.TimepickerEvents={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Monday"],cancel:"Cancel"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.days="calendar",t.years="year",t.months="month",t.timepicker="timepicker"}(e.ViewMode||(e.ViewMode={})),function(t){t.change="change",t.beforeChange="beforechange",t.dateHover="dateHover"}(e.CalendarEvents||(e.CalendarEvents={}))},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(86)),i(n(46)),i(n(25));var o=n(26);e.locale=o.default},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.colorChange="colorChange",t.selectClick="selectClick",t.cancelClick="cancelClick",t.viewChange="viewChange"}(e.ColorpickerEvents||(e.ColorpickerEvents={})),function(t){t.palette="palette",t.picker="picker"}(e.ViewsTypes||(e.ViewsTypes={}))},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;nwindow.innerWidth+window.pageXOffset&&(s=window.pageXOffset+t.left-n,o=r.RealPosition.left),{left:s,top:a=window.pageYOffset+t.top+(t.height-i)/2,pos:o};case r.Position.bottom:default:return(s=window.pageXOffset+t.left+(t.width-n)/2)+n>window.innerWidth+window.pageXOffset?s=window.innerWidth+window.pageXOffset-n:s<0&&(s=0),o=r.RealPosition.bottom,(a=window.pageYOffset+t.bottom)+i+8>window.innerHeight+window.pageYOffset&&(a=window.pageYOffset+t.top-i,o=r.RealPosition.top),{left:s,top:a,pos:o}}}e.findPosition=l;var c=document.createElement("div"),u=document.createElement("span");u.className="dhx_tooltip__text",c.appendChild(u),c.style.position="absolute";var d,h=null,f=!1,p=null,_=null;function v(t,e,n,i,o){void 0===o&&(o=!1);var s=t.getBoundingClientRect();u.textContent=e,document.body.appendChild(c),c.className="dhx_tooltip"+(o?" dhx_tooltip--forced":"");var a=c.getBoundingClientRect(),d=l(s,n,a.width,a.height),h=d.left,p=d.top,_=d.pos;switch(_){case r.RealPosition.bottom:case r.RealPosition.top:case r.RealPosition.left:case r.RealPosition.right:case r.RealPosition.center:c.style.left=h+"px",c.style.top=p+"px"}c.className+=" dhx_tooltip--"+_+" "+(i||""),f=!0,o||setTimeout(function(){c.className+=" dhx_tooltip--animate"})}function g(t,e,n){var i=n.force,o=n.showDelay,l=n.hideDelay,u=n.position,g=n.css;i||(_=setTimeout(function(){v(t,e,u||r.Position.bottom,g)},o||s));var m=function(){f&&function(t){h&&(p=setTimeout(function(){document.body.removeChild(c),f=!1,p=null},t||a))}(l),clearTimeout(_),t.removeEventListener("mouseleave",m),t.removeEventListener("blur",m),document.removeEventListener("mousedown",m),h=null,d=null};i&&v(t,e,u,g,i),t.addEventListener("mouseleave",m),t.addEventListener("blur",m),document.addEventListener("mousedown",m),d=m}function m(t,e){var n=o.toNode(e.node);n!==h&&(d&&(d(),d=null),h=n,p?(clearTimeout(p),p=null,g(n,t,i({},e,{force:!0}))):g(n,t,e))}function y(t){var e=o.locateNode(t,"dhx_tooltip_text");e&&m(e.getAttribute("dhx_tooltip_text"),{position:e.getAttribute("dhx_tooltip_position")||r.Position.bottom,node:e})}e.tooltip=m,e.enableTooltip=function(){document.addEventListener("mousemove",y)},e.disableTooltip=function(){document.removeEventListener("mousemove",y)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={apply:"apply",reject:"reject"}},function(t,e,n){"use strict";function i(t){var e=document.activeElement;e.classList.contains("dhx_alert__confirm-reject")||e.classList.contains("dhx_alert__confirm-aply")||t.preventDefault()}Object.defineProperty(e,"__esModule",{value:!0}),e.blockScreen=function(t){var e=document.createElement("div");return e.className="dhx_alert__overlay "+(t||""),document.body.appendChild(e),document.addEventListener("keydown",i),function(){document.body.removeChild(e),document.removeEventListener("keydown",i)}}},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=n(4),r=n(7),s=n(17),a=function(){function e(t,e,n){void 0===t&&(t={}),this.config=i.extend({autosend:!0,updateFromResponse:!0,fieldName:"file"},t),this.data=e||new r.DataCollection,this.events=n||this.data.events,this.isActive=!1,this._fileInput=document.createElement("input"),this._fileInput.type="file",this._fileInput.multiple=!0,this._initEvents(),this._dropAreas=new Map}return e.prototype.selectFile=function(){this._fileInput.click()},e.prototype.linkDropArea=function(t){var e=this,n=o.toNode(t),i=function(t){return t.preventDefault()},r=function(t){t.preventDefault(),e.parseFiles(t.dataTransfer)};n.addEventListener("dragover",i),n.addEventListener("drop",r),this._dropAreas.set(n,{dragover:i,drop:r})},e.prototype.unlinkDropArea=function(t){var e=this;if(t){var n=o.toNode(t);this._unlinkDropArea(n),this._dropAreas.delete(n)}else this._dropAreas.forEach(function(t,n){e._unlinkDropArea(n)}),this._dropAreas.clear()},e.prototype.parseFiles=function(t){if(t.items&&t.items[0]&&t.items[0].webkitGetAsEntry)this._parseAsWebkitEntry(t.items);else{for(var e=t.files,n=0;n1?"[]":"",a=0,l=t;a=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(56),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(18))},function(t,e,n){(function(t,e){!function(t,n){"use strict";if(!t.setImmediate){var i,o=1,r={},s=!1,a=t.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(t);l=l&&l.setTimeout?l:t,"[object process]"==={}.toString.call(t.process)?i=function(t){e.nextTick(function(){u(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?function(){var e="setImmediate$"+Math.random()+"$",n=function(n){n.source===t&&"string"==typeof n.data&&0===n.data.indexOf(e)&&u(+n.data.slice(e.length))};t.addEventListener?t.addEventListener("message",n,!1):t.attachEvent("onmessage",n),i=function(n){t.postMessage(e+n,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){u(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){u(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(u,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n1)for(var n=1;n '+t.value+"":t.src?' '+t.value+"":''+t.value+""},y=function(t){function e(e,n){var i=t.call(this,e,o.extend({template:m,listHeight:224,cellHeight:32},n))||this;Array.isArray(i.config.data)?(i.events=new s.EventSystem(i),i.data=new u.DataCollection({},i.events),i.data.parse(i.config.data)):i.config.data?(i.data=i.config.data,i.events=i.data.events,i.events.context=i):(i.events=new s.EventSystem(i),i.data=new u.DataCollection({},i.events)),i.popup=new f.Popup,i.popup.events.on(f.PopupEvents.afterShow,function(){i.paint()}),i.popup.events.on(f.PopupEvents.afterHide,function(){i.paint()}),i.config.readonly&&(i._keyListener=new p.KeyListener),i._state={value:"",ignoreNext:!1,canDelete:!1,unselectActive:!1,currentState:g.ComboState.default},i._initHandlers(),i._createLayout(),i._initEvents();var a=r.create({render:function(){return i._draw()},hooks:{didRedraw:function(){i.popup.isVisible()&&(i.focus(),i._configurePopup())}}});return i.mount(e,a),i}return i(e,t),e.prototype.setState=function(t){switch(t){case"success":this._state.currentState=g.ComboState.success;break;case"error":this._state.currentState=g.ComboState.error;break;default:this._state.currentState=g.ComboState.default}this.paint()},e.prototype.focus=function(){if(this.config.disabled)return!1;this.getRootView().refs.input.el.focus()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.clear=function(){if(this.config.disabled)return!1;this.list.selection.remove(),this._state.value="",this._filter(),this._change()},e.prototype.getValue=function(t){var e=this.list.selection.getId();return t?o.wrapBox(e):Array.isArray(e)?e.join(","):e},e.prototype.setValue=function(t){var e=this;if(this.config.disabled)return!1;if(this._filter(),this.list.selection.remove(),this._state.value="",this.config.multiselection)"string"==typeof t&&(t=t.split(",")),t.forEach(function(t){return e.list.selection.add(t)});else{var n=o.unwrapBox(t);this.list.selection.add(n);var i=this.data.getItem(n);i&&(this._state.value=this._getItemText(i))}this._change()},e.prototype.destructor=function(){this.popup.destructor(),this.events.clear(),this.list.destructor(),this._layout.config=null,this._layout.destructor(),this.unmount()},e.prototype._createLayout=function(){var t=this,e=this.list=new h.List(null,{template:this.config.template,virtual:this.config.virtual,keyNavigation:function(){return t.popup.isVisible()},itemHeight:this.config.cellHeight,height:this.config.listHeight,data:this.data});this.list.selection.events.on("change",function(e){t.config.multiselection||e&&"load"!==e&&t._hideOptions()}),this.config.multiselection&&(e.selection.config.multiselection=!0);var n=this._layout=new d.Layout(this.popup.getContainer(),{css:"dhx_combobox-options dhx_combobox__options",rows:[{id:"select-unselect-all",hidden:!this.config.multiselection||!this.config.selectAllButton},{id:"list",css:"dhx_layout-cell--gravity"},{id:"not-found",hidden:!0}],on:{click:{".dhx_combobox__action-select-all":this._handlers.selectAll}}});n.cell("list").attach(e),this.config.multiselection&&this.config.selectAllButton&&n.cell("select-unselect-all").attach(v.selectAllView)},e.prototype._change=function(){var t=this.list.selection.getId();this.events.fire(g.ComboboxEvents.change,[t]),this.paint()},e.prototype._initHandlers=function(){var t=this;this.config.help&&(this._helper=new f.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.help)),this._handlers={showHelper:function(e){e.preventDefault(),e.stopPropagation(),t._helper.show(e.target)},selectAll:function(){t.list.selection.remove(),t._state.unselectActive?(t.data.filter(),t.list.selection.getId().forEach(function(e){t.list.selection.remove(e)}),t.config.selectAllButton&&(t._layout.cell("select-unselect-all").attach(v.selectAllView),t._state.unselectActive=!1)):(t.data.filter(),t.list.selection.add(),t.config.selectAllButton&&(t._layout.cell("select-unselect-all").attach(v.unselectAllView),t._state.unselectActive=!0)),t._change()},onkeydown:function(e){if(t.popup.isVisible()||e.which!==l.KEY_CODES.DOWN_ARROW||t._showOptions(),t.popup.isVisible()&&e.which===l.KEY_CODES.ENTER)if(t.config.multiselection){var n=t.list.getFocusItem(),i=t.data.getItem(n);i&&(i.$selected?t.list.selection.remove(n):t.list.selection.add(n)),t._state.value="",t.data.filter(),t.paint()}else{var o=t.list.getFocusItem();t.list.selection.add(o),t._state.value=t._getItemText(t.data.getItem(o))||"",t._change(),t._hideOptions()}t.popup.isVisible()&&e.which===l.KEY_CODES.ESC&&t._hideOptions()},onkeyup:function(e){if(t.config.multiselection&&!t.config.showItemsCount)if(t._state.ignoreNext)t._state.ignoreNext=!1;else if(e.which===l.KEY_CODES.BACKSPACE&&t._state.canDelete&&t.list.selection.getId().length){var n=t.list.selection.getId(),i=n[n.length-1];t.list.selection.remove(i),t._change(),t.paint()}},oninput:function(e){if(!t.config.disabled){var n=e.target.value;t._state.value=n,t._filter(),n.length?t._state.canDelete=!1:(t._state.ignoreNext=!0,t._state.canDelete=!0),t.config.multiselection||(t.list.selection.remove(),t._change()),t.popup.isVisible()||t._showOptions()}},oninputclick:function(e){if(!t.config.disabled){if(t.focus(),e.target.classList.contains("dhx_combobox__action-remove")){var n=a.locate(e);if(!n)return;return t.list.selection.remove(n),void t._change()}if(e.target.classList.contains("dhx_combobox__action-clear-all"))return t.list.selection.getId().forEach(function(e){return t.list.selection.remove(e)}),t.config.selectAllButton&&t._state.unselectActive&&(t._layout.cell("select-unselect-all").attach(v.selectAllView),t._state.unselectActive=!1),void t.paint();e.preventDefault(),t.popup.isVisible()?t.focus():t._showOptions()}},toggleIcon:function(){t.focus(),t.popup.isVisible()?t._hideOptions():t._showOptions()}}},e.prototype._initEvents=function(){var t=this;this.list.events.on(h.ListEvents.click,function(e){if(t.config.multiselection)return t.data.getItem(e).$selected?t.config.selectAllButton&&!t._state.unselectActive&&t.data.getLength()===t.list.selection.getId().length&&(t._layout.cell("select-unselect-all").attach(v.unselectAllView),t._state.unselectActive=!0):t.config.selectAllButton&&t._state.unselectActive&&(t._layout.cell("select-unselect-all").attach(v.selectAllView),t._state.unselectActive=!1),t._state.value.length||(t._state.canDelete=!0),void t._change();t._state.value=t._getItemText(t.data.getItem(e))||"",t._change(),t._hideOptions()}),this.config.readonly&&this.popup.events.on(f.PopupEvents.afterShow,function(){if(t._state.value){var e=t.list.selection.getId();t.list.setFocusIndex(t.data.getIndex(e))}else t.list.setFocusIndex(0);t._keyListener.startNewListen(function(e){return t._findBest(e)})})},e.prototype._showOptions=function(){this._state.value.length&&(this._state.canDelete=!0),this._filter(),this._configurePopup()&&this.events.fire(g.ComboboxEvents.open)},e.prototype._configurePopup=function(){var t=this.getRootView();if(!t||!t.refs||!t.refs.holder)return!1;var e=t.refs.holder.el;return this.popup.getContainer().style.width=e.offsetWidth+"px",this.popup.show(e,{mode:a.Position.bottom}),!0},e.prototype._hideOptions=function(){this.config.readonly&&this._keyListener.endListen(),this.list.setFocusIndex(0),this.config.multiselection||this.config.readonly||this.list.selection.contains()||(this._state.value=""),this.popup.hide(),this.paint(),this.events.fire(g.ComboboxEvents.close)},e.prototype._filter=function(){var t=this;if(!this.config.readonly){if(this.data.filter(function(e){return t.config.filter?t.config.filter(e,t._state.value):o.isEqualString(t._state.value,t._getItemText(e))}),this.config.multiselection)this.list.setFocusIndex(0);else{var e=this.data.getIndex(this.list.selection.getId());this.list.setFocusIndex(e>-1?e:0)}0===this.data.getLength()?(this.config.multiselection&&this.config.selectAllButton&&this._layout.cell("select-unselect-all").hide(),this._layout.cell("list").hide(),this._layout.cell("not-found").attach(v.emptyListView),this._layout.cell("not-found").show()):(this.config.multiselection&&this.config.selectAllButton&&this._layout.cell("select-unselect-all").show(),this._layout.cell("not-found").isVisible()&&(this._layout.cell("list").show(),this._layout.cell("not-found").hide()))}},e.prototype._findBest=function(t){var e=this,n=this.data.find(function(n){return o.isEqualString(t,e._getItemText(n))});n&&this.list.selection.getId()!==n.id&&(this.list.setFocusIndex(this.data.getIndex(n.id)),this.list.selection.add(n.id),this.paint())},e.prototype._draw=function(){var t=this.config.multiselection?null:this.data.getItem(this.list.selection.getId()),e=!this.list.selection.getId()||0===this.list.selection.getId().length,n=this.config.labelInline&&this.config.labelWidth?this.config.labelWidth:"",i=this.config.required;return r.el(".dhx_widget.dhx_combobox"+(this.config.labelInline?".dhx_combobox--label-inline":"")+(this.config.hiddenLabel?".dhx_combobox--sr_only":"")+(this.config.required?".dhx_combobox--required":"")+(this.config.css?"."+this.config.css:""),{dhx_widget_id:this._uid,onkeydown:this._handlers.onkeydown,onkeyup:this._handlers.onkeyup},[this.config.label?r.el("label.dhx_label.dhx_combobox__label",{style:{minWidth:n,maxWidth:n},class:this.config.help?"dhx_label--with-help":"",onclick:this._handlers.oninputclick},this.config.help?[r.el("span.dhx_label__holder",this.config.label),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:this.config.label):null,r.el("div.dhx_combobox-input-box"+(this.config.disabled?".dhx_combobox-input-box--disabled":"")+(this.config.readonly?".dhx_combobox-input-box--readonly":"")+(this._state.currentState===g.ComboState.error?".dhx_combobox-input-box--state_error":"")+(this._state.currentState===g.ComboState.success?".dhx_combobox-input-box--state_success":""),{_ref:"holder"},[r.el("div.dhx_combobox-input__icon",{onclick:this._handlers.toggleIcon},[r.el("span"+(this.popup.isVisible()?".dxi.dxi-menu-up":".dxi.dxi-menu-down"))]),r.el("div.dhx_combobox-input-list-wrapper",{onclick:this._handlers.oninputclick},[r.el("ul.dhx_combobox-input-list",this._drawSelectedItems().concat([r.el("li.dhx_combobox-input-list__item.dhx_combobox-input-list__item--input",[r.el("input.dhx_combobox-input",{oninput:this._handlers.oninput,_ref:"input",_key:this._uid,type:"text",placeHolder:e&&this.config.placeholder?this.config.placeholder:void 0,value:this.config.readonly&&t?this._getItemText(t):this._state.value,readOnly:this.config.readonly||this.config.disabled,required:i})])]))])])])},e.prototype._drawSelectedItems=function(){var t=this;if(!this.config.multiselection)return[];if(this.config.showItemsCount){var e=this.list.selection.getId().length;return e?[r.el("li.dhx_combobox-input-list__item.dhx_combobox-tag",[r.el("span.dhx_combobox-tag__value",function(t,e){return"function"==typeof e?e(t):t+" "+_.default.selectedItems}(e,this.config.showItemsCount)),r.el("button.dhx_button.dhx_combobox-tag__action.dhx_combobox__action-clear-all",[r.el("span.dhx_button__icon.dxi.dxi-close-circle")])])]:[]}return this.list.selection.getId().map(function(e){var n=t.data.getItem(e);return n?r.el("li.dhx_combobox-input-list__item.dhx_combobox-tag",{dhx_id:e},[t._drawImageOrIcon(n),r.el("span.dhx_combobox-tag__value",t._getItemText(n)),r.el("button.dhx_button.dhx_button--icon.dhx_combobox-tag__action.dhx_combobox__action-remove",{type:"button"},[r.el("span.dhx_button__icon.dxi.dxi-close-circle")])]):null})},e.prototype._drawImageOrIcon=function(t){return t.src?r.el("img.dhx_combobox-tag__image",{src:t.src}):t.icon?r.el("span.dhx_combobox-tag__icon",{class:t.icon}):null},e.prototype._getItemText=function(t){return t?t.value:null},e}(c.View);e.Combobox=y},function(t,e){if(Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}},function(t,e,n){ +if(window.dhx&&(window.dhx_legacy=dhx,delete window.dhx),function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.dhx=e():t.dhx=e()}(window,function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)i.d(n,o,function(e){return t[e]}.bind(null,o));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="/codebase/",i(i.s=54)}([function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(62);function o(t){var i=window.ResizeObserver,n=function(e){var i=e.el.offsetHeight,n=e.el.offsetWidth;t(n,i)};return i?e.el("div.dhx-resize-observer",{_hooks:{didInsert:function(t){new i(function(){return n(t)}).observe(t.el)}}}):e.el("iframe.dhx-resize-observer",{_hooks:{didInsert:function(t){t.el.contentWindow.onresize=function(){return n(t)},n(t)}}})}e.el=n.defineElement,e.sv=n.defineSvgElement,e.view=n.defineView,e.create=n.createView,e.inject=n.injectView,e.KEYED_LIST=n.KEYED_LIST,e.disableHelp=function(){n.DEVMODE.mutations=!1,n.DEVMODE.warnings=!1,n.DEVMODE.verbose=!1,n.DEVMODE.UNKEYED_INPUT=!1},e.resizer=o,e.resizeHandler=function(t,i){return e.create({render:function(){return o(i)}}).mount(t)},e.awaitRedraw=function(){return new t(function(t){requestAnimationFrame(function(){t()})})}}).call(this,i(9))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this.events={},this.context=t||this}return t.prototype.on=function(t,e,i){var n=t.toLowerCase();this.events[n]=this.events[n]||[],this.events[n].push({callback:e,context:i||this.context})},t.prototype.detach=function(t,e){var i=t.toLowerCase(),n=this.events[i];if(e&&n&&n.length)for(var o=n.length-1;o>=0;o--)n[o].context===e&&n.splice(o,1);else this.events[i]=[]},t.prototype.fire=function(t,e){void 0===e&&(e=[]);var i=t.toLowerCase();return!this.events[i]||this.events[i].map(function(t){return t.callback.apply(t.context,e)}).indexOf(!1)<0},t.prototype.clear=function(){this.events={}},t}();e.EventSystem=n,e.EventsMixin=function(t){var e=new n(t=t||{});t.detachEvent=e.detach.bind(e),t.attachEvent=e.on.bind(e),t.callEvent=e.fire.bind(e)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(4),o=(new Date).valueOf();e.uid=function(){return"u"+o++},e.extend=function t(e,i,n){if(void 0===n&&(n=!0),i)for(var o in i){var r=i[o],s=e[o];!n||"object"!=typeof s||s instanceof Date||s instanceof Array?e[o]=r:t(s,r)}return e},e.copy=function(t,e){var i={};for(var n in t)e&&"$"===n[0]||(i[n]=t[n]);return i},e.naturalSort=function(t){return t.sort(function(t,e){return"string"==typeof t?t.localeCompare(e):t-e})},e.findIndex=function(t,e){for(var i=t.length,n=0;ne.length)return!1;for(var i=0;ie)return[];for(var i=[];t<=e;)i.push(t++);return i},e.isNumeric=function(t){return!isNaN(t-parseFloat(t))},e.downloadFile=function(t,e,i){void 0===i&&(i="text/plain");var n=new Blob([t],{type:i});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(n,e);else{var o=document.createElement("a"),r=URL.createObjectURL(n);o.href=r,o.download=e,document.body.appendChild(o),o.click(),setTimeout(function(){document.body.removeChild(o),window.URL.revokeObjectURL(r)},0)}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(2),o=i(4),r=function(){function t(t,e){this._uid=n.uid(),this.config=e||{}}return t.prototype.mount=function(t,e){e&&(this._view=e),t&&this._view&&this._view.mount&&(this._container=o.toNode(t),this._container.tagName?this._view.mount(this._container):this._container.attach&&this._container.attach(this))},t.prototype.unmount=function(){var t=this.getRootView();t&&t.node&&(t.unmount(),this._view=null)},t.prototype.getRootView=function(){return this._view},t.prototype.getRootNode=function(){return this._view&&this._view.node&&this._view.node.el},t.prototype.paint=function(){this._view&&(this._view.node||this._container)&&(this._doNotRepaint=!1,this._view.redraw())},t}();e.View=r,e.toViewLike=function(t){return{getRootView:function(){return t},paint:function(){return t.node&&t.redraw()},mount:function(e){return t.mount(e)}}}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i-1)return e[i[l]](n,o);r=r.parentNode}return!0}},e.locate=function(t,e){void 0===e&&(e="dhx_id");var i=o(t,e);return i?i.getAttribute(e):""},e.locateNode=o,e.getBox=function(t){var e=t.getBoundingClientRect(),i=document.body,n=window.pageYOffset||i.scrollTop,o=window.pageXOffset||i.scrollLeft;return{top:e.top+n,left:e.left+o,right:i.offsetWidth-e.right,bottom:i.offsetHeight-e.bottom,width:e.right-e.left,height:e.bottom-e.top}};var r,s=-1;function a(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,right:e.right+window.pageXOffset,top:e.top+window.pageYOffset,bottom:e.bottom+window.pageYOffset}}function l(t,e){var i=e.mode===r.bottom||e.mode===r.top?u(t,e):d(t,e),n=i.left,o=i.top;return{left:Math.round(n)+"px",top:Math.round(o)+"px",minWidth:Math.round(e.width)+"px",position:"absolute"}}function c(){return{rightBorder:window.pageXOffset+window.innerWidth,bottomBorder:window.pageYOffset+window.innerHeight}}function u(t,e){var i,o,s=c(),a=s.rightBorder,l=s.bottomBorder-t.bottom-e.height,u=t.top-e.height;if(e.mode===r.bottom?l>=0?o=t.bottom:u>=0&&(o=u):u>=0?o=u:l>=0&&(o=t.bottom),l<0&&u<0){if(e.auto)return d(t,n({},e,{mode:r.right,auto:!1}));o=l>u?t.bottom:u}if(e.centering)i=function(t,e,i){var n=(e-(t.right-t.left))/2,o=t.left-n,r=t.right+n;return o>=0&&r<=i?o:o<0?0:i-e}(t,e.width,a);else{var h=a-t.left-e.width,f=t.right-e.width;i=h>=0?t.left:f>=0?f:f>h?t.left:f}return{left:i,top:o}}function d(t,e){var i,o,s=c(),a=s.rightBorder,l=s.bottomBorder,d=a-t.right-e.width,h=t.left-e.width;if(e.mode===r.right?d>=0?i=t.right:h>=0&&(i=h):h>=0?i=h:d>=0&&(i=t.right),h<0&&d<0){if(e.auto)return u(t,n({},e,{mode:r.bottom,auto:!1}));i=h>d?h:t.right}if(e.centering)o=function(t,e,i){var n=(e-(t.bottom-t.top))/2,o=t.top-n,r=t.bottom+n;return o>=0&&r<=i?o:o<0?0:i-e}(t,e.height,a);else{var f=t.bottom-e.height,p=l-t.top-e.height;o=p>=0?t.top:f>0?f:f>p?f:t.top}return{left:i,top:o}}e.getScrollbarWidth=function(){if(s>-1)return s;var t=document.createElement("div");return document.body.appendChild(t),t.style.cssText="position: absolute;left: -99999px;overflow:scroll;width: 100px;height: 100px;",s=t.offsetWidth-t.clientWidth,document.body.removeChild(t),s},e.fitPosition=function(t,e){return l(a(t),e)},e.isIE=function(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1},e.getRealPosition=a,function(t){t.left="left",t.right="right",t.bottom="bottom",t.top="top"}(r=e.Position||(e.Position={})),e.calculatePosition=l},function(t,e,i){"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0});var o=i(6);e.getFormItemCss=function(t,e){var i,n=t.labelInline,r=t.required,s=t.disabled,a=t.hiddenLabel,l=t.css,c=t.$validationStatus,u=(i={},i[o.ValidationStatus.pre]="",i[o.ValidationStatus.error]=" dhx_form-group--state_error",i[o.ValidationStatus.success]=" dhx_form-group--state_success",i)[c]||"",d=n?" dhx_form-group--inline":"",h=s?" dhx_form-group--disabled":"",f=a?" dhx_form-group--label_sr":"";return e?l||""+d+u+(r?" dhx_form-group--required":"")+h+f:l||""+d+h+f};var r=((n={})[o.Validation.validAplhaNumeric]=/^[a-zA-Z0-9_]+$/,n[o.Validation.validEmail]=/^.+@.+\..+$/,n[o.Validation.validInteger]=/^\d+$/,n[o.Validation.validIPv4]=/\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.|$)){4}\b/,n[o.Validation.validNumeric]=/^\d+(\.\d+)?$/,n);e.getValidationMessage=function(t){var e;return(e={undefined:t.preMessage},e[o.ValidationStatus.pre]=t.preMessage,e[o.ValidationStatus.error]=t.errorMessage,e[o.ValidationStatus.success]=t.successMessage,e)[t.$validationStatus]||""},e.validateTemplate=function(t,e){return!r[t]||r[t].test(e)},e.isBlock=function(t){return Boolean(t.rows)||Boolean(t.cols)},e.validateInput=function(t,e){var i=!0;if("function"==typeof e)i=e(t);else{var n=r[e];n&&(i=n.test(t))}return i},e.isTimeFormat=function(t,e){return 12===e?/(^0?([1-9][0-2]?):[0-5][0-9]?([AP][M]?)$)/i.test(t):/(^(0[0-9]|1[0-9]|2[0-3]|[0-9]):[0-5][0-9]$)/i.test(t)},e.isEmptyObj=function(t){for(var e in t)return!1;return!0}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.block="block",t.input="input",t.button="button",t.combo="combo",t.slider="slider",t.radioButton="radioButton",t.radioGroup="radioGroup",t.checkbox="checkbox",t.select="select",t.simpleVault="simpleVault",t.textarea="textarea",t.timepicker="timepicker",t.datepicker="datepicker",t.colorpicker="colorpicker",t.text="text"}(e.FormItemType||(e.FormItemType={})),function(t){t.change="change",t.buttonClick="buttonclick",t.validationFail="validationfail",t.beforeSend="beforesend",t.afterSend="aftersend"}(e.FormEvents||(e.FormEvents={})),function(t){t.change="change",t.configUpdate="configUpdate"}(e.BaseElementEvent||(e.BaseElementEvent={})),function(t){t.empty="",t.validEmail="email",t.validInteger="integer",t.validNumeric="numeric",t.validAplhaNumeric="alphanumeric",t.validIPv4="IPv4"}(e.Validation||(e.Validation={})),function(t){t[t.pre=0]="pre",t[t.error=1]="error",t[t.success=2]="success"}(e.ValidationStatus||(e.ValidationStatus={})),function(t){t.value="value",t.validation="validation"}(e.ClearMethod||(e.ClearMethod={}))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(67)),n(i(33))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(11)),n(i(43)),n(i(95)),n(i(96)),n(i(17)),n(i(12)),n(i(47)),n(i(46)),n(i(98)),n(i(45)),n(i(44))},function(t,e,i){(function(e,i){!function(){var n=1,o={},r=!1;function s(t){e.setImmediate?i(t):e.importScripts?setTimeout(t):(o[++n]=t,e.postMessage(n,"*"))}function a(t){"use strict";if("function"!=typeof t&&void 0!=t)throw TypeError();if("object"!=typeof this||this&&this.then)throw TypeError();var e,i,n=this,o=0,r=0,l=[];n.promise=n,n.resolve=function(t){return e=n.fn,i=n.er,o||(r=t,o=1,s(d)),n},n.reject=function(t){return e=n.fn,i=n.er,o||(r=t,o=2,s(d)),n},n._d=1,n.then=function(t,e){if(1!=this._d)throw TypeError();var i=new a;return i.fn=t,i.er=e,3==o?i.resolve(r):4==o?i.reject(r):l.push(i),i},n.catch=function(t){return n.then(null,t)};var c=function(t){o=t||4,l.map(function(t){3==o&&t.resolve(r)||t.reject(r)})};try{"function"==typeof t&&t(n.resolve,n.reject)}catch(t){n.reject(t)}return n;function u(t,e,i,n){if(2==o)return n();if("object"!=typeof r&&"function"!=typeof r||"function"!=typeof t)n();else try{var s=0;t.call(r,function(t){s++||(r=t,e())},function(t){s++||(r=t,i())})}catch(t){r=t,i()}}function d(){var t;try{t=r&&r.then}catch(t){return r=t,o=2,d()}u(t,function(){o=1,d()},function(){o=2,d()},function(){try{1==o&&"function"==typeof e?r=e(r):2==o&&"function"==typeof i&&(r=i(r),o=1)}catch(t){return r=t,c()}r==n?(r=TypeError(),c()):u(t,function(){c(3)},c,function(){c(1==o&&3)})})}}(e=this).setImmediate||e.addEventListener("message",function(t){if(t.source==e)if(r)s(o[t.data]);else{r=!0;try{o[t.data]()}catch(t){}delete o[t.data],r=!1}}),a.resolve=function(t){if(1!=this._d)throw TypeError();return t instanceof a?t:new a(function(e){e(t)})},a.reject=function(t){if(1!=this._d)throw TypeError();return new a(function(e,i){i(t)})},a.all=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());var e=new a;return function i(n,o){return o?e.resolve(o):n?e.reject(n):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(e,n){e&&e.then&&e.then(function(e){return t[n]=e,i(),e},i)}))}(),e},a.race=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());if(0==t.length)return new a;var e=new a;return function i(n,o){return o?e.resolve(o):n?e.reject(n):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(t,e){t&&t.then&&t.then(function(t){i(null,t)},i)}))}(),e},a._d=1,t.exports=a}()}).call(this,i(19),i(56).setImmediate)},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i99?" dhx_navbar-count--overlimit":"")},i&&parseInt(t.count,10)>99?"99+":t.count)},e.getIcon=function(t,e){return void 0===t&&(t=""),"dxi"===t.slice(0,3)&&(t="dxi "+t),n.el("span",{class:"dhx_"+e+"__icon "+t})},e.navbarComponentMixin=function(t,e,i,s){var a=r(t,e,i),l="ribbon"===t&&(e.type===o.ItemType.navItem||e.type===o.ItemType.imageButton);return n.el("li",{_key:e.id,class:a+(e.icon&&!e.value&&l?" dhx_ribbon__item--icon":"")+(e.src&&!e.value&&l?" dhx_ribbon__item--icon":"")+(e.size&&l?" dhx_ribbon__item--"+e.size:""),".innerHTML":e.type===o.ItemType.customHTML?e.html:void 0,dhx_id:e.type===o.ItemType.customHTML?e.id:void 0},e.type!==o.ItemType.customHTML?[s]:void 0)},e.getNavbarButtonCSS=function(t,e){var i=t.color,n=t.size,o=t.view,r=t.full,s=t.icon,a=t.circle,l=t.loading,c=t.value,u=t.active;return({danger:" dhx_button--color_danger",secondary:" dhx_button--color_secondary",primary:" dhx_button--color_primary",success:" dhx_button--color_success"}[i]||" dhx_button--color_primary")+({small:" dhx_button--size_small",medium:" dhx_button--size_medium"}[n]||" dhx_button--size_medium")+({flat:" dhx_button--view_flat",link:" dhx_button--view_link"}[o]||" dhx_button--view_flat")+(r?" dhx_button--width_full":"")+(a?" dhx_button--circle":"")+(l?" dhx_button--loading":"")+(u?" dhx_button--active":"")+(s&&!c?" dhx_button--icon":"")};var r=function(t,e,i){var n="",r="";return r=(n=i?"dhx_menu-item":"dhx_"+t+"__item")+(e.css?" "+e.css:""),e.type!==o.ItemType.spacer&&e.type!==o.ItemType.separator||(r+=" "+n+"--"+e.type),"button"!==e.type||"sidebar"!==t||e.icon||(r+=" dhx_navbar-item--colapse_hidden"),r}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeShow="beforeShow",t.afterShow="afterShow",t.beforeHide="beforeHide",t.afterHide="afterHide",t.beforeResizeStart="beforeResizeStart",t.resize="resize",t.afterResizeEnd="afterResizeEnd",t.beforeAdd="beforeAdd",t.afterAdd="afterAdd",t.beforeRemove="beforeRemove",t.afterRemove="afterRemove",t.beforeCollapse="beforeCollapse",t.afterCollapse="afterCollapse"}(e.LayoutEvents||(e.LayoutEvents={})),function(t){t[t.unknown=0]="unknown",t[t.percents=1]="percents",t[t.pixels=2]="pixels",t[t.mixedpx1=3]="mixedpx1",t[t.mixedpx2=4]="mixedpx2",t[t.mixedperc1=5]="mixedperc1",t[t.mixedperc2=6]="mixedperc2"}(e.resizeMode||(e.resizeMode={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(44),o=function(){function t(t){this.url=t}return t.prototype.load=function(){return n.ajax.get(this.url)},t.prototype.save=function(t,e){switch(e){case"delete":return n.ajax.delete(this.url,t);case"update":case"insert":default:return n.ajax.post(this.url,t)}},t}();e.DataProxy=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});i(8);!function(t){t.queue="queue",t.uploaded="uploaded",t.failed="failed",t.inprogress="inprogress"}(e.FileStatus||(e.FileStatus={})),function(t){t.uploadBegin="uploadbegin",t.beforeUploadFile="beforeuploadfile",t.uploadFile="uploadfile",t.uploadFail="uploadfail",t.uploadComplete="uploadcomplete",t.uploadProgress="uploadprogress"}(e.UploaderEvents||(e.UploaderEvents={})),function(t){t.cancel="cancel"}(e.ProgressBarEvents||(e.ProgressBarEvents={})),function(t){t.grid="grid",t.list="list"}(e.VaultMode||(e.VaultMode={}))},function(t,e){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(t){"object"==typeof window&&(i=window)}t.exports=i},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(65)),n(i(35))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(4);function o(t){for(var e=t.toLowerCase().match(/\w+/g),i=0,n="",o=0;o=48&&e.which<=57||e.which>=65&&e.which<=90?String.fromCharCode(e.which):32!==e.which||n.isIE()?e.key:e.code)&&i.toLowerCase()),r=t._keysStorage[o];if(r)for(var s=0;s=0;s--)i[n].splice(r[s],1)}},t.prototype.exist=function(t){var e=o(t);return!!this._keysStorage[e]},t}();e.keyManager=new r,e.addHotkeys=function(t,i){var n=new Date,o=function(t){return function(e){i&&!1===i()||t(e)}};for(var r in t)e.keyManager.addHotKey(r,o(t[r]),n);return function(){return e.keyManager.removeHotKey(void 0,n)}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,o=i(36),r=i(2),s={"%d":function(t){var e=t.getDate();return e<10?"0"+e:e},"%j":function(t){return t.getDate()},"%l":function(t){return o.default.days[t.getDay()]},"%D":function(t){return o.default.daysShort[t.getDay()]},"%m":function(t){var e=t.getMonth()+1;return e<10?"0"+e:e},"%n":function(t){return t.getMonth()+1},"%M":function(t){return o.default.monthsShort[t.getMonth()]},"%F":function(t){return o.default.months[t.getMonth()]},"%y":function(t){return t.getFullYear().toString().slice(2)},"%Y":function(t){return t.getFullYear()},"%h":function(t){var e=t.getHours()%12;return 0===e&&(e=12),e<10?"0"+e:e},"%g":function(t){var e=t.getHours()%12;return 0===e&&(e=12),e},"%H":function(t){var e=t.getHours();return e<10?"0"+e:e},"%G":function(t){return t.getHours()},"%i":function(t){var e=t.getMinutes();return e<10?"0"+e:e},"%s":function(t){var e=t.getSeconds();return e<10?"0"+e:e},"%a":function(t){return t.getHours()>=12?"pm":"am"},"%A":function(t){return t.getHours()>=12?"PM":"AM"},"%u":function(t){return t.getMilliseconds()}},a={"%d":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setDate(Number(e)):t.setDate(Number(1))},"%j":function(t,e){/(^([0-9]?[0-9])$)/i.test(e)?t.setDate(Number(e)):t.setDate(Number(1))},"%m":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setMonth(Number(e)-1):t.setMonth(Number(0))},"%n":function(t,e){/(^([0-9]?[0-9])$)/i.test(e)?t.setMonth(Number(e)-1):t.setMonth(Number(0))},"%M":function(t,e){var i=r.findIndex(o.default.monthsShort,function(t){return t===e});-1===i?t.setMonth(0):t.setMonth(i)},"%F":function(t,e){var i=r.findIndex(o.default.months,function(t){return t===e});-1===i?t.setMonth(0):t.setMonth(i)},"%y":function(t,e){/(^([0-9][0-9])$)/i.test(e)?t.setFullYear(Number("20"+e)):t.setFullYear(Number("2000"))},"%Y":function(t,e){/(^([0-9][0-9][0-9][0-9])$)/i.test(e)?t.setFullYear(Number(e)):t.setFullYear(Number("2000"))},"%h":function(t,e,i){/(^0[1-9]|1[0-2]$)/i.test(e)&&"pm"===i||"PM"===i?t.setHours(Number(e)):t.setHours(Number(0))},"%g":function(t,e,i){/(^[1-9]$)|(^0[1-9]|1[0-2]$)/i.test(e)&&"pm"===i||"PM"===i?t.setHours(Number(e)):t.setHours(Number(0))},"%H":function(t,e){/(^[0-9][0-3]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%G":function(t,e){/(^([0-9]$)|[0-9][0-3]$)/i.test(e)?t.setHours(Number(e)):t.setHours(Number(0))},"%i":function(t,e){/(^([0-5][0-9])$)/i.test(e)?t.setMinutes(Number(e)):t.setMinutes(Number(0))},"%s":function(t,e){/(^([0-5][0-9])$)/i.test(e)?t.setSeconds(Number(e)):t.setSeconds(Number(0))},"%a":function(t,e){"pm"===e&&t.setHours(t.getHours()+12)},"%A":function(t,e){"PM"===e&&t.setHours(t.getHours()+12)}};function l(t){for(var e=[],i="",o=0;o0&&(e.push({type:n.separator,value:i}),i=""),e.push({type:n.datePart,value:t[o]+t[o+1]}),o++):i+=t[o];return i.length>0&&e.push({type:n.separator,value:i}),e}e.getFormatedDate=function(t,e){return l(t).reduce(function(t,i){return i.type===n.separator?t+i.value:s[i.value]?t+s[i.value](e):t},"")},function(t){t[t.separator=0]="separator",t[t.datePart=1]="datePart"}(n||(n={})),e.stringToDate=function(t,e,i){if("string"==typeof t){for(var o,r=[],s=0,c=null,u=0,d=l(e);u1&&(e-=1)}return{h:Math.floor(360*e),s:i,v:s}}Object.defineProperty(e,"__esModule",{value:!0}),e.HSVtoRGB=function(t){var e={r:0,g:0,b:0},i=t.h/60,n=t.s,o=t.v,r=Math.floor(i)%6,s=i-Math.floor(i),a=255*o*(1-n),l=255*o*(1-n*s),c=255*o*(1-n*(1-s));switch(o*=255,r){case 0:e.r=o,e.g=c,e.b=a;break;case 1:e.r=l,e.g=o,e.b=a;break;case 2:e.r=a,e.g=o,e.b=c;break;case 3:e.r=a,e.g=l,e.b=o;break;case 4:e.r=c,e.g=a,e.b=o;break;case 5:e.r=o,e.g=a,e.b=l}for(var u in e)e[u]=Math.round(e[u]);return e},e.RGBToHex=function(t){return Object.keys(t).reduce(function(e,i){var n=t[i].toString(16).toUpperCase();return e+(n=1===n.length?"0"+n:n)},"#")},e.HexToRGB=n,e.RGBToHSV=o,e.HexToHSV=function(t){return o(n(t))},e.isHex=function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={cancel:"Cancel",select:"Select",rightClickToDelete:"Right click to delete",customColors:"Custom colors",addNewColor:"Add new color"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.left="left",t.right="right",t.top="top",t.bottom="bottom",t.center="center"}(e.RealPosition||(e.RealPosition={})),function(t){t.right="right",t.bottom="bottom",t.center="center"}(e.Position||(e.Position={})),function(t){t.topLeft="top-left",t.topRight="top-right",t.bottomLeft="bottom-left",t.bottomRight="bottom-right"}(e.MessageContainerPosition||(e.MessageContainerPosition={}))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(74)),n(i(75)),n(i(76)),n(i(40)),n(i(25))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(2),s=i(5),a=i(10),l=i(1),c=i(6),u=500,d=function(t){function e(e,i){void 0===i&&(i={});var n=t.call(this,null,i)||this;return n.events=new l.EventSystem,n._debounceTime=u,n._initView(i),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.validate=function(){var t=!this.config.required||this.config.value,e=!this.config.validation||s.validateInput(this.config.value,this.config.validation);return this.config.$validationStatus=t&&e?c.ValidationStatus.success:c.ValidationStatus.error,this.paint(),t&&e},e.prototype.clearValidate=function(){this.config.$validationStatus=c.ValidationStatus.pre,this.paint()},e.prototype.clear=function(){this.config.value="",this.paint()},e.prototype.setValue=function(t){this.events.fire(c.BaseElementEvent.change,[t]),this.config.value=t,this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!s.isEmptyObj(t)){for(var i in this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1,value:""},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.events.on(c.BaseElementEvent.change,function(t){e.config.value=t||""}),this.events.fire(c.BaseElementEvent.configUpdate,[this.config]),this.paint()}},e.prototype._init=function(){var t=this.config,e=t.validation,i=t.value;if(e&&i){var n=s.validateInput(i,e);this.config.$validationStatus=n?c.ValidationStatus.success:c.ValidationStatus.error}},e.prototype._getHandlers=function(){var t=this;return{oninput:function(e){var i=e.target.value.trim();t.config.value=i,t._debounceTimer&&clearTimeout(t._debounceTimer);var n=Date.now(),o=t._last?n-t._last:t._debounceTime;t._last=n,t._debounceTime=(o+t._debounceTime)/2+300,t._debounceTimer=setTimeout(function(){t._validate(i)},t._debounceTime)},onblur:function(){t._validate(t.config.value,!0)}}},e.prototype._draw=function(){var t=this.config,e=t.id,i=t.value,n=t.disabled,a=t.name,l=t.icon,c=t.placeholder,u=t.required,d=t.inputType,h=t.validation,f=t.hidden,p=t.autocomplete,_=f?" dhx_form-group--hidden":"";return o.el("div.dhx_form-group",{class:s.getFormItemCss(this.config,Boolean(u)||Boolean(h))+_},[this._drawLabel(),o.el(".dhx_input__wrapper",{},[o.el("div.dhx_input__container",{},[this.config.icon?o.el(".dhx_input__icon",{class:this.config.icon}):null,o.el("input.dhx_input",{type:d,id:e||this._uid,placeholder:c||"",value:r.isDefined(i)?i:"",name:a||"",disabled:n,required:u,onblur:this._handlers.onblur,oninput:this._handlers.oninput,class:l?"dhx_input--icon-padding":"",autocomplete:p?"on":"off"})]),s.getValidationMessage(this.config)&&o.el("span.dhx_input__caption",s.getValidationMessage(this.config))])])},e.prototype._validate=function(t,e){if(e&&this._debounceTimer&&clearTimeout(this._debounceTimer),this._last=null,this._debounceTimer=null,this._debounceTime=u,this.config.validation){if(!s.validateInput(t,this.config.validation))return this.config.$validationStatus=c.ValidationStatus.error,void this.paint();this.config.$validationStatus=c.ValidationStatus.success,this.paint()}else this.config.required&&(""===t?(this.config.$validationStatus=c.ValidationStatus.error,this.paint()):(this.config.$validationStatus=c.ValidationStatus.success,this.paint()));this.events.fire(c.BaseElementEvent.change,[t])},e}(a.Label);e.Input=d},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeUnSelect="beforeunselect",t.afterUnSelect="afterunselect",t.beforeSelect="beforeselect",t.afterSelect="afterselect"}(e.SelectionEvents||(e.SelectionEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.click="click",t.doubleClick="doubleclick",t.contextmenu="contextmenu",t.focusChange="focuschange",t.beforeEditStart="beforeEditStart",t.afterEditStart="afterEditStart",t.beforeEditEnd="beforeEditEnd",t.afterEditEnd="afterEditEnd"}(e.ListEvents||(e.ListEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={dragAndDrop:"Drag & drop",or:"or",browse:"Browse files",filesOrFoldersHere:"files or folders here",cancel:"Cancel",clearAll:"Clear all",clear:"Clear",add:"Add",upload:"Upload",download:"Download",error:"error",byte:"B",kilobyte:"KB",megabyte:"MB",gigabyte:"GB"}},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(64)),n(i(37)),n(i(22))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(66)),n(i(34))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeHide="beforeHide",t.beforeShow="beforeShow",t.afterHide="afterHide",t.afterShow="afterShow",t.click="click"}(e.PopupEvents||(e.PopupEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.vertical="vertical",t.horizontal="horizontal"}(e.Direction||(e.Direction={})),function(t){t.change="change",t.mousedown="mousedown",t.mouseup="mouseup"}(e.SliderEvents||(e.SliderEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.save="save",t.close="close"}(e.TimepickerEvents||(e.TimepickerEvents={}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Monday"],cancel:"Cancel"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.calendar="calendar",t.years="year",t.months="month",t.timepicker="timepicker"}(e.ViewMode||(e.ViewMode={})),function(t){t.change="change",t.beforeChange="beforechange",t.modeChange="modeChange",t.dateHover="dateHover",t.monthSelected="monthSelected",t.yearSelected="yearSelected",t.cancelClick="cancelClick"}(e.CalendarEvents||(e.CalendarEvents={}))},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(72)),n(i(39)),n(i(23));var o=i(24);e.locale=o.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.selectClick="selectClick",t.cancelClick="cancelClick",t.viewChange="viewChange",t.colorChange="colorChange"}(e.ColorpickerEvents||(e.ColorpickerEvents={})),function(t){t.palette="palette",t.picker="picker"}(e.ViewsMode||(e.ViewsMode={}))},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;iwindow.innerWidth+window.pageXOffset&&(s=window.pageXOffset+t.left-i,o=r.RealPosition.left),{left:s,top:a=window.pageYOffset+t.top+(t.height-n)/2,pos:o};case r.Position.bottom:default:return(s=window.pageXOffset+t.left+(t.width-i)/2)+i>window.innerWidth+window.pageXOffset?s=window.innerWidth+window.pageXOffset-i:s<0&&(s=0),o=r.RealPosition.bottom,(a=window.pageYOffset+t.bottom)+n+8>window.innerHeight+window.pageYOffset&&(a=window.pageYOffset+t.top-n,o=r.RealPosition.top),{left:s,top:a,pos:o}}}e.findPosition=l;var c=document.createElement("div"),u=document.createElement("span");u.className="dhx_tooltip__text",c.appendChild(u),c.style.position="absolute";var d,h=null,f=!1,p=null,_=null;function v(t,e,i,n,o){void 0===o&&(o=!1);var s=t.getBoundingClientRect();u.textContent=e,document.body.appendChild(c),c.className="dhx_widget dhx_tooltip"+(o?" dhx_tooltip--forced":"");var a=c.getBoundingClientRect(),d=l(s,i,a.width,a.height),h=d.left,p=d.top,_=d.pos;switch(_){case r.RealPosition.bottom:case r.RealPosition.top:case r.RealPosition.left:case r.RealPosition.right:case r.RealPosition.center:c.style.left=h+"px",c.style.top=p+"px"}c.className+=" dhx_tooltip--"+_+" "+(n||""),f=!0,o||setTimeout(function(){c.className+=" dhx_tooltip--animate"})}function g(t,e,i){var n=i.force,o=i.showDelay,l=i.hideDelay,u=i.position,g=i.css;n||(_=setTimeout(function(){v(t,e,u||r.Position.bottom,g)},o||s));var m=function(){f&&function(t){h&&(p=setTimeout(function(){document.body.removeChild(c),f=!1,p=null},t||a))}(l),clearTimeout(_),t.removeEventListener("mouseleave",m),t.removeEventListener("blur",m),document.removeEventListener("mousedown",m),h=null,d=null};n&&v(t,e,u,g,n),t.addEventListener("mouseleave",m),t.addEventListener("blur",m),document.addEventListener("mousedown",m),d=m}function m(t,e){var i=o.toNode(e.node);i!==h&&(d&&(d(),d=null),h=i,p?(clearTimeout(p),p=null,g(i,t,n({},e,{force:!0}))):g(i,t,e))}function y(t){var e=o.locateNode(t,"dhx_tooltip_text");e&&m(e.getAttribute("dhx_tooltip_text"),{position:e.getAttribute("dhx_tooltip_position")||r.Position.bottom,node:e})}e.tooltip=m,e.enableTooltip=function(){document.addEventListener("mousemove",y)},e.disableTooltip=function(){document.removeEventListener("mousemove",y)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={apply:"apply",reject:"reject"}},function(t,e,i){"use strict";function n(t){var e=document.activeElement;e.classList.contains("dhx_alert__confirm-reject")||e.classList.contains("dhx_alert__confirm-aply")||t.preventDefault()}Object.defineProperty(e,"__esModule",{value:!0}),e.blockScreen=function(t){var e=document.createElement("div");return e.className="dhx_alert__overlay "+(t||""),document.body.appendChild(e),document.addEventListener("keydown",n),function(){document.body.removeChild(e),document.removeEventListener("keydown",n)}}},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0?e:-1},t.prototype.getId=function(t){if(this._order[t])return this._order[t].id},t.prototype.getLength=function(){return this._order.length},t.prototype.filter=function(t,e){if((e=u.extend({add:!1,multiple:!0},e)).add||(this._order=this._initOrder||this._order,this._initOrder=null),this._filters=this._filters||{},e.multiple&&t||(this._filters={}),t){if("function"==typeof t){this._filters._={match:"_",compare:t}}else t.match?(t.compare=t.compare||function(t,e){return t===e},this._filters[t.by]=t):delete this._filters[t.by];this._applyFilters()}this.events.fire(c.DataEvents.change)},t.prototype.find=function(t){for(var e in this._pull){var i=l.findByConf(this._pull[e],t);if(i)return i}return null},t.prototype.findAll=function(t){var e=[];for(var i in this._pull){var n=l.findByConf(this._pull[i],t);n&&e.push(n)}return e},t.prototype.sort=function(t){if(t)this._sort.sort(this._order,t),this._initOrder&&this._initOrder.length&&this._sort.sort(this._initOrder,t);else{for(var e in this._order=[],this._pull)this._order.push(this._pull[e]);this._applyFilters()}this.events.fire(c.DataEvents.change)},t.prototype.copy=function(e,i,o,r){var s=this;if(e instanceof Array)return e.map(function(e,a){if(!s.exists(e))return null;var c=u.uid(),d=-1===i?-1:i+a;return o?o instanceof t||!r?o.exists(e)?(o.add(n({},l.copyWithoutInner(s.getItem(e)),{id:c}),d),c):(o.add(l.copyWithoutInner(s.getItem(e)),d),e):void o.add(l.copyWithoutInner(s.getItem(e)),d):(s.add(n({},l.copyWithoutInner(s.getItem(e)),{id:c}),d),c)});if(!this.exists(e))return null;var a=u.uid();return o?o instanceof t||!r?o.exists(e)?(o.add(n({},l.copyWithoutInner(this.getItem(e)),{id:a}),i),a):(o.add(l.copyWithoutInner(this.getItem(e)),i),e):void o.add(l.copyWithoutInner(this.getItem(e)),i):(this.add(n({},l.copyWithoutInner(this.getItem(e)),{id:a}),i),a)},t.prototype.move=function(t,e,i,n){var o=this;if(t instanceof Array)return t.map(function(t,r){var s=-1===e?-1:e+r;if(i&&i!==o&&o.exists(t)){var a=u.copy(o.getItem(t),!0);return i.exists(t)&&(a.id=u.uid()),n&&(a.parent=n),i.add(a,s),o.remove(t),a.id}if(o.getIndex(t)===s)return null;var l=o._order.splice(o.getIndex(t),1)[0];return-1===e&&(e=o._order.length),o._order.splice(s,0,l),o.events.fire(c.DataEvents.change),t});if(i&&i!==this&&this.exists(t)){var r=u.copy(this.getItem(t),!0);return i.exists(t)&&(r.id=u.uid()),n&&(r.parent=n),i.add(r,e),this.remove(t),r.id}if(this.getIndex(t)===e)return null;var s=this._order.splice(this.getIndex(t),1)[0];return-1===e&&(e=this._order.length),this._order.splice(e,0,s),this.events.fire(c.DataEvents.change),t},t.prototype.load=function(t,e){return"string"==typeof t&&(t=new a.DataProxy(t)),this._loader.load(t,e)},t.prototype.parse=function(t,e){return this._removeAll(),this._loader.parse(t,e)},t.prototype.$parse=function(t){var e=this.config.approximate;e&&(t=this._approximate(t,e.value,e.maxNum)),this._parse_data(t),this.events.fire(c.DataEvents.change,["load"]),this.events.fire(c.DataEvents.load)},t.prototype.save=function(t){this._loader.save(t)},t.prototype.isSaved=function(){return!this._changes.order.length},t.prototype.map=function(t){for(var e=[],i=0;ithis._order.length-1&&(e=this._order.length-1);for(var n=[],o=t;o<=e;o++)n.push(i.call(this,this._order[o],o));return n},t.prototype.reduce=function(t,e){for(var i=0;i=0&&(this._order=this._order.filter(function(e){return e.id!==t}),delete this._pull[t]),this._initOrder&&this._initOrder.length&&(this._initOrder=this._initOrder.filter(function(e){return e.id!==t}))},t.prototype._parse_data=function(t){var e=this._order.length;this.config.prep&&(t=this.config.prep(t));for(var i=0,n=t;i=0&&t[i]?(this._pull[e.id]=e,t.splice(i,0,e)):(this._pull[e.id]=e,t.push(e))},t.prototype._applyFilters=function(){var t=this;if(this._filters&&Object.keys(this._filters).length){var e=this._order.filter(function(e){return Object.keys(t._filters).every(function(i){return e[i]?t._filters[i].compare(e[i],t._filters[i].match,e):t._filters[i].compare(e)})});this._initOrder||(this._initOrder=this._order),this._order=e}},t}();e.DataCollection=d},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(11),o=i(12);function r(t){return t?t.indexOf("json")>=0?"json":t.indexOf("xml")>=0?"xml":"text":"text"}function s(e,i,s,a,l){var c=a||{};if(l&&(c.Accept="application/"+l),"GET"!==s&&(c["Content-Type"]=c["Content-Type"]||"application/json"),"GET"===s){var u=i&&"object"==typeof i?function(t){return Object.keys(t).reduce(function(e,i){var n="object"==typeof t[i]?JSON.stringify(t[i]):t[i];return e.push(i+"="+encodeURIComponent(n)),e},[]).join("&")}(i):i&&"string"==typeof i?i:"";u&&(e+=-1===e.indexOf("?")?"?":"&",e+=u),i=null}return window.fetch?window.fetch(e,{method:s,body:i?JSON.stringify(i):null,headers:c}).then(function(e){if(!e.ok)return e.text().then(function(i){return t.reject({status:e.status,statusText:e.statusText,message:i})});var i=l||r(e.headers.get("Content-Type"));if("raw"===i)return{headers:Object.fromEntries(e.headers.entries()),url:e.url,body:e.body};if(204!==e.status)switch(i){case"json":return e.json();case"xml":var s=o.toDataDriver(n.DataDriver.xml);return s?e.text().then(s.toJsonObject):e.text();default:return e.text()}}):new t(function(t,a){var u=new XMLHttpRequest;for(var d in u.onload=function(){u.status>=200&&u.status<300?("raw"===l&&t({url:u.responseURL,headers:u.getAllResponseHeaders().trim().split(/[\r\n]+/).reduce(function(t,e){var i=e.split(": ");return t[i[0]]=i[1],t},{}),body:u.response}),204===u.status?t():t(function(t,e){switch(e){case"json":return JSON.parse(t);case"text":return t;case"xml":var i=o.toDataDriver(n.DataDriver.xml);return i?i.toJsonObject(t):{parseError:"Incorrect data driver type: 'xml'"};default:return t}}(u.responseText,l||r(u.getResponseHeader("Content-Type"))))):a({status:u.status,statusText:u.statusText})},u.onerror=function(){a({status:u.status,statusText:u.statusText,message:u.responseText})},u.open(s,e),c)u.setRequestHeader(d,c[d]);switch(s){case"POST":case"DELETE":case"PUT":u.send(void 0!==i?JSON.stringify(i):"");break;case"GET":default:u.send()}})}e.ajax={get:function(t,e,i){return s(t,e,"GET",i&&i.headers,void 0!==i?i.responseType:void 0)},post:function(t,e,i){return s(t,e,"POST",i&&i.headers,void 0!==i?i.responseType:void 0)},put:function(t,e,i){return s(t,e,"PUT",i&&i.headers,void 0!==i?i.responseType:void 0)},delete:function(t,e,i){return s(t,e,"DELETE",i&&i.headers,void 0!==i?i.responseType:void 0)}}}).call(this,i(9))},function(t,e,i){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i-1:this._selected.length>0},t.prototype.remove=function(t){var e=this;if(t)return!t&&!this._selected.length||(t?this._unselectItem(t):(this._selected.forEach(function(t){return e._unselectItem(t)}),!0));this._data.map(function(t){t.$selected=!1,e._selected=[]})},t.prototype.add=function(t,e,i){var o=this;if(this.events.fire(n.SelectionEvents.beforeSelect))return t?void(this.config.multiselection?this._addMulti(t,e,i):this._addSingle(t,e)):(this._selected=[],void this._data.map(function(t){t.$selected=!0,o._selected.push(t.id)}))},t.prototype._addMulti=function(t,e,i){var o=this,r=this._data.getIndex(t);"click"===this.config.multiselectionMode&&(i?(this._addWithShift(r),this.events.fire(n.SelectionEvents.afterSelect,[t])):(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[])),"ctrlClick"===this.config.multiselectionMode&&(i||e||(this._data.map(function(t){t.$selected=!1,o._selected=[]}),this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]),i&&(this._addWithShift(r),this.events.fire(n.SelectionEvents.afterSelect,[t])),e&&(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]))},t.prototype._addWithShift=function(t){var e=this;t>=this._lastSelectedIndex&&(this._data.map(function(t,i){-1!==e._lastShiftSelectedIndexes.indexOf(i)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(i)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==i&&t!==e._lastSelectedIndex}))}),this._data.map(function(i,n){n>=e._lastSelectedIndex&&n<=t&&(i.$selected=!0,-1===e._selected.indexOf(i.id)&&e._selected.push(i.id),n!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(n)&&e._lastShiftSelectedIndexes.push(n))})),t<=this._lastSelectedIndex&&(this._data.map(function(t,i){-1!==e._lastShiftSelectedIndexes.indexOf(i)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(i)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==i&&t!==e._lastSelectedIndex}))}),this._data.map(function(i,n){n<=e._lastSelectedIndex&&n>=t&&(i.$selected=!0,-1===e._selected.indexOf(i.id)&&e._selected.push(i.id),n!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(n)&&e._lastShiftSelectedIndexes.push(n))}))},t.prototype._addSingle=function(t,e){this.remove(),this.config&&"click"===this.config.multiselectionMode?this._selectItem(t):e&&this._selectItem(t)},t.prototype._isSelected=function(t){return-1!==this._selected.indexOf(t)},t.prototype._selectItem=function(t){this._selected.push(t),this._data.update(t,{$selected:!0}),this._lastSelectedIndex=this._data.getIndex(t),this.events.fire(n.SelectionEvents.afterSelect,[t])},t.prototype._unselectItem=function(t){return!!this.events.fire(n.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=this._selected.filter(function(e){return e!==t}),this.events.fire(n.SelectionEvents.afterUnSelect,[t]),!0)},t}();e.Selection=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={notFound:"Not Found",selectAll:"Select All",unselectAll:"Unselect All",selectedItems:"selected items"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.change="change",t.open="open",t.close="close",t.input="input"}(e.ComboboxEvents||(e.ComboboxEvents={})),function(t){t[t.default=0]="default",t[t.error=1]="error",t[t.success=2]="success"}(e.ComboState||(e.ComboState={}))},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(2),o=i(4),r=i(8),s=i(18),a=function(){function e(t,e,i){void 0===t&&(t={}),this.config=n.extend({autosend:!0,updateFromResponse:!0,fieldName:"file"},t),this.data=e||new r.DataCollection,this.events=i||this.data.events,this.isActive=!1,this._fileInput=document.createElement("input"),this._fileInput.type="file",this._fileInput.multiple=!0,this._initEvents(),this._dropAreas=new Map}return e.prototype.selectFile=function(){this._fileInput.click()},e.prototype.linkDropArea=function(t){var e=this,i=o.toNode(t),n=function(t){return t.preventDefault()},r=function(t){t.preventDefault(),e.parseFiles(t.dataTransfer)};i.addEventListener("dragover",n),i.addEventListener("drop",r),this._dropAreas.set(i,{dragover:n,drop:r})},e.prototype.unlinkDropArea=function(t){var e=this;if(t){var i=o.toNode(t);this._unlinkDropArea(i),this._dropAreas.delete(i)}else this._dropAreas.forEach(function(t,i){e._unlinkDropArea(i)}),this._dropAreas.clear()},e.prototype.parseFiles=function(t){if(t.items&&t.items[0]&&t.items[0].webkitGetAsEntry)this._parseAsWebkitEntry(t.items);else{for(var e=t.files,i=0;i1?"[]":"",a=0,l=t;a=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},i(57),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,i(19))},function(t,e,i){(function(t,e){!function(t,i){"use strict";if(!t.setImmediate){var n,o=1,r={},s=!1,a=t.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(t);l=l&&l.setTimeout?l:t,"[object process]"==={}.toString.call(t.process)?n=function(t){e.nextTick(function(){u(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,i=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=i,e}}()?function(){var e="setImmediate$"+Math.random()+"$",i=function(i){i.source===t&&"string"==typeof i.data&&0===i.data.indexOf(e)&&u(+i.data.slice(e.length))};t.addEventListener?t.addEventListener("message",i,!1):t.attachEvent("onmessage",i),n=function(i){t.postMessage(e+i,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){u(t.data)},n=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;n=function(e){var i=a.createElement("script");i.onreadystatechange=function(){u(e),i.onreadystatechange=null,t.removeChild(i),i=null},t.appendChild(i)}}():n=function(t){setTimeout(u,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),i=0;i1)for(var i=1;ie.size&&(n=e.size-e.resizerLength),e.mode){case l.resizeMode.pixels:t.config[o]=n-e.resizerLength/2+"px",e.nextCell.config[o]=e.size-n-e.resizerLength/2+"px";break;case l.resizeMode.mixedpx1:t.config[o]=n-e.resizerLength/2+"px";break;case l.resizeMode.mixedpx2:e.nextCell.config[o]=e.size-n-e.resizerLength/2+"px";break;case l.resizeMode.percents:t.config[o]=n/e.size*e.percentsum+"%",e.nextCell.config[o]=(e.size-n)/e.size*e.percentsum+"%";break;case l.resizeMode.mixedperc1:t.config[o]=n/e.size*e.percentsum+"%";break;case l.resizeMode.mixedperc2:e.nextCell.config[o]=(e.size-n)/e.size*e.percentsum+"%"}t.paint(),t.events.fire(l.LayoutEvents.resize,[t.id])}};this._resizerHandlers={onmousedown:function(o){if(3!==o.which&&(e.isActive&&i(),t.events.fire(l.LayoutEvents.beforeResizeStart,[t.id]))){document.body.classList.add("dhx_no-select--resize");var r=t.getCellView(),s=t._getNextCell(),a=s.getCellView(),u=t._getResizerView(),d=r.el.getBoundingClientRect(),h=u.el.getBoundingClientRect(),f=a.el.getBoundingClientRect();if(e.xLayout=t._isXDirection(),e.left=d.left+window.pageXOffset,e.top=d.top+window.pageYOffset,e.range=c.getBlockRange(d,f,e.xLayout),e.size=e.range.max-e.range.min,e.isActive=!0,e.nextCell=s,e.resizerLength=e.xLayout?h.width:h.height,e.mode=c.getResizeMode(e.xLayout,t.config,s.config),e.mode===l.resizeMode.percents){var p=e.xLayout?"width":"height";e.percentsum=parseFloat(t.config[p])+parseFloat(s.config[p])}if(e.mode===l.resizeMode.mixedperc1){p=e.xLayout?"width":"height";e.percentsum=1/(d[p]/(e.size-e.resizerLength))*parseFloat(t.config[p])}if(e.mode===l.resizeMode.mixedperc2){p=e.xLayout?"width":"height";e.percentsum=1/(f[p]/(e.size-e.resizerLength))*parseFloat(s.config[p])}document.addEventListener("mouseup",i),document.addEventListener("mousemove",n)}},ondragstart:function(t){return t.preventDefault()}}},e.prototype._getCollapseIcon=function(){return this._isXDirection()&&this.config.collapsed?"dxi dxi-chevron-right":this._isXDirection()&&!this.config.collapsed?"dxi dxi-chevron-left":!this._isXDirection()&&this.config.collapsed?"dxi dxi-chevron-up":this._isXDirection()||this.config.collapsed?void 0:"dxi dxi-chevron-down"},e.prototype._isLastCell=function(){var t=this._parent;return t&&t._cells.indexOf(this)===t._cells.length-1},e.prototype._getNextCell=function(){var t=this._parent,e=t._cells.indexOf(this);return t._cells[e+1]},e.prototype._getResizerView=function(){return this._parent.getRefs("resizer_"+this._uid)},e.prototype._isXDirection=function(){return this._parent&&this._parent._xLayout},e.prototype._calculateStyle=function(){var t=this.config;if(t){var e={};return this._isXDirection()?(void 0===t.width||t.collapsed||(e.flexBasis=t.width,e.width=t.width),void 0!==t.height&&(e.height=t.height)):(void 0===t.height||t.collapsed||(e.height=t.height),void 0!==t.width&&(e.width=t.width)),e}},e}(a.View);e.Cell=d},function(t,e,i){ /** * Copyright (c) 2017, Leon Sorokin * All rights reserved. (MIT Licensed) @@ -18,4 +18,4 @@ if(window.dhx&&(window.dhx_legacy=dhx,delete window.dhx),function(t,e){"object"= * A thin, fast, dependency-free vdom view layer * @preserve https://github.com/leeoniya/domvm (v3.2.6, micro build) */ -t.exports=function(){"use strict";var t=1,e=2,n=3,i=4,o=5,r="undefined"!=typeof window,s=(r?window:{}).requestAnimationFrame,a={};function l(){}var c=Array.isArray;function u(t){return null!=t}function d(t){return null!=t&&t.constructor===Object}function h(t,e,n,i){t.splice.apply(t,[n,i].concat(e))}function f(t){var e=typeof t;return"string"===e||"number"===e}function p(t){return"function"==typeof t}function _(t){for(var e=arguments,n=1;n0&&n[i-1].type===e?(n[i-1].body+=o.body,n.splice(i--,1)):L(o,t,i,null):L(o,t,i,null))}}(t)}}var H={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,order:!0,lineClamp:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};function R(t,e){return isNaN(e)||H[t]?e:e+"px"}function B(t,e){var n=(t.attrs||a).style,i=e?(e.attrs||a).style:null;if(null==n||f(n))t.el.style.cssText=n;else{for(var o in n){var r=n[o];(null==i||null!=r&&r!==i[o])&&(t.el.style[o]=R(o,r))}if(i)for(var s in i)null==n[s]&&(t.el.style[s]="")}}var N=[];function z(t,e,n,i,o){if(null!=t){var r=n.hooks[e];if(r){if("d"!==e[0]||"i"!==e[1]||"d"!==e[2])return r(n,i);o?k(n.parent)&&r(n,i):N.push([r,n,i])}}}function $(t){var e;if(N.length)for(k(t.node);e=N.shift();)e[0](e[1],e[2])}var Y=r?document:null;function q(t){return t.nextSibling}function W(t,e,n){var i=e._node,o=i.vm;if(c(i.body))if((i.flags&V)===V)for(var r=0;r>1]===t)return n;e[n]0&&(i[r]=o[e-1]),o[e]=r)}}for(e=o.length,n=o[e-1];e-- >0;)o[e]=n,n=i[n];return o}(r).map(function(t){return r[t]}),c=0;cu&&(y=null,_=!1):w=!0,u>100&&w&&++x%10==0))for(;k1){var r=1;d(i[1])&&(n=i[1],r=2),e=o===r+1&&(f(i[r])||c(i[r])||n&&(n._flags&j)===j)?i[r]:v(i,r)}return F(t,n,e)}return O.patch=function(t,e){!function(t,e,n){if(null!=e.type){if(null!=t.vm)return;L(e,t.parent,t.idx,null),t.parent.body[t.idx]=e,xt(e,t),n&&k(e),$(I(e))}else{var i=Object.create(t);i.attrs=_({},t.attrs);var o=_(t.attrs,e);if(null!=t._class){var r=o.class;o.class=null!=r&&""!==r?t._class+" "+r:t._class}st(t,i),n&&k(t)}}(this,t,e)},kt.emit=function(t){var e=this,n=e,i=v(arguments,1).concat(n,n.data);do{var o=e.onemit,r=o?o[t]:null;if(r){r.apply(e,i);break}}while(e=e.parent());Z[t]&&Z[t].apply(e,i)},kt.onemit=null,kt.body=function(){return function t(e,n){var i=e.body;if(c(i))for(var o=0;o\n";for(var s in t)Array.isArray(t[s])?(n+=o(e+i)+"<"+s+">\n",n+=t[s].map(function(t){return r(t,e+2*i)}).join("\n")+"\n",n+=o(e+i)+"\n"):n+=o(e+i)+"<"+s+">"+t[s]+"\n";return n+=o(e)+""}e.jsonToXML=function(t,e){void 0===e&&(e="root");for(var n='\n<'+e+">",i=0;i"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(12),o=function(){function t(){}return t.prototype.sort=function(t,e){var n=this;e.rule&&"function"==typeof e.rule?this._sort(t,e):e.by&&(e.rule=function(t,o){var r=n._checkVal(e.as,t[e.by]),s=n._checkVal(e.as,o[e.by]);return i.naturalCompare(r.toString(),s.toString())},this._sort(t,e))},t.prototype._checkVal=function(t,e){return t?t.call(this,e):e},t.prototype._sort=function(t,e){var n=this,i={asc:1,desc:-1};return t.sort(function(t,o){return e.rule.call(n,t,o)*(i[e.dir]||i.asc)})},t}();e.Sort=o},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=n(1),r=n(32),s=n(16),a=n(12),l=n(11);function c(t,e,n,i){void 0!==i&&-1!==i&&t[n]&&t[n][i]?t[n].splice(i,0,e):(t[n]||(t[n]=[]),t[n].push(e))}var u=function(t){function e(e,n){var i,r=t.call(this,e,n)||this,s=r._root="_ROOT_"+o.uid();return r._childs=((i={})[s]=[],i),r._initChilds=null,r}return i(e,t),e.prototype.add=function(e,n,i){var o=this;if(void 0===n&&(n=-1),void 0===i&&(i=this._root),"object"!=typeof e&&(e={value:e}),!Array.isArray(e)){e.parent=e.parent?e.parent.toString():i;var r=t.prototype.add.call(this,e,n);if(Array.isArray(e.items))for(var s=0,a=e.items;s0&&n[t]!==n[r.getRoot()]){var e=n[r.getRoot()].find(function(e){if(e.id===t)return e});e&&i.push(e)}},r=this;for(var s in n)o(s);n[this.getRoot()]=i,this._childs=n,this.events.fire(l.DataEvents.change)}else this.restoreOrder()},e.prototype.restoreOrder=function(){this._initChilds&&(this._childs=this._initChilds,this._initChilds=null),this.events.fire(l.DataEvents.change)},e.prototype.copy=function(t,e,n,i){if(void 0===n&&(n=this),void 0===i&&(i=this._root),!this.exists(t))return null;var r=this._childs[t];if(n===this&&!this.canCopy(t,i))return null;var s=a.copyWithoutInner(this.getItem(t),{items:!0});if(n.exists(t)&&(s.id=o.uid()),a.isTreeCollection(n)){if(this.exists(t)&&(s.parent=i,n.add(s,e),t=s.id),r)for(var l=0,c=r;l=.75?r.DropPosition.bot:r.DropPosition.in}else if(this._lastId===u&&this._lastCollectionId===l)return;var h={id:this._transferData.id,target:this._transferData.target};if("source"!==c.config.dragMode)if(h.target.events.fire(r.DragEvents.dragOut,[u,c]),l!==this._transferData.targetId||!s.isTreeCollection(h.target.data)||s.isTreeCollection(h.target.data)&&h.target.data.canCopy(h.id,u))this._cancelCanDrop(),this._lastId=u,this._lastCollectionId=l,h.target.events.fire(r.DragEvents.dragIn,[u,this._transferData.dropPosition,o.collectionStore.getItem(l)])&&this._canDrop();else this._cancelCanDrop()}else this._canMove&&this._cancelCanDrop()},t.prototype._move=function(t,e){var n=t.target.data,i=e.target.data,o=0,a=e.id;switch(s.isTreeCollection(i)?e.target.config.dropBehaviour:void 0){case r.DropBehaviour.child:break;case r.DropBehaviour.sibling:a=i.getParent(a),o=i.getIndex(e.id)+1;break;case r.DropBehaviour.complex:var l=this._transferData.dropPosition;l===r.DropPosition.top?(a=i.getParent(a),o=i.getIndex(e.id)):l===r.DropPosition.bot&&(a=i.getParent(a),o=i.getIndex(e.id)+1);break;default:o=e.id?t.target===e.target&&i.getIndex(t.id)e.size&&(i=e.size-e.resizerLength),e.mode){case r.pixels:t.config[o]=i-e.resizerLength/2+"px",e.nextCell.config[o]=e.size-i-e.resizerLength/2+"px";break;case r.mixedpx1:t.config[o]=i-e.resizerLength/2+"px";break;case r.mixedpx2:e.nextCell.config[o]=e.size-i-e.resizerLength/2+"px";break;case r.percents:t.config[o]=i/e.size*e.percentsum+"%",e.nextCell.config[o]=(e.size-i)/e.size*e.percentsum+"%";break;case r.mixedperc1:t.config[o]=i/e.size*e.percentsum+"%";break;case r.mixedperc2:e.nextCell.config[o]=(e.size-i)/e.size*e.percentsum+"%"}t.paint()}};this._handlers={enterCollapse:function(e){13===e.keyCode&&t._handlers.collapse()},collapse:function(){t.config.collapsable&&(t.config.collapsed=!t.config.collapsed,t.paint())}},this._resizerHandlers={onmousedown:function(o){if(3!==o.which){e.isActive&&n(),document.body.classList.add("dhx_no-select--resize");var s=t.getCellView(),a=t._getNextCell(),l=a.getCellView(),c=t._getResizerView(),u=s.el.getBoundingClientRect(),d=c.el.getBoundingClientRect(),h=l.el.getBoundingClientRect();if(e.xLayout=t._isXDirection(),e.left=u.left+window.pageXOffset,e.top=u.top+window.pageYOffset,e.range=function(t,e,n){return void 0===n&&(n=!0),n?{min:t.left+window.pageXOffset,max:e.right+window.pageXOffset}:{min:t.top+window.pageYOffset,max:e.bottom+window.pageYOffset}}(u,h,e.xLayout),e.size=e.range.max-e.range.min,e.isActive=!0,e.nextCell=a,e.resizerLength=e.xLayout?d.width:d.height,e.mode=function(t,e,n){var i=t?"width":"height",o=e[i]&&-1!==e[i].indexOf("%"),s=n[i]&&-1!==n[i].indexOf("%"),a=e[i]&&-1!==e[i].indexOf("px"),l=n[i]&&-1!==n[i].indexOf("px");return o&&s?r.percents:a&&l?r.pixels:a&&!l?r.mixedpx1:l&&!a?r.mixedpx2:o?r.mixedperc1:s?r.mixedperc2:r.unknown}(e.xLayout,t.config,a.config),e.mode===r.percents){var f=e.xLayout?"width":"height";e.percentsum=parseFloat(t.config[f])+parseFloat(a.config[f])}if(e.mode===r.mixedperc1){f=e.xLayout?"width":"height";e.percentsum=1/(u[f]/(e.size-e.resizerLength))*parseFloat(t.config[f])}if(e.mode===r.mixedperc2){f=e.xLayout?"width":"height";e.percentsum=1/(h[f]/(e.size-e.resizerLength))*parseFloat(a.config[f])}document.addEventListener("mouseup",n),document.addEventListener("mousemove",i)}},ondragstart:function(t){return t.preventDefault()}}},e.prototype._getCollapseIcon=function(){return this._isXDirection()&&this.config.collapsed?"dxi dxi-chevron-right":this._isXDirection()&&!this.config.collapsed?"dxi dxi-chevron-left":!this._isXDirection()&&this.config.collapsed?"dxi dxi-chevron-up":this._isXDirection()||this.config.collapsed?void 0:"dxi dxi-chevron-down"},e.prototype._isLastCell=function(){var t=this._parent;return t&&t._cells.indexOf(this)===t._cells.length-1},e.prototype._getNextCell=function(){var t=this._parent,e=t._cells.indexOf(this);return t._cells[e+1]},e.prototype._getResizerView=function(){return this._parent.getRefs("resizer_"+this._uid)},e.prototype._isXDirection=function(){return this._parent&&this._parent._xLayout},e.prototype._calculateStyle=function(){var t=this.config;if(t){var e={};return this._isXDirection()?(void 0===t.width||t.collapsed||(e.flexBasis=t.width,e.width=t.width),void 0!==t.height&&(e.height=t.height)):(void 0===t.height||t.collapsed||(e.flexBasis=t.height,e.height=t.height),void 0!==t.width&&(e.width=t.width)),e}},e}(l.View);e.Cell=c},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(73)),i(n(36)),i(n(21))},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,n=1,i=arguments.length;nthis.data.getLength()-1)){this._focusIndex=t;var e=this.getRootView();if(e&&e.node&&e.node.el){var n=this.getRootNode();if(n){if(this.config.virtual){var i=t*this.config.itemHeight;(i>=this._visibleHeight+this._topOffset||i=n.scrollTop+n.clientHeight-o.clientHeight?n.scrollTop=o.offsetTop-n.clientHeight+o.clientHeight:o.offsetTope-this._visibleHeight&&(t=e-this._visibleHeight);var n=Math.floor(this._visibleHeight/this.config.itemHeight)+5,i=Math.floor(t/this.config.itemHeight);this._range=[i,n+i],this._topOffset=t,this.paint()},e.prototype._getHeight=function(){return this.data.getLength()*this.config.itemHeight},e.prototype._getHotkeys=function(){var t=this;if(this.config.keyNavigation)if(this._edited)this._navigationDestructor&&this._navigationDestructor();else{var e=this.config.keyNavigation;"function"!=typeof this.config.keyNavigation&&(this._widgetInFocus=!1,e=function(){return t._widgetInFocus},this._documentClickDestuctor=r.detectWidgetClick(this._uid,function(e){return t._widgetInFocus=e}));var n=function(t){return function(e){e.preventDefault(),t()}};this._navigationDestructor=c.addHotkeys({arrowdown:n(function(){return t.setFocusIndex(t._focusIndex+1)}),arrowup:n(function(){return t.setFocusIndex(t._focusIndex-1)}),enter:function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n),t.events.fire(p.ListEvents.click,[n,e])}},e)}},e}(d.View);e.List=v},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(75);e.getEditor=function(t,e){return new i.InputEditor(t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),o=n(21),r=function(){function t(t,e){var n=this;this._list=e,this._config=e.config,this._item=t,this._list.events.on(o.ListEvents.focusChange,function(t,e){n._mode&&e!==n._item.id&&n.endEdit()}),this._initHandlers()}return t.prototype.endEdit=function(){if(this._input){var t=this._input.value;this._list.events.fire(o.ListEvents.beforeEditEnd,[t,this._item.id])?(this._input.removeEventListener("blur",this._handlers.onBlur),this._input.removeEventListener("change",this._handlers.onChange),this._handlers={},this._mode=!1,this._list.events.fire(o.ListEvents.afterEditEnd,[t,this._item.id])):this._input.focus()}},t.prototype.toHTML=function(){this._mode=!0;var t=this._config.itemHeight;return i.el("input.dhx_list-input",{class:"dhx_list-item--text"+(this._item.css?" "+this._item.css:""),style:{height:t},_hooks:{didInsert:this._handlers.didInsert},_key:this._item.id,dhx_id:this._item.id})},t.prototype._initHandlers=function(){var t=this;this._handlers={onBlur:function(){t.endEdit()},onChange:function(){t.endEdit()},didInsert:function(e){var n=e.el;t._input=n,n.focus(),n.value=t._item.value,n.setSelectionRange(0,n.value.length),n.addEventListener("change",t._handlers.onChange),n.addEventListener("blur",t._handlers.onBlur)}}},t}();e.InputEditor=r},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,n=1,i=arguments.length;n0&&(t._sequence=t._sequence.slice(0,t._sequence.length-1),t._change()),n.length<2&&(t._sequence+=n,t._change())}})}return t.prototype.startNewListen=function(t){this._isActive=!0,this._sequence="",this._currentAction=t},t.prototype.endListen=function(){this._currentAction=null,this.reset(),this._isActive=!1},t.prototype.reset=function(){this._sequence=""},t.prototype._change=function(){this._currentAction(this._sequence),this._addClearTimeout()},t.prototype._addClearTimeout=function(){var t=this;this._clearTimeout&&clearTimeout(this._clearTimeout),this._clearTimeout=setTimeout(function(){t.reset(),t._clearTimeout=null},2e3)},t}();e.KeyListener=i},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),o=n(38);e.selectAllView=function(){return i.el(".dhx_list-item.dhx_combobox-options__item.dhx_combobox-options__item--select-all.dhx_combobox__action-select-all",o.default.selectAll)},e.unselectAllView=function(){return i.el(".dhx_list-item.dhx_combobox-options__item.dhx_combobox-options__item--select-all.dhx_combobox__action-select-all",o.default.unselectAll)},e.emptyListView=function(){return i.el("ul.dhx_list",[i.el("li.dhx_list-item.dhx_combobox-options__item",{},o.default.notFound)])}},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=n(1),r=n(0),s=n(2),a=n(20),l=n(3),c=n(8),u=n(40);function d(t,e,n){return tn?n:t}var h=function(t){function e(e,n){var i=t.call(this,e,o.extend({mode:u.Direction.horizontal,min:0,max:100,step:1,thumbLabel:!0},n))||this;i.events=new s.EventSystem(i),i._axis=i.config.mode===u.Direction.horizontal?"clientX":"clientY",i._initStartPosition(),i._initHotkeys();var a=r.create({render:function(){return i._draw()},hooks:{didMount:function(){return i._calcSliderPosition()},didRedraw:function(){return i._calcSliderPosition()}}});return i._initHandlers(),i.mount(e,a),i}return i(e,t),e.prototype.disable=function(){this._disabled=!0,this.paint()},e.prototype.enable=function(){this._disabled=!1,this.paint()},e.prototype.focus=function(t){this.getRootView().refs[t?"extraRunner":"runner"].el.focus()},e.prototype.getValue=function(){var t;if(this.config.range){var e=this._getValue(this._currentPosition),n=this._getValue(this._extraCurrentPosition);t=e1){var n=this._getValue(this._extraCurrentPosition);this._setValue(t[0],!1),this.events.fire(u.SliderEvents.change,[t[0],e,!1]),this._setValue(t[1],!0),this.events.fire(u.SliderEvents.change,[t[1],n,!0])}else{if(t=parseFloat(t),isNaN(t))throw new Error("Wrong value type, for more info check documentation https://docs.dhtmlx.com/suite/slider__api__slider_setvalue_method.html");this._setValue(t),this.events.fire(u.SliderEvents.change,[t,e,!1])}this.paint()},e.prototype.destructor=function(){this._hotkeysDestructor(),this.unmount()},e.prototype._calcSliderPosition=function(){var t=this.getRootView();if(t){var e=t.refs.track.el.getBoundingClientRect();this._offsets={left:e.left+window.pageXOffset,top:e.top+window.pageYOffset},this._length=this.config.mode===u.Direction.horizontal?e.width:e.height}},e.prototype._initHotkeys=function(){var t=this;this._hotkeysDestructor=a.addHotkeys({arrowleft:function(e){t.config.mode!==u.Direction.vertical&&(e.preventDefault(),t._move(-t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowright:function(e){t.config.mode!==u.Direction.vertical&&(e.preventDefault(),t._move(t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowup:function(e){t.config.mode!==u.Direction.horizontal&&(e.preventDefault(),t._move(t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowdown:function(e){t.config.mode!==u.Direction.horizontal&&(e.preventDefault(),t._move(-t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))}},function(){var e=document.activeElement,n=t.getRootView().refs;if(!n)return!1;var i=n.runner;return!(!i||i.el!==e)||!(!t.config.range||!n.extraRunner||n.extraRunner.el!==e)})},e.prototype._move=function(t,e){this.config.inverse&&(t=-t);var n=e?this._getValue(this._extraCurrentPosition):this._getValue(this._currentPosition),i=n+t;this._setValue(n+t,e),this.events.fire(u.SliderEvents.change,[i,n,e]),this.paint()},e.prototype._initStartPosition=function(){var t=this.config,e=t.max,n=t.min,i=t.range,o=function(t,e,n){var i;return(i=void 0===t?[]:Array.isArray(t)?t:"string"==typeof t?t.split(",").map(function(t){return parseInt(t,10)}):[t])[0]=void 0===i[0]?e:d(i[0],e,n),i[1]=void 0===i[1]?n:d(i[1],e,n),i}(this.config.value,this.config.min,this.config.max),r=o[0],s=o[1];this._currentPosition=(r-n)/(e-n)*100,i&&(this._extraCurrentPosition=(e-s)/(e-n)*100),this._currentPosition=(r-n)/(e-n)*100,i&&(this._extraCurrentPosition=(s-n)/(e-n)*100),this._isInverse()&&(this._currentPosition=100-this._currentPosition,i&&(this._extraCurrentPosition=100-this._extraCurrentPosition))},e.prototype._getValue=function(t){this._isInverse()&&(t=100-t);var e=this.config,n=e.min,i=e.max,o=e.step;if(100===t)return i;if(0===t)return n;var r=t*(i-n)/100,s=r%o,a=s>=o/2?o:0;return+(Number(n)+Number(r)-s+a).toFixed(5)},e.prototype._setValue=function(t,e){void 0===e&&(e=!1);var n=this.config,i=n.max,o=n.min;if(t>i||tt._currentPosition?t._possibleRange=[t._currentPosition,100]:t._possibleRange=[0,t._currentPosition],t._findNewDirection=null}t._inSide(n)&&t._updatePosition(n,t._isExtraActive),t.paint()},n=function(i){t.events.fire(u.SliderEvents.mouseup,[i]),setTimeout(function(){t._isMouseMoving=!1,t.paint()},4),document.removeEventListener("mouseup",n),document.removeEventListener("mousemove",e)};this.config.help&&(this._helper=new c.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.help)),this._handlers={showHelper:function(e){e.preventDefault(),e.stopPropagation(),t._helper.show(e.target)},onmousedown:function(i){if(!t._disabled&&3!==i.which){var o;if(t.events.fire(u.SliderEvents.mousedown,[i]),t._isMouseMoving=!0,i.target.classList.contains("dhx_slider__thumb--extra")?(t._isExtraActive=!0,o=t._extraCurrentPosition):(t._isExtraActive=!1,o=t._currentPosition),t._findNewDirection=null,t.config.range){var r=t._currentPosition>t._extraCurrentPosition?[t._currentPosition,t._extraCurrentPosition]:[t._extraCurrentPosition,t._currentPosition],s=r[0],a=r[1];t._currentPosition===t._extraCurrentPosition?(t._findNewDirection=o,t._possibleRange=[0,100]):t._possibleRange=oe[1])||(this._updatePosition(e[1],this._isExtraActive),!1)},e.prototype._updatePosition=function(t,e){void 0===e&&(e=!1),t>100&&(t=100),t<0&&(t=0);var n=this.config,i=n.max,o=n.min,r=e?this._extraCurrentPosition:this._currentPosition,s=this._getValue(r),a=this._getValue(t);if(s!==a){var l=(a-o)/(i-o)*100,c=this._isInverse()?100-l:l;e?this._extraCurrentPosition=c:this._currentPosition=c,this.events.fire(u.SliderEvents.change,[a,s,e])}},e.prototype._getRunnerStyle=function(t){var e;void 0===t&&(t=!1);var n=this.config.mode===u.Direction.horizontal?"left":"top",i=t?this._extraCurrentPosition:this._currentPosition;return(e={})[n]=i+"%",e},e.prototype._isInverse=function(){return this.config.inverse&&this.config.mode===u.Direction.horizontal||!this.config.inverse&&this.config.mode===u.Direction.vertical},e.prototype._getRunnerCss=function(t){return void 0===t&&(t=!1),"dhx_slider__thumb"+(t?" dhx_slider__thumb--extra":"")+(this._isMouseMoving&&(t&&this._isExtraActive||!t&&!this._isExtraActive)?" dhx_slider__thumb--active":"")+(this._disabled?" dhx_slider__thumb--disabled":"")+(this._isNullable(t?this._extraCurrentPosition:this._currentPosition)&&!this.config.range?" dhx_slider__thumb--nullable":"")},e.prototype._draw=function(){var t=this.config.labelInline&&this.config.labelWidth?this.config.labelWidth:"";return r.el("div",{class:"dhx_slider dhx_slider--mode_"+this.config.mode+(this.config.label&&this.config.labelInline?" dhx_slider--label-inline":"")+(this.config.hiddenLabel?" dhx_slider--label_sr":"")+(this.config.tick?" dhx_slider--ticks":"")+(this.config.majorTick?" dhx_slider--major-ticks":"")+(this.config.css?" "+this.config.css:"")},[this.config.label?r.el("label.dhx_label.dhx_slider__label",{style:{minWidth:t,maxWidth:t},class:this.config.help?"dhx_label--with-help":"",onclick:this._handlers.onlabelClick},this.config.help?[r.el("span.dhx_label__holder",this.config.label),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:this.config.label):null,this._drawSlider()])},e.prototype._drawSlider=function(){return r.el(".dhx_slider__track-holder",{dhx_widget_id:this._uid},[r.el(".dhx_slider__track",{_ref:"track",onmouseover:this._handlers.onmouseover,onmouseout:this._handlers.onmouseout,onclick:this._handlers.onclick},[this._getDetector(),r.el("div",{_ref:"runner",class:this._getRunnerCss(),onmousedown:this._handlers.onmousedown,onmousemove:this._handlers.onmousemove,onfocus:this._handlers.onfocus,onblur:this._handlers.onblur,style:this._getRunnerStyle(),tabindex:0}),this.config.thumbLabel&&(this._mouseIn||this._focusIn||this._isMouseMoving)?this._drawThumbLabel():null,this.config.thumbLabel&&this.config.range&&(this._mouseIn||this._focusIn||this._isMouseMoving)?this._drawThumbLabel(!0):null,this.config.range?r.el("div",{_ref:"extraRunner",class:this._getRunnerCss(!0),onmousedown:this._handlers.onmousedown,onmousemove:this._handlers.onmousemove,onfocus:this._handlers.onfocus,onblur:this._handlers.onblur,style:this._getRunnerStyle(!0),tabindex:0}):null]),this.config.tick?this._drawTicks():null])},e.prototype._getDetector=function(){var t,e,n;if(this._disabled)return r.el(".dhx_slider__range");var i=this.config.mode===u.Direction.horizontal?"left":"top",o=this.config.mode===u.Direction.horizontal?"width":"height";if(this.config.range){var s=this._currentPosition>this._extraCurrentPosition?[this._currentPosition,this._extraCurrentPosition]:[this._extraCurrentPosition,this._currentPosition],a=s[0],l=s[1];return r.el(".dhx_slider__range",{style:(t={},t[i]=l+"%",t[o]=a-l+"%",t)})}return this._isInverse()?r.el(".dhx_slider__range",{style:(e={},e[i]=this._currentPosition+"%",e[o]=100-this._currentPosition+"%",e)}):r.el(".dhx_slider__range",{style:(n={},n[i]=0,n[o]=this._currentPosition+"%",n)})},e.prototype._drawThumbLabel=function(t){var e;void 0===t&&(t=!1);var n=t?this._extraCurrentPosition:this._currentPosition,i=this.config.mode===u.Direction.horizontal?"left":"top",o=this.config.mode===u.Direction.horizontal?".dhx_slider__thumb-label--horizontal":".dhx_slider__thumb-label--vertical";(t&&this._isExtraActive||!t&&!this._isExtraActive)&&(o+=".dhx_slider__thumb-label--active");var s=((e={})[i]=n+"%",e);return r.el(".dhx_slider__thumb-label"+o,{style:s},this._getValue(n))},e.prototype._getTicks=function(){for(var t=this.config,e=t.max,n=t.min,i=t.step,o=t.tick,r=t.majorTick,s=e-n,a=i*o/s,l=[],c=0,u=0;c<1;){var d=+(Number(n)+c*s).toFixed(5),h=u%r==0;l.push({position:(this._isInverse()?100*(1-c):100*c)+"%",isMultiple:h,label:h&&"function"==typeof this.config.tickTemplate?this.config.tickTemplate(d):null}),c+=a,u++}return l.push({position:(this._isInverse()?0:100)+"%",isMultiple:!0,label:"function"==typeof this.config.tickTemplate?this.config.tickTemplate(e):null}),l},e.prototype._drawTicks=function(){var t=this.config.mode===u.Direction.horizontal?"left":"top";return r.el(".dhx_slider__ticks-holder",this._getTicks().map(function(e){var n;return r.el("div",{class:"dhx_slider__tick"+(e.isMultiple?" dhx_slider__tick--major":""),style:(n={},n[t]=e.position,n)},void 0!==e.label?[r.el(".dhx_slider__tick-label",e.label)]:null)}))},e.prototype._isNullable=function(t){return this._isInverse()?100===t:0===t},e}(l.View);e.Slider=h},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,n=1,i=arguments.length;nr},this._linkedCalendar.config.block=function(t){if(o)return t=o&&t<=r&&s(t)}),this.events.on(p.CalendarEvents.change,function(t){o=u.DateHelper.dayStart(t),e._linkedCalendar.paint()},"link"),this._linkedCalendar.events.on(p.CalendarEvents.change,function(t){r=u.DateHelper.dayStart(t),e.paint()},"link"),this._linkedCalendar.paint(),this.paint()},e.prototype._unlink=function(){this._linkedCalendar&&(this.config.$rangeMark=this._linkedCalendar.config.$rangeMark=null,this.config.block=this._linkedCalendar.config.block=null,this.events.detach(p.CalendarEvents.change,"link"),this._linkedCalendar.events.detach(p.CalendarEvents.change,"link"),this._linkedCalendar.paint(),this.paint(),this._linkedCalendar=null)},e.prototype._draw=function(){switch(this._currentViewMode){case p.ViewMode.days:return this._drawCalendar();case p.ViewMode.months:return this._drawMonthSelector();case p.ViewMode.years:return this._drawYearSelector();case p.ViewMode.timepicker:return this._drawTimepicker()}},e.prototype._initHandlers=function(){var t=this;this._handlers={onclick:{".dhx_calendar-year, .dhx_calendar-month, .dhx_calendar-day":function(e,n){var i=n.attrs._date,o=u.DateHelper.copy(t._selected);switch(t._currentViewMode){case p.ViewMode.days:var r=t.config.timePicker?u.DateHelper.mergeHoursAndMinutes(i,t._selected||t._currentDate):i;if(!t.events.fire(p.CalendarEvents.beforeChange,[r,o,!0]))return;t._selected=r,t.showDate(i),t.events.fire(p.CalendarEvents.change,[i,o,!0]);break;case p.ViewMode.months:if(t.config.view!==p.ViewMode.months)u.DateHelper.setMonth(t._currentDate,i),t.showDate(null,p.ViewMode.days);else{var s=u.DateHelper.fromYearAndMonth(t._currentDate.getFullYear()||t._selected.getFullYear(),i);if(!t.events.fire(p.CalendarEvents.beforeChange,[s,o,!0]))return;t._currentDate=s,t._selected=s,t.events.fire(p.CalendarEvents.change,[t._selected,o,!0]),t.paint()}break;case p.ViewMode.years:if(t.config.view!==p.ViewMode.years)u.DateHelper.setYear(t._currentDate,i),t.showDate(null,p.ViewMode.months);else{s=u.DateHelper.fromYear(i);if(!t.events.fire(p.CalendarEvents.beforeChange,[s,o,!0]))return;t._currentDate=s,t._selected=s,t.events.fire(p.CalendarEvents.change,[t._selected,o,!0]),t.paint()}}},".dhx_calendar-action__cancel":function(){return t.showDate(t._selected,p.ViewMode.days)},".dhx_calendar-action__show-month":function(){return t.showDate(null,p.ViewMode.months)},".dhx_calendar-action__show-year":function(){return t.showDate(null,p.ViewMode.years)},".dhx_calendar-action__next":function(){var e;switch(t._currentViewMode){case p.ViewMode.days:e=u.DateHelper.addMonth(t._currentDate,1);break;case p.ViewMode.months:e=u.DateHelper.addYear(t._currentDate,1);break;case p.ViewMode.years:e=u.DateHelper.addYear(t._currentDate,12)}t.showDate(e)},".dhx_calendar-action__prev":function(){var e;switch(t._currentViewMode){case p.ViewMode.days:e=u.DateHelper.addMonth(t._currentDate,-1);break;case p.ViewMode.months:e=u.DateHelper.addYear(t._currentDate,-1);break;case p.ViewMode.years:e=u.DateHelper.addYear(t._currentDate,-12)}t.showDate(e)},".dhx_calendar-action__show-timepicker":function(){t._currentViewMode=p.ViewMode.timepicker,t.paint()}},onmouseover:{".dhx_calendar-day":function(e,n){return t.events.fire(p.CalendarEvents.dateHover,[e,new Date(n.attrs._date)])}}}},e.prototype._getData=function(t){for(var e="monday"===this.config.weekStart?1:0,n=[],i=6,o=u.DateHelper.weekStart(u.DateHelper.monthStart(t),e);i--;){for(var r=u.DateHelper.getWeekNumber(o),s=0,a=7,l=[];a--;){var c=u.DateHelper.isWeekEnd(o),d=t.getMonth()===o.getMonth(),h=this.config.block&&this.config.block(o),f=[];if(c&&d&&f.push("dhx_calendar-day--weekend"),d||(this.config.thisMonthOnly?(s++,f.push("dhx_calendar-day--hidden")):f.push("dhx_calendar-day--muffled")),this.config.mark){var p=this.config.mark(o);p&&f.push(p)}if(this.config.$rangeMark){var _=this.config.$rangeMark(o);_&&f.push(_)}h&&(c?f.push("dhx_calendar-day--weekend-disabled"):f.push("dhx_calendar-day--disabled")),this._selected&&o.getDate()===this._selected.getDate()&&o.getMonth()===this._selected.getMonth()&&this._selected.getFullYear()===o.getFullYear()&&f.push("dhx_calendar-day--selected"),l.push({date:o,day:o.getDate(),css:f.join(" ")}),o=u.DateHelper.addDay(o)}n.push({weekNumber:r,days:l,disabledWeekNumber:7===s})}return n},e.prototype._drawCalendar=function(){for(var t,e=this._currentDate,n=("monday"===this.config.weekStart?f.default.daysShort.slice(1).concat([f.default.daysShort[0]]):f.default.daysShort).map(function(t){return s.el(".dhx_calendar-weekday",t)}),i=[],r=[],a=0,l=this._getData(e);at._hoursSlider.config.max||(12===t.config.timeFormat?(t._time.isAM=e<12,t._time.h=e%12||12):t._time.h=e,t.events.fire(f.TimepickerEvents.change,[t.getValue()]),t._inputsView.paint())}),this._minutesSlider.events.on(u.SliderEvents.change,function(e){et._minutesSlider.config.max||(t._time.m=e,t.events.fire(f.TimepickerEvents.change,[t.getValue()]),t._inputsView.paint())})},e.prototype._draw=function(){return s.el(".dhx_timepicker-inputs",o({},this._handlers),[s.el("input.dhx_timepicker-input.dhx_timepicker-input--hour",{_key:"hour",value:this._time.h<10?"0"+this._time.h:this._time.h}),s.el("span.dhx_timepicker-delimer",":"),s.el("input.dhx_timepicker-input.dhx_timepicker-input--minutes",{_key:"minute",value:this._time.m<10?"0"+this._time.m:this._time.m}),12===this.config.timeFormat?s.el(".dhx_timepicker-ampm",this._time.isAM?"AM":"PM"):null])},e}(l.View);function _(t,e){return isNaN(t)?0:Math.min(e,Math.max(0,t))}e.Timepicker=p},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});e.default={hours:"Hours",minutes:"Minutes",save:"save"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isTimeCheck=function(t){return/(^12:[0-5][0-9]?AM$)/i.test(t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),o=n(24),r=function(){function t(){}return t.copy=function(t){return new Date(t)},t.fromYear=function(t){return new Date(t,0,1)},t.fromYearAndMonth=function(t,e){return new Date(t,e,1)},t.weekStart=function(t,e){var n=(t.getDay()+7-e)%7;return new Date(t.getFullYear(),t.getMonth(),t.getDate()-n)},t.monthStart=function(t){return new Date(t.getFullYear(),t.getMonth(),1)},t.yearStart=function(t){return new Date(t.getFullYear(),0,1)},t.dayStart=function(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate())},t.addDay=function(t,e){return void 0===e&&(e=1),new Date(t.getFullYear(),t.getMonth(),t.getDate()+e)},t.addMonth=function(t,e){return void 0===e&&(e=1),new Date(t.getFullYear(),t.getMonth()+e,1)},t.addYear=function(t,e){return void 0===e&&(e=1),new Date(t.getFullYear()+e,t.getMonth(),0)},t.withHoursAndMinutes=function(t,e,n){return new Date(t.getFullYear(),t.getMonth(),t.getDate(),e,n)},t.setMonth=function(t,e){t.setMonth(e)},t.setYear=function(t,e){t.setFullYear(e)},t.mergeHoursAndMinutes=function(t,e){return new Date(t.getFullYear(),t.getMonth(),t.getDate(),e.getHours(),e.getMinutes())},t.isWeekEnd=function(t){return 0===t.getDay()||6===t.getDay()},t.getTwelweYears=function(t){var e=t.getFullYear(),n=e-e%12;return i.range(n,n+11)},t.getWeekNumber=function(e){6!==e.getDay()&&(e=t.addDay(e,6-e.getDay()));var n=(e.valueOf()-t.yearStart(e).valueOf())/864e5;return Math.floor((n-e.getDay()+10)/7)},t.isSameDay=function(t,e){return t.getFullYear()===e.getFullYear()&&t.getMonth()===e.getMonth()&&t.getDate()===e.getDate()},t.toDateObject=function(t,e){return"string"==typeof t?o.stringToDate(t,e):new Date(t)},t.nullTimestampDate=new Date(0),t}();e.DateHelper=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.linkButtonClasses=".dhx_button.dhx_button--view_link.dhx_button--icon.dhx_button--size_medium.dhx_button--color_secondary"},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=n(0),r=n(2),s=n(4),a=n(3),l=n(1),c=n(25),u=n(87),d=n(26),h=n(46),f=n(47),p=n(28),_=n(91),v=n(92),g=function(t){function e(e,n){var i=t.call(this,e,n)||this;i._setPaletteGrip=function(t){var e=i.getRootView().refs.picker_palette.el.getBoundingClientRect(),n=t.clientY-e.top,o=t.clientX-e.left,r=v.calculatePaletteGrip(e,n,o),s=r.s,a=r.v;i._pickerState.hsv.s=s,i._pickerState.hsv.v=a,i.paint()},i._setRangeGrip=function(t){var e=i.getRootView().refs.hue_range.el.getBoundingClientRect(),n=t.clientX-e.left,o=v.calculateRangeGrip(e,n),r=o.h,s=o.rangeLeft;i._pickerState.hsv.h=r,i._pickerState.rangeLeft=s,i.paint()},i._onColorClick=function(t,e){i._selected=e.data.color.toUpperCase(),i.events.fire(h.ColorpickerEvents.colorChange,[i._selected])},i._container=e,i.config=l.extend({css:"",paletteOnly:!1,grayShades:!0,pickerOnly:!1,customColors:[],palette:u.palette,width:"238px"},i.config),i.config.palette||(i.config.palette=u.palette),i.config.customColors&&(i.config.customColors=i.config.customColors.map(function(t){return t.toUpperCase()})),i.events=new r.EventSystem(i),i._pickerState={hsv:{h:0,s:1,v:1},currentView:h.ViewsTypes.palette,customHex:""},i._setHandlers();var s=o.create({render:function(){return i._getContent()}});return i.mount(i._container,s),i}return i(e,t),e.prototype.destructor=function(){this.unmount()},e.prototype.focusValue=function(t){this._focusColor(t)&&this.paint()},e.prototype.setValue=function(t){this._focusColor(t)&&(this.paint(),this.events.fire(h.ColorpickerEvents.colorChange,[this._selected]))},e.prototype.getValue=function(){return this._selected},e.prototype.getCustomColors=function(){return this.config.customColors},e.prototype.setCustomColors=function(t){this.config.customColors=t.map(function(t){return t.toUpperCase()}),this.paint()},e.prototype.setView=function(t){h.ViewsTypes[t]&&(this._pickerState.currentView=t,this.events.fire(h.ColorpickerEvents.viewChange,[t]),this.paint())},e.prototype.getView=function(){return this._pickerState.currentView},e.prototype._setHandlers=function(){var t=this;this._handlers={click:{".dhx_palette__cell":this._onColorClick},mousedown:function(e){var n=s.locate(e);t._pickerState.customHex="","picker_palette"===n?t._setPaletteGrip(e):t._setRangeGrip(e);var i="picker_palette"===n?t._setPaletteGrip:t._setRangeGrip;document.addEventListener("mousemove",i),document.addEventListener("mouseup",function(){document.removeEventListener("mousemove",i)}),t.paint()},buttonsClick:function(e){t.setView(h.ViewsTypes.palette),"cancel"!==e?"apply"===e&&-1===t.config.customColors.indexOf(t._pickerState.background)&&(t.setValue(t._pickerState.background),t.events.fire(h.ColorpickerEvents.selectClick,[])):t.events.fire(h.ColorpickerEvents.cancelClick,[])},customColorClick:function(){t.setView(h.ViewsTypes.picker)},oninput:function(e){t._inputTimeout&&clearTimeout(t._inputTimeout),t._inputTimeout=setTimeout(function(){var n=e.target.value;-1===n.indexOf("#")&&(n="#"+n),t._pickerState.customHex=n,c.isHex(n)&&(t._pickerState.hsv=c.HexToHSV(n),t.paint())},100)},contextmenu:{".dhx_palette__cell":function(e,n){e.preventDefault();var i=t.config.customColors.indexOf(n.data.color);-1!==i&&t._removeCustomColor(i),t.paint()}},mouseover:{".dhx_palette__cell":function(t){t.target&&f.tooltip(d.default.rightClickToDelete,{node:t.target,position:p.Position.bottom})},".dhx_colorpicker-custom-colors__picker":function(t){t.target&&f.tooltip(d.default.addNewColor,{node:t.target,position:p.Position.bottom})}}},this.events.on(h.ColorpickerEvents.colorChange,function(){t.paint()})},e.prototype._focusColor=function(t){var e=t.toUpperCase();if(!c.isHex(e))return!1;var n=this.config.palette.reduce(function(t,n){return t||(n.forEach(function(n){n.toUpperCase()!==e||(t=!0)}),t)},!1),i=-1!==u.grayShades.indexOf(e);if(!n&&!i){var o=this.getCustomColors();-1===o.indexOf(e.toUpperCase())&&o.push(e.toUpperCase())}return this._selected=e||null,this._pickerState.hsv=c.HexToHSV(e),!0},e.prototype._removeCustomColor=function(t){this.config.customColors.splice(t,1)},e.prototype._getCells=function(t,e){var n=this;return void 0===e&&(e=""),t.reduce(function(t,i){var r=(n._selected||"").toUpperCase()===i.toUpperCase()?"dhx_palette__cell--selected":"";return t.push(o.el(".dhx_palette__cell",{class:r+" "+e,_data:{color:i},style:"background:"+i})),t},[])},e.prototype._getGrayShades=function(){return o.el(".dhx_palette__row",this._getCells(u.grayShades))},e.prototype._getPalette=function(){var t=this;return this.config.palette.reduce(function(e,n){return e.push(o.el(".dhx_palette__col",t._getCells(n))),e},[])},e.prototype._getContent=function(){var t;return t=this.config.pickerOnly?[_.getPicker(this,this._pickerState,this._handlers)]:"palette"===this._pickerState.currentView?[this.config.grayShades&&this._getGrayShades()].concat(this._getPalette(),[!this.config.paletteOnly&&o.el(".dhx_colorpicker-custom-colors",{onmouseover:this._handlers.mouseover},[o.el(".dhx_colorpicker-custom-colors__header",[d.default.customColors]),o.el(".dhx_palette--custom.dhx_palette__row",this._getCells(this.config.customColors,"dhx_custom-color__cell").concat([o.el(".dhx_colorpicker-custom-colors__picker",{class:"dxi dxi-plus",onclick:this._handlers.customColorClick,onmouseover:this._handlers.mouseover})]))])]):[_.getPicker(this,this._pickerState,this._handlers)],o.el(".dhx_colorpicker",{class:this.config.css,style:{width:this.config.width}},[o.el(".dhx_palette",{onclick:this._handlers.click,oncontextmenu:this._handlers.contextmenu},t)])},e}(a.View);e.Colorpicker=g},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.grayShades=["#000000","#4C4C4C","#666666","#808080","#999999","#B3B3B3","#CCCCCC","#E6E6E6","#F2F2F2","#FFFFFF"],e.palette=[["#D4DAE4","#B0B8CD","#949DB1","#727A8C","#5E6677","#3F4757","#1D2534"],["#FFCDD2","#FE9998","#F35C4E","#E94633","#D73C2D","#CA3626","#BB2B1A"],["#F9E6AD","#F4D679","#EDB90F","#EAA100","#EA8F00","#EA7E00","#EA5D00"],["#BCE4CE","#90D2AF","#33B579","#36955F","#247346","#1D5B38","#17492D"],["#BDF0E9","#92E7DC","#02D7C5","#11B3A5","#018B80","#026B60","#024F43"],["#B3E5FC","#81D4FA","#29B6F6","#039BE5","#0288D1","#0277BD","#01579B"],["#AEC1FF","#88A3F9","#5874CD","#2349AE","#163FA2","#083596","#002381"],["#C5C0DA","#9F97C1","#7E6BAD","#584A8F","#4F4083","#473776","#3A265F"],["#D6BDCC","#C492AC","#A9537C","#963A64","#81355A","#6E3051","#4C2640"],["#D2C5C1","#B4A09A","#826358","#624339","#5D4037","#4E342E","#3E2723"]]},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(4),o=n(27),r=new WeakMap,s=new Map;function a(t,e){e&&clearTimeout(r.get(t));var n=t.parentNode,i=n.getAttribute("data-position"),o=n.parentNode,a=s.get(o);if(a){var l=a[i];if(l){var c=l.stack,u=c.indexOf(t);return-1!==u?(n.removeChild(t),c.splice(u,1),void(0===c.length&&o.removeChild(n))):void 0}}}function l(t,e){var n=document.createElement("div");return n.setAttribute("data-position",e),n.className="dhx_message-container dhx_message-container--"+e+(t===document.body?" dhx_message-container--in-body":""),n}e.message=function(t){var e;"string"==typeof t&&(t={text:t}),t.position=t.position||o.MessageContainerPosition.topRight;var n=document.createElement("div");n.className="dhx_message "+(t.css||""),t.html?n.innerHTML=t.html:n.innerHTML=''+t.text+"\n\t\t"+(t.icon?'':"");var c=t.node?i.toNode(t.node):document.body;"static"===getComputedStyle(c).position&&(c.style.position="relative");var u=s.get(c);u?u[t.position]||(u[t.position]={stack:[],container:l(c,t.position)}):s.set(c,((e={})[t.position]={stack:[],container:l(c,t.position)},e));var d=s.get(c)[t.position],h=d.stack,f=d.container;if(0===h.length&&c.appendChild(f),h.push(n),f.appendChild(n),t.expire){var p=setTimeout(function(){return a(n)},t.expire);r.set(n,p)}n.onclick=function(){return a(n,!0)}}},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=n(48),o=n(49);e.alert=function(e){var n=e.buttons&&e.buttons[0]?e.buttons[0]:i.default.apply,r=o.blockScreen(e.blockerCss);return new t(function(t){var i=document.createElement("div");i.className="dhx_alert "+(e.css||""),i.innerHTML="\n\t\t\t"+(e.header?'
    '+e.header+"
    ":"")+"\n\t\t\t"+(e.text?'
    '+e.text+"
    ":"")+'\n\t\t\t",document.body.appendChild(i),i.querySelector(".dhx_alert__apply-button").focus(),i.querySelector("button").addEventListener("click",function(){r(),document.body.removeChild(i),t(!0)})})}}).call(this,n(10))},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=n(48),o=n(49);e.confirm=function(e){var n=e.buttons&&e.buttons[0]?e.buttons[0]:i.default.apply,r=e.buttons&&e.buttons[1]?e.buttons[1]:i.default.reject,s=o.blockScreen(e.blockerCss);return new t(function(t){var i=document.createElement("div");i.className="dhx_alert dhx_alert--confirm"+(e.css?" "+e.css:""),i.innerHTML="\n\t\t"+(e.header?'
    '+e.header+"
    ":"")+"\n\t\t"+(e.text?'
    '+e.text+"
    ":"")+'\n\t\t\t",document.body.appendChild(i),i.querySelector(".dhx_alert__confirm-reject").focus();var o=function(e){"BUTTON"===e.target.tagName&&function(e){s(),i.removeEventListener("click",o),document.body.removeChild(i),t(e)}(e.target.classList.contains("dhx_alert__confirm-aply"))};i.addEventListener("click",o)})}}).call(this,n(10))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(25),o=n(0),r=n(26);e.getPicker=function(t,e,n){var s=i.HSVtoRGB(e.hsv);e.background=i.RGBToHex(s);var a=i.RGBToHex(i.HSVtoRGB({h:e.hsv.h,s:1,v:1})),l=t.getRootView(),c=l.refs?l.refs.picker_palette.el.getBoundingClientRect():{height:200,width:218,x:0,y:0},u=c.height-2,d=c.width-2,h=u-e.hsv.v*u-4,f=e.hsv.s*d-4,p=c.width-6,_=p-(360-e.hsv.h)/360*p,v=e.customHex?e.customHex.replace("#",""):e.background.replace("#","");return o.el(".dhx_colorpicker-picker",{},[o.el(".dhx_colorpicker-picker__palette",{style:{height:132,background:a},onmousedown:n.mousedown,dhx_id:"picker_palette",_ref:"picker_palette"},[o.el(".dhx_palette_grip",{style:{top:h,left:f}})]),o.el(".dhx_colorpicker-hue-range",{style:{height:16},onmousedown:n.mousedown,dhx_id:"hue_range",_key:"hue_range",_ref:"hue_range"},[o.el(".dhx_colorpicker-hue-range__grip",{style:{left:_}})]),o.el(".dhx_colorpicker-value",[o.el(".dhx_colorpicker-value__color",{style:{background:e.background}}),o.el(".dhx_colorpicker-value__input-wrapper",[o.el("input",{class:"dhx_colorpicker-value__input",value:v,oninput:n.oninput,maxlength:"7",_key:"hex_input"})])]),o.el(".dhx_colorpicker-picker__buttons",[!t.config.pickerOnly&&o.el("button",{class:"dhx_button dhx_button--size_medium dhx_button--view_link dhx_button--color_primary",onclick:[n.buttonsClick,"cancel"]},r.default.cancel),o.el("button",{class:"dhx_button dhx_button--size_medium dhx_button--view_flat dhx_button--color_primary",onclick:[n.buttonsClick,"apply"]},r.default.select)])])},e.calculatePaletteGrip=function(t,e,n){var i=t.refs.picker_palette.el.getBoundingClientRect(),o=i.height,r=i.width;e=e<0?0:e>o?o:e,n=n<0?0:n>r?r:n;var s=Math.round(n/(r/100)),a=100-Math.round(e/(o/100));this._pickerState.hsv.s=s/100,this._pickerState.hsv.v=a/100}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.calculatePaletteGrip=function(t,e,n){var i=t.height,o=t.width;return e=e<0?0:e>i?i:e,n=n<0?0:n>o?o:n,{s:Math.round(n/(o/100))/100,v:(100-Math.round(e/(i/100)))/100}},e.calculateRangeGrip=function(t,e){var n=t.width;return e=e<0?0:e>n?n:e,{h:Math.round(e/n*360),rangeLeft:e}}},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o,r=n(41),s=n(2),a=n(0),l=n(9),c=n(8),u=n(5),d=n(6);!function(t){t.change="change"}(o=e.DateInputEvents||(e.DateInputEvents={}));var h=function(t){function e(e,n){var i=t.call(this,null,n)||this;i.events=new s.EventSystem,i._popup=new c.Popup({css:"dhx_widget--border-shadow"}),i.calendar=new r.Calendar(null,n),i._popup.attach(i.calendar);return i.mount(e,a.create({render:function(){return i._draw()}})),i.calendar.events.on(r.CalendarEvents.change,function(){i.config.value=i.calendar.getValue(),i._popup.hide(),i.validate()}),i.events.on(o.change,function(t){i.config.value=i._inputValidate(t),i._inputValidate(t)&&i.calendar.setValue(t),i.validate()}),i}return i(e,t),e.prototype.validate=function(){var t=!this.config.required||Boolean(this.config.value);return this.config.$validationStatus=t?u.ValidationStatus.success:u.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=u.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.calendar.setValue(t),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.clear=function(){this.config.value="",this.paint()},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onchange:function(e){var n=e.target.value;t.events.fire(o.change,[n])},onkeyup:function(e){13===e.keyCode&&(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur())}}},e.prototype._inputValidate=function(t){var e=this.calendar.config.dateFormat;return r.stringToDate(t,e,!0)?t:""},e.prototype._draw=function(){var t=this.config,e=t.value,n=t.icon,i=t.required,o=t.disabled,r=t.placeholder,s=t.name,l=t.id,c=t.validation,u=t.editing,h=void 0!==u&&u;return a.el("div.dhx_form-group",{class:d.getFormItemCss(this.config,Boolean(i)||Boolean(c))},[this._drawLabel(),a.el(".dhx_input-wrapper",[a.el(".dhx_input__icon",{class:n||"dxi dxi-calendar-today"}),a.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:e,type:"text",_ref:"input",required:i,disabled:o,placeholder:r||"",name:s||"",id:l||this._uid,onfocus:this._handlers.onfocus,onchange:this._handlers.onchange,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!h})]),d.getValidationMessage(this.config)&&a.el("span.dhx_input-caption",{},d.getValidationMessage(this.config))])},e}(l.Label);e.DateInput=h},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o,r=n(0),s=n(3),a=n(2);!function(t){t.click="click"}(o=e.ButtonEvents||(e.ButtonEvents={}));var l=function(t){function e(e,n){void 0===n&&(n={});var i=t.call(this,e,n)||this;i.events=new a.EventSystem,i._handlers={onclick:function(t){return i.events.fire(o.click,[t])}};return i.mount(e,r.create({render:function(){return i._draw()}})),i}return i(e,t),e.prototype.setValue=function(t){this.config.value=t,this.paint()},e.prototype._draw=function(){var t=this.config,e=t.color,n=t.size,i=t.view,o=t.full,s=t.loading,a=t.circle,l=t.icon,c=t.value,u=t.disabled,d=t.submit,h={danger:" dhx_button--color_danger",secondary:" dhx_button--color_secondary",primary:" dhx_button--color_primary",success:" dhx_button--color_success"}[e]||" dhx_button--color_primary",f={small:" dhx_button--size_small",medium:" dhx_button--size_medium"}[n]||" dhx_button--size_medium",p={flat:" dhx_button--view_flat",link:" dhx_button--view_link"}[i]||" dhx_button--view_flat",_=o?" dhx_button--width_full":"",v=a?" dhx_button--circle":"",g=s?" dhx_button--loading":"",m=l&&!c?" dhx_button--icon":"";return r.el("button",{disabled:u,onclick:this._handlers.onclick,type:d?"submit":"button",class:"dhx_button"+h+f+p+_+v+g+m},[l&&r.el("span.dhx_button__icon",{class:l}),c&&r.el("span.dhx_button__text",c),s&&r.el("span.dhx_button__loading",[r.el("span.dhx_button__loading-icon.dxi.dxi-loading")])])},e}(s.View);e.Button=l},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o,r=n(0),s=n(2),a=n(3),l=n(6),c=n(8),u=n(5);!function(t){t.change="change"}(o=e.CheckboxEvents||(e.CheckboxEvents={}));var d=function(t){function e(e,n){void 0===n&&(n={});var i=t.call(this,e,n)||this;i.config.help&&(i._helper=new c.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),i._helper.attachHTML(i.config.help)),i._handlers={showHelper:function(t){t.preventDefault(),t.stopPropagation(),i._helper.show(t.target)},cancelUnusefulClick:function(t){t.preventDefault()},onchange:function(t){i.config.checked=t.target.checked,i.events.fire(o.change,[t.target.checked]),i.validate()}},i.events=new s.EventSystem;return i.mount(e,r.create({render:function(){return i._draw()}})),i}return i(e,t),e.prototype.clear=function(){this.config.checked=!1,this.paint()},e.prototype.clearValidate=function(){this.config.$validationStatus=u.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.config.checked=t,this.paint()},e.prototype.getValue=function(){return this.config.checked||!1},e.prototype.validate=function(){var t=!this.config.required||this.config.checked;return this.config.$validationStatus=t?u.ValidationStatus.success:u.ValidationStatus.error,this.paint(),t},e.prototype._draw=function(){var t=this.config,e=t.id,n=t.value,i=t.label,o=t.checked,s=t.disabled,a=t.name,c=t.help,u=t.labelWidth,d=t.labelInline,h=t.required;return r.el("label.dhx_form-group.dhx_checkbox",{class:l.getFormItemCss(this.config,Boolean(h))+(c?" dhx_label--with-help":""),style:{"margin-left":u&&d?"calc("+u+" + 16px)":""}},[r.el("input.dhx_checkbox__input",{type:"checkbox",id:e,value:n||"",name:a||"",disabled:s,checked:o,onchange:this._handlers.onchange,required:h}),r.el("span.dhx_checkbox__visual-input"),r.el("span.dhx_label",{class:c?"dhx_label--with-help":""},c?[r.el("span.dhx_label__holder",i),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:i),l.getValidationMessage(this.config)&&r.el("span.dhx_input-caption",{onclick:this._handlers.cancelUnusefulClick},l.getValidationMessage(this.config))])},e}(a.View);e.Checkbox=d},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=n(0),r=n(1),s=n(13),a=n(2),l=n(3),c=n(97),u=n(6),d=n(5);!function(t){t.change="change"}(e.RadioGroupEvents||(e.RadioGroupEvents={}));var h=function(t){function e(e,n){var i=t.call(this,null,n)||this;i.events=new a.EventSystem,i._buttons=[];var l=i.config.options.rows||i.config.options.cols,u=i.config,d=u.preMessage,h=u.errorMessage,f=u.successMessage;l.map(function(t){t.id=t.id||r.uid()}),i.layout=new s.Layout(null,n.options),l.map(function(t){var e=new c.RadioButton(null,t);e.config.disabled=i.config.disabled,e.config.name=i.config.name,e.config.required=i.config.required,e.config.css=i.config.css,(d||h||f)&&(e.config.preMessage="",e.config.errorMessage="",e.config.successMessage=""),i._buttons.push(e),i.layout.cell(t.id).attach(e),e.events.on(c.RadioButtonEvents.change,function(){i._buttons.map(function(t){t.config.id!==e.config.id&&t.setValue(!1)}),i.events.fire(c.RadioButtonEvents.change),i.validate()})});return i.mount(e,o.create({render:function(){return i._draw()}})),i}return i(e,t),e.prototype.validate=function(){var t=this,e=!1;return this._buttons.map(function(n){t.config.required&&!n.config.checked||(e=!0)}),this._buttons.map(function(t){t.config.$validationStatus=e?d.ValidationStatus.success:d.ValidationStatus.error}),this.config.$validationStatus=e?d.ValidationStatus.success:d.ValidationStatus.error,this.paint(),e},e.prototype.clearValidate=function(){this.config.$validationStatus=d.ValidationStatus.pre,this._buttons.map(function(t){t.clearValidate()}),this.paint()},e.prototype.clear=function(){this._buttons.map(function(t){t.clear()}),this.paint()},e.prototype.getValue=function(){var t;return this._buttons.map(function(e){e.getValue()&&(t=e.getValue())}),t||""},e.prototype.setValue=function(t){this._buttons.map(function(e){t===e.config.value?e.setValue(!0):e.setValue(!1)}),this.events.fire(c.RadioButtonEvents.change),this.paint()},e.prototype._draw=function(){return o.el("div.dhx_form-group.dhx_form-group--radiobutton-group",{class:u.getFormItemCss(this.config,Boolean(this.config.required))},[o.inject(this.layout.getRootView()),o.el("span.dhx_input-caption",u.getValidationMessage(this.config))])},e}(l.View);e.RadioGroup=h},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o,r=n(0),s=n(2),a=n(3),l=n(6),c=n(8),u=n(5);!function(t){t.change="change"}(o=e.RadioButtonEvents||(e.RadioButtonEvents={}));var d=function(t){function e(e,n){void 0===n&&(n={});var i=t.call(this,e,n)||this;i.config.help&&(i._helper=new c.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),i._helper.attachHTML(i.config.help)),i._handlers={showHelper:function(t){t.preventDefault(),t.stopPropagation(),i._helper.show(t.target)},cancelUnusefulClick:function(t){t.preventDefault()},onchange:function(t){i.config.checked=t.target.checked,i.events.fire(o.change,[t.target.checked])}},i.events=new s.EventSystem;return i.mount(e,r.create({render:function(){return i._draw()}})),i}return i(e,t),e.prototype.clearValidate=function(){this.config.$validationStatus=u.ValidationStatus.pre,this.paint()},e.prototype.clear=function(){this.config.checked=!1,this.paint()},e.prototype.getValue=function(){if(this.config.checked)return this.config.value},e.prototype.setValue=function(t){this.config.checked=t,this.paint()},e.prototype._draw=function(){var t=this.config,e=t.id,n=t.value,i=t.label,o=t.checked,s=t.disabled,a=t.name,c=t.help,u=t.labelWidth,d=t.labelInline,h=t.required;return r.el("label.dhx_form-group.dhx_radiobutton",{class:l.getFormItemCss(this.config,Boolean(h))+(c?" dhx_label--with-help":""),style:{"margin-left":u&&d?"calc("+u+" + 16px)":""}},[r.el("input.dhx_radiobutton__input",{type:"radio",id:e,value:n||"",name:a||"",disabled:s,checked:o,onchange:this._handlers.onchange,required:h}),r.el("span.dhx_radiobutton__visual-input"),r.el("span.dhx_label",{class:c?"dhx_label--with-help":""},c?[r.el("span.dhx_label__holder",i),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:i),r.el("span.dhx_input-caption",{onclick:this._handlers.cancelUnusefulClick},l.getValidationMessage(this.config))])},e}(a.View);e.RadioButton=d},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o,r=n(0),s=n(9),a=n(6),l=n(2),c=n(5);!function(t){t.change="change"}(o=e.SelectEvents||(e.SelectEvents={}));var u=function(t){function e(e){var n=t.call(this,null,e)||this;return n.events=new l.EventSystem,n.config.value=n.config.options[0].value||n.config.value,n}return i(e,t),e.prototype.validate=function(){var t=this.config,e=t.required,n=t.value;if(t.validation){var i=this.config.validation(n);return this.config.$validationStatus=i?c.ValidationStatus.success:c.ValidationStatus.error,this.paint(),i}return!e||Boolean(n)?this.config.$validationStatus=c.ValidationStatus.success:this.config.$validationStatus=c.ValidationStatus.error,this.paint(),!e||Boolean(n)},e.prototype.clearValidate=function(){this.config.$validationStatus=c.ValidationStatus.pre,this.paint()},e.prototype.clear=function(){this.config.value=this.config.options[0].value,this.paint()},e.prototype.setValue=function(t){this.config.value=t,this.paint()},e.prototype.getValue=function(){return this.config.value},e.prototype._getHandlers=function(){var t=this;return{onchange:function(e){var n=e.target.value;t.config.value=n,t.events.fire(o.change,[]),t.validate()}}},e.prototype._draw=function(){var t=this.config,e=t.id,n=t.options,i=t.icon,o=t.required,s=t.value,l=t.validation;return r.el(".dhx_form-group",{class:a.getFormItemCss(this.config,Boolean(o)||Boolean(l))},[this._drawLabel(),r.el(".dhx_input-wrapper",{class:i||"dxi dxi-menu-down"},[r.el("select",{id:e,class:"dhx_select dhx_input",onchange:this._handlers.onchange},n&&n.map(function(t){return r.el("option",{value:t.value,disabled:t.disabled,selected:t.selected||s===t.value},t.content)})),a.getValidationMessage(this.config)&&r.el("span.dhx_input-caption",a.getValidationMessage(this.config))])])},e}(s.Label);e.Select=u},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=n(0),r=n(6),s=n(29),a=n(1),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype._draw=function(){var t=this.config,e=t.id,n=t.value,i=t.disabled,s=t.name,l=t.placeholder,c=t.required,u=t.resizable,d=t.readOnly,h=t.validation;return o.el("div.dhx_form-group.dhx_form-group--textarea",{class:r.getFormItemCss(this.config,Boolean(c)||Boolean(h))},[this._drawLabel(),o.el(".dhx_input-wrapper",[o.el("textarea.dhx_input.dhx_input--textarea",{type:"text",id:e,placeholder:l||"",value:a.isDefined(n)?n:"",name:s||"",disabled:i,required:c,readOnly:d,onblur:this._handlers.onblur,oninput:this._handlers.oninput,style:{resize:u?"both":"none"}}),r.getValidationMessage(this.config)&&o.el("span.dhx_input-caption",{},r.getValidationMessage(this.config))])])},e}(s.Input);e.Textarea=l},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=n(0),r=n(1),s=n(6),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype._draw=function(){var t=this.config,e=t.id,n=t.value;return o.el("div.dhx_form-group.dhx_form-group--textinput",{class:s.getFormItemCss(this.config)},[this._drawLabel(),o.el(".dhx_input-wrapper",[o.el("input.dhx_input.dhx_input--textinput",{type:"text",readOnly:!0,id:e,value:r.isDefined(n)?n:"",name:name||""})])])},e}(n(29).Input);e.Text=a},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=n(31),r=n(9),s=n(5),a=function(t){function e(e){var n=t.call(this,null,e)||this;return n.combobox=new o.Combobox(null,e),n.data=n.combobox.data,n.events=n.combobox.events,n.combobox.events.on("change",function(t){"load"!==t&&n.validate()}),setTimeout(function(){n.setValue(n.config.value)}),n}return i(e,t),e.prototype.getRootView=function(){return this.combobox.getRootView()},e.prototype.clear=function(){this.combobox.clear()},e.prototype.getValue=function(){return void 0!==this.combobox.getValue()&&this.combobox.getValue().length>1?this.combobox.getValue(!0):this.combobox.getValue()||""},e.prototype.setValue=function(t){t&&this.combobox.setValue(t)},e.prototype.validate=function(){var t=this.combobox.getValue();return!this.config.required||(Boolean(t)?this.config.$validationStatus=s.ValidationStatus.success:this.config.$validationStatus=s.ValidationStatus.error,this._validationStatus(),this.combobox.paint(),Boolean(t))},e.prototype.clearValidate=function(){this.config.$validationStatus=s.ValidationStatus.pre,this._validationStatus(),this.combobox.paint()},e.prototype._validationStatus=function(){switch(this.config.$validationStatus){case s.ValidationStatus.pre:this.combobox.config.css=this.config.css||"";break;case s.ValidationStatus.success:this.combobox.config.css=(this.config.css||"")+"dhx_form-group--state_success";break;case s.ValidationStatus.error:this.combobox.config.css=(this.config.css||"")+"dhx_form-group--state_error";break;default:this.combobox.config.css=this.config.css||""}},e}(r.Label);e.Combo=a},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=n(22),r=function(t){function e(e){var n=t.call(this,null,e)||this;return n.slider=new o.Slider(null,e),n.events=n.slider.events,n.config.value=n.slider.getValue(),n.slider.events.on("Change",function(){n.validate(),n.config.value=n.slider.getValue()}),n.disable(n.config.disabled),n}return i(e,t),e.prototype.clear=function(){this.config.value=[0],this.slider.setValue(this.config.value)},e.prototype.getValue=function(){return this.config.value},e.prototype.disable=function(t){t?this.slider.disable():this.slider.enable()},e.prototype.setValue=function(t){this.slider.setValue(t)},e.prototype.getRootView=function(){return this.slider.getRootView()},e.prototype.validate=function(){return!0},e}(n(9).Label);e.SliderForm=r},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,n=1,i=arguments.length;n0;return this.config.$validationStatus=t?p.ValidationStatus.success:p.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=p.ValidationStatus.pre,this.paint()},e.prototype.clear=function(){this.data.removeAll(),this.paint()},e.prototype.getValue=function(){return this.data.map(function(t){return t.file})||[]},e.prototype._draw=function(){var t=this,e=this.data.getLength()?r.el("ul.dhx_simplevault__files.dhx_simplevault-files",this.data.map(function(e){return r.el("li.dhx_simplevault-files__item",[r.el("span.dhx_simplevault-files__item-name",e.file.name),r.el(".dhx_button.dhx_simplevault-files__delete.dhx_button--icon.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle",{dhx_id:e.id,onclick:t._handlers.remove},[r.el("span.dxi.dxi-delete-forever")])])})):null,n=this.config,i=n.id,o=(n.labelInline,n.label),s=(n.labelWidth,n.help),a=n.disabled,l=n.required,c=n.validation,u=this.config.labelInline&&this.config.labelWidth?this.config.labelWidth:"";return r.el(".dhx_form-group.dhx_form-group--simplevault",{class:h.getFormItemCss(this.config,Boolean(l)||Boolean(c))},[r.el("label.dhx_label",{for:i||this._uid,style:{minWidth:u,maxWidth:u},class:s?"dhx_label--with-help":""},s?[r.el("span.dhx_label__holder",o),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:o),r.el(".dhx_input-wrapper",[r.el("div",{_hooks:{didInsert:function(e){t._uploader.linkDropArea(e.el)}},ondragover:this._handlers.ondragover,class:"dhx_simplevault"+(this._dragover?" dhx_simplevault--on-drag":"")},[r.el("div.dhx_simplevault-loader",[r.el("span.dhx_simplevault__icon.dxi.dxi-vault")]),r.el(".dhx_simplevault__drop-area",[r.el("input.dhx_simplevault__input",{type:"file",id:i,disabled:a}),r.el("span.dhx_simplevault__icon.dxi.dxi-vault"),r.el("span.dhx_simplevault__title",[r.el("span",f.default.simpleVaultText),r.el("br"),r.el("label.dhx_simplevault__label",{onclick:this._handlers.add,for:i}," "+f.default.simpleVaultLabel)])]),e,h.getValidationMessage(this.config)&&r.el("span.dhx_input-caption",{},h.getValidationMessage(this.config))])])])},e}(l.View);e.SimpleVault=_},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(50)),i(n(105)),i(n(17))},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,n=1,i=arguments.length;ne.left+e.width-1||n.pageXe.top+e.height-1||n.pageY0?1:-1)*o.config.speed,n=o._getRefs().area,i=n.scrollHeight-o._runnerHeight,r=o._scrollTop+e;n.scrollTop=r<0?0:r>i?i:r,o._update()},n.onmousedownRunner=function(t){t.preventDefault();var e=o._getRefs(),n=e.area,i=e.runner,r=n.getBoundingClientRect(),s=r.top+window.pageYOffset,a=r.bottom+window.pageYOffset,l=n.scrollHeight-o._runnerHeight,c=t.pageY-i.getBoundingClientRect().top-window.pageYOffset,u=function(t){var e=t.pageY-c;n.scrollTop=e<=s?0:e>a?l:(e-s)/o._visibleArea,o._update()},d=function(){document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",d),document.body.classList.remove("dhx-no-select")};document.body.classList.add("dhx-no-select"),document.addEventListener("mousemove",u),document.addEventListener("mouseup",d)},n.onmousedownTrack=function(t){if(!t.target.classList.contains("scroll-runner")){t.preventDefault();var e=function(){document.removeEventListener("mouseup",e),window.clearInterval(l)},n=o._getRefs().area,i=t.target.getBoundingClientRect().top+window.pageYOffset,r=n.scrollHeight-o._runnerHeight,s=t.pageY,a=function(){var t;if(si+o._runnerTop+o._runnerHeight))return;(t=o._scrollTop+n.clientHeight)>r&&(t=r)}n.scrollTop=t,o._update()};a();var l=setInterval(a,100);document.addEventListener("mouseup",e)}},n)}return t.prototype.render=function(t){var e,n=this;return 0===this._scrollWidth?t:o.el(".scroll-view-wrapper",{style:{width:"100%",height:"100%",overflow:"hidden",position:"relative"}},[o.el(".scroll-view",{onscroll:this._handlers.onscroll,_ref:"scroll-view",_hooks:{didInsert:function(){n._update()},didRecycle:function(){n._update()}},style:{height:"100%",width:"calc(100% + "+this._scrollWidth+"px)",overflowY:"scroll","-ms-overflow-style":"scrollbar"}},[t]),o.el(".y-scroll",(e={onmousedown:this._handlers.onmousedownTrack},e[this._wheelName]=this._handlers[this._wheelName],e.style={width:"10px",height:"100%",right:0,top:0,position:"absolute"},e),[o.el(".scroll-runner",{_ref:"scroll-runner",onmousedown:this._handlers.onmousedownRunner,style:{height:this._runnerHeight+"px",right:"2px",top:this._runnerTop,width:"6px",position:"absolute"}})])])},t.prototype._update=function(){var t=this._getRefs();if(t){var e=t.area,n=t.runner;this._visibleArea=e.clientHeight/e.scrollHeight,this._scrollTop=e.scrollTop,this._runnerTop=this._scrollTop*this._visibleArea,this._visibleArea<1?this._runnerHeight=e.clientHeight*this._visibleArea:this._runnerHeight=0,n.style.top=this._runnerTop+"px",n.style.height=this._runnerHeight+"px"}},t.prototype._getRefs=function(){var t=this._getRootView();if(t.refs&&t.refs["scroll-view"]&&t.refs["scroll-runner"])return{area:t.refs["scroll-view"].el,runner:t.refs["scroll-runner"].el}},t}();e.ScrollView=s},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}(n(108));var i=n(51);e.ItemType=i.ItemType,e.NavigationBarEvents=i.NavigationBarEvents},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=n(1),r=n(0),s=n(4),a=n(51),l=n(28),c=function(t){function e(e,n){var i=t.call(this,e,o.extend({navigationType:"click"},n))||this;i._currentRoot=null;return i.mount(e,r.create({render:function(){return i._draw()}})),i}return i(e,t),e.prototype.getState=function(){var t={};for(var e in this.data.eachChild(this.data.getRoot(),function(e){e.twoState&&!e.group?t[e.id]=e.active:e.type!==a.ItemType.input&&e.type!==a.ItemType.selectButton||(t[e.id]=e.value)},!1),this._groups)this._groups[e].active&&(t[e]=this._groups[e].active);return t},e.prototype.setState=function(t){for(var e in t)if(this._groups&&this._groups[e])this._groups[e].active&&(this.data.update(this._groups[e].active,{active:!1}),this._groups[e].active=t[e],this.data.update(t[e],{active:!0}));else{var n=this.data.getItem(e);n.type===a.ItemType.input||n.type===a.ItemType.selectButton?this.data.update(e,{value:t[e]}):this.data.update(e,{active:t[e]})}},e.prototype._customHandlers=function(){var t=this;return{input:function(e){var n=s.locate(e);t.data.update(n,{value:e.target.value})},tooltip:function(e){var n=s.locateNode(e);if(n){var i=n.getAttribute("dhx_id"),o=t.data.getItem(i);o.tooltip&&l.tooltip(o.tooltip,{node:n,position:l.Position.bottom})}}}},e.prototype._getFactory=function(){return a.createFactory({widget:this,defaultType:a.ItemType.navItem,allowedTypes:[a.ItemType.button,a.ItemType.customHTMLButton,a.ItemType.imageButton,a.ItemType.input,a.ItemType.selectButton,a.ItemType.separator,a.ItemType.spacer,a.ItemType.title,a.ItemType.navItem,a.ItemType.menuItem],widgetName:"toolbar"})},e.prototype._draw=function(){var t=this;return r.el("nav.dhx_widget.dhx_toolbar",{class:this.config.css?this.config.css:"",style:{"min-height":this.data.getLength()?"60px":""}},[r.el("ul.dhx_navbar.dhx_navbar--horizontal",{dhx_widget_id:this._uid,tabindex:0,onclick:this._handlers.onclick,onmousedown:this._handlers.onmousedown,oninput:this._handlers.input,onmouseover:this._handlers.tooltip,_hooks:{didInsert:function(e){e.el.addEventListener("keyup",function(e){if(9===e.which){var n=s.locateNode(document.activeElement);if(n){var i=n.getAttribute("dhx_id"),o=t.data.getItem(i);o.tooltip&&l.tooltip(o.tooltip,{node:n,position:l.Position.bottom,force:!0})}}},!0)}}},this.data.map(function(e){return t._factory(e)},this.data.getRoot(),!1))])},e.prototype._getMode=function(t,e){return t.id===e?"bottom":"right"},e.prototype._close=function(){this._activePosition=null,this._currentRoot=null,t.prototype._close.call(this)},e.prototype._setRoot=function(t){this.data.getParent(t)===this.data.getRoot()&&(this._currentRoot=t)},e}(a.Navbar);e.Toolbar=c},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,n=1,i=arguments.length;n50&&(r-=55),o=setTimeout(s,r)},a=function(){clearTimeout(o),document.removeEventListener("mouseup",a)};s(),document.addEventListener("mouseup",a)}}}},this._customHandlers())},e.prototype._initEvents=function(){var t=this,e=null;this.data.events.on(h.DataEvents.change,function(){t.paint(),e&&clearTimeout(e),e=setTimeout(function(){var n={};t.data.eachChild(t.data.getRoot(),function(t){t.group&&(t.twoState=!0,function(t,e){t[e.group]?(e.active&&(t[e.group].active=e.id),t[e.group].elements.push(e.id)):t[e.group]={active:e.active?e.id:null,elements:[e.id]}}(n,t))},!0),t._groups=n,t._resetHotkeys(),e=null,t.paint()},100)}),this.events.on(h.NavigationBarEvents.click,function(e){var n=t.data.getItem(e),i=t.data.getItem(n.parent);if(i&&i.type===h.ItemType.selectButton&&t.data.update(n.parent,{value:n.value,icon:n.icon}),n.group){var o=t._groups[n.group];o.active&&t.data.update(o.active,{active:!1}),o.active=n.id,t.data.update(n.id,{active:!0})}}),this._customInitEvents()},e.prototype._getMode=function(t,e,n){return void 0===n&&(n=!1),t.parent===e?"bottom":"right"},e.prototype._drawMenuItems=function(t,e){var n=this;return void 0===e&&(e=!0),this.data.map(function(t){return n._factory(t,e)},t,!1)},e.prototype._setRoot=function(t){},e.prototype._getParents=function(t,e){var n=[],i=!1,o=this.data.getItem(t),r=o&&o.disabled;return this.data.eachParent(t,function(t){t.id===e?(n.push(t.id),i=!0):i||n.push(t.id)},!r),this._isContextMenu&&this._activePosition&&n.push(e),n},e.prototype._listenOuterClick=function(){this._documentHaveListener||(document.addEventListener("click",this._documentClick,!0),this._documentHaveListener=!0)},e.prototype._customInitEvents=function(){},e.prototype._drawPopups=function(){var t=this,e=this._activeMenu;if(!this._isContextMenu&&!e)return null;var n=this._currentRoot;if(this._isContextMenu&&!this._activePosition)return null;var i=this._getParents(e,n);return this._activeParents=i,i.forEach(function(e){return t.data.exists(e)&&t.data.update(e,{$activeParent:!0},!1)}),i.map(function(e){if(!t.data.haveItems(e))return null;var i=t.data.getItem(e)||t._rootItem;return s.el("ul",{class:"dhx_widget dhx_menu"+(t.config.menuCss?" "+t.config.menuCss:""),_key:e,_hooks:{didInsert:function(o){var r=o.el.getBoundingClientRect(),s=r.width,a=r.height,c=t._isContextMenu&&t._activePosition&&e===n?t._activePosition:i.$position,u=t._getMode(i,n,c===t._activePosition),d=l.calculatePosition(c,{mode:u,width:s,height:a});i.$style=d,o.patch({style:d})},didRecycle:function(o,r){if(t._isContextMenu&&t._activePosition&&e===n){var s=r.el.getBoundingClientRect(),a=s.width,c=s.height,u=l.calculatePosition(t._activePosition,{mode:t._getMode(i,n,!0),width:a,height:c});i.$style=u,r.patch({style:u})}}},tabindex:0,style:i.$style||{position:"absolute"}},t._drawMenuItems(e))}).reverse()},e.prototype._onMenuItemClick=function(t,e){var n=this.data.getItem(t);n.disabled||(n.twoState&&this.data.update(n.id,{active:!n.active}),this.events.fire(h.NavigationBarEvents.click,[t,e]),this._close())},e.prototype._activeItemChange=function(t){var e=this;if(this._activeParents){var n=this._getParents(t,this._currentRoot);this._activeParents.forEach(function(t){e.data.exists(t)&&-1===n.indexOf(t)&&e.data.update(t,{$activeParent:!1},!1)})}t&&!this._documentHaveListener&&this._listenOuterClick(),t&&this.data.haveItems(t)?(this.events.fire(h.NavigationBarEvents.openMenu,[t]),this._activeMenu=t,clearTimeout(this._currentTimeout),this.paint()):(this._activeMenu=t,clearTimeout(this._currentTimeout),this._currentTimeout=setTimeout(function(){return e.paint()},400))},e.prototype._resetHotkeys=function(){var t=this;c.keyManager.removeHotKey(null,this),this.data.map(function(e){e.hotkey&&c.keyManager.addHotKey(e.hotkey,function(){return t._onMenuItemClick(e.id,null)},t)})},e.prototype._setProp=function(t,e,n){var i,o=this;Array.isArray(t)?t.forEach(function(t){var i;return o.data.update(t,((i={})[e]=n,i))}):this.data.update(t,((i={})[e]=n,i))},e}(u.View);e.Navbar=f},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(111),o=n(112),r=n(113),s=n(114),a=n(115),l=n(116),c=n(117),u=n(118),d=n(119),h=n(14),f=n(15);e.createFactory=function(t){for(var e=t.defaultType,n=t.allowedTypes,p=t.widgetName,_=t.widget,v=new Set,g=0,m=n;g0&&o.getCount(t,r,n),t.value&&t.$openIcon?i.el("span.dhx_button__icon.dhx_button__icon--menu.dxi.dxi-menu-right"):null,t.loading&&i.el("span.dhx_button__loading",[i.el("span.dhx_button__loading-icon.dxi.dxi-loading")])])}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),o=n(15);e.navItem=function(t,e,n){var r=" dhx_"+e+"-button";return i.el("button",{class:"dhx_button"+r+(t.active||t.$activeParent?r+"--active":"")+(t.disabled?r+"--disabled":"")+(t.$openIcon?r+"--select":"")+(t.circle?r+"--circle":"")+(t.size?" "+r+"--"+t.size:"")+(!t.value&&t.icon?r+"--icon":"")+(t.css?" "+t.css:""),dhx_id:t.id,disabled:t.disabled},[t.icon&&i.el("span",{class:t.icon+r+"__icon"}),t.value&&i.el("span",{class:r.trim()+"__text"},t.value),t.count>0&&o.getCount(t,r+"__count",n),t.value&&t.$openIcon&&i.el("span.dxi.dxi-menu-right",{class:r+"__caret"})])}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(0);e.customHTMLButton=function(t,e){return i.el("button",{dhx_id:t.id,".innerHTML":t.html},t.html?"":t.value)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),o=n(15);e.imageButton=function(t,e){var n="dhx_"+e+"-button-image",r="ribbon"===e;return i.el("button.dhx_button",{class:n+(t.size?" "+n+"--"+t.size:"")+(!t.value&&t.src?" "+n+"--icon":"")+(r&&t.$openIcon?" "+n+"--select":"")+(t.active?" "+n+"--active":""),dhx_id:t.id},[r&&t.value&&t.$openIcon&&i.el("span.dxi.dxi-menu-right",{class:n+"__caret"}),t.value&&i.el("span",{class:n+"__text"},t.value),t.src&&i.el("span",{class:n+"__image",style:{backgroundImage:"url("+t.src+")"}}),t.count>0&&o.getCount(t,n+"__count",!0)])}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),o=n(14);function r(t,e){t.fire(o.NavigationBarEvents.inputBlur,[e])}function s(t,e){t.fire(o.NavigationBarEvents.inputFocus,[e])}e.input=function(t,e,n){return i.el(".dhx_form-group.dhx_form-group--no-message-holder.dhx_form-group--label_sr.dhx_"+n+"__input",{style:{width:t.width?t.width:"200px"}},[i.el("label.dhx_label",{for:t.id},t.label),i.el(".dhx_input-wrapper",[i.el("input.dhx_input",{placeholder:t.placeholder,class:t.icon?"dhx_input--icon-padding":"",value:t.value,onblur:[r,e,t.id],onfocus:[s,e,t.id],dhx_id:t.id,_hooks:{didInsert:function(n){e&&e.fire(o.NavigationBarEvents.inputCreated,[t.id,n.el])}},_key:t.id}),t.icon?i.el(".dhx_input__icon",{class:t.icon}):null])])}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),o=n(15);e.menuItem=function(t,e,n){var r=n?" dhx_menu-button":" dhx_nav-menu-button";return i.el("button",{class:"dhx_button"+r+(t.disabled?r+"--disabled":"")+(t.$activeParent?r+"--active":""),disabled:t.disabled,dhx_id:t.id},n?[t.icon||t.value?i.el("span.dhx_menu-button__block.dhx_menu-button__block--left",[t.icon&&i.el("span.dhx_menu-button__icon",{class:t.icon}),t.value&&i.el("span.dhx_menu-button__text",t.value)]):null,t.count>0||t.hotkey||t.items?i.el("span.dhx_menu-button__block.dhx_menu-button__block--right",[t.count>0&&o.getCount(t," dhx_menu-button__count",!1),t.hotkey&&i.el("span.dhx_menu-button__hotkey",t.hotkey),t.items&&i.el("span.dhx_menu-button__caret.dxi.dxi-menu-right")]):null]:[t.value&&i.el("span.dhx_nav-menu-button__text",t.value)])}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.separator=function(t,e){return null}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.spacer=function(t,e){return null}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(0);e.title=function(t,e){return i.el("span",{class:"dhx_navbar-title dhx_navbar-title--"+e},t.value)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.layoutConfig={css:"vault-layout",rows:[{id:"topbar",css:"vault-topbar"},{id:"vault",css:"vault-file-grid"}]},e.layoutConfigWithoutTopbar={css:"vault-layout",rows:[{id:"vault",css:"vault-file-grid"}]}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(30),o=["byte","kilobyte","megabyte","gigabyte"];e.getBasis=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),t<1024?t+" "+i.default[o[e]]:this.getBasis(Math.round(t/1024),e+1)};var r,s=13;function a(t){return{extension:t.name.split(".").pop()||"none",mime:t.file?t.file.type:""}}function l(t,e){switch(t){case"jpg":case"jpeg":case"gif":case"png":case"bmp":case"tiff":case"pcx":case"svg":case"ico":return r.image;case"avi":case"mpg":case"mpeg":case"rm":case"move":case"mov":case"mkv":case"flv":case"f4v":case"mp4":case"3gp":case"wmv":case"webm":case"vob":return r.video;case"rar":case"zip":case"tar":case"tgz":case"arj":case"gzip":case"bzip2":case"7z":case"ace":case"apk":case"deb":case"zipx":case"cab":case"tar-gz":case"rpm":case"xar":return r.archive;case"xlr":case"xls":case"xlsm":case"xlsx":case"ods":case"csv":case"tsv":return r.table;case"doc":case"docx":case"docm":case"dot":case"dotx":case"odt":case"wpd":case"wps":case"pages":return r.document;case"wav":case"aiff":case"au":case"mp3":case"aac":case"wma":case"ogg":case"flac":case"ape":case"wv":case"m4a":case"mid":case"midi":return r.audio;case"pot":case"potm":case"potx":case"pps":case"ppsm":case"ppsx":case"ppt":case"pptx":case"pptm":case"odp":return r.presentation;case"html":case"htm":case"eml":return r.web;case"exe":return r.application;case"dmg":return r.apple;case"pdf":case"ps":case"eps":return r.pdf;case"psd":return r.psd;case"txt":case"djvu":case"nfo":case"xml":return r.text;default:switch(e.split("/")[0]){case"image":return r.image;case"audio":return r.audio;case"video":return r.video;default:return r.other}}}e.truncateWord=function(t,e){var n,i;if(void 0===e&&(e=s),t.length<=e)return t;var o=t.lastIndexOf(".");if(-1===o)i=t.substr(t.length-4),n=t.substr(0,e-7);else{var r=o-3;i=t.substr(r),n=t.substr(0,e-(t.length-r))}return n+"..."+i},e.calculateCover=function(t){var e,n,i,o,r=t.width,s=t.height,a=r/s;return a>1?(e=s,i=(r-(n=s))/2,o=0):a<1?(n=r,i=0,o=(s-(e=r))/2):(e=r,n=r,i=0,o=0),{sx:i,sy:o,sWidth:n,sHeight:e,dx:0,dy:0}},function(t){t.image="image",t.video="video",t.archive="archive",t.table="table",t.document="document",t.presentation="presentation",t.application="application",t.web="web",t.apple="apple",t.pdf="pdf",t.psd="psd",t.audio="audio",t.other="other",t.text="text"}(r=e.FileType||(e.FileType={})),e.getFileType=l,e.getFileClassName=function(t){var e=a(t),n=e.mime,i=e.extension;return l(i,n)+" extension-"+i},e.isImage=function(t){var e=a(t),n=e.mime;return l(e.extension,n)===r.image}},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=n(0),r=n(3),s=n(30),a=n(17),l=function(t){function e(e,n){var i=t.call(this,null,n)||this;i.events=e,i._progress=0;return i.mount(null,o.create({render:function(){return i._draw()}})),i._abortUpload=function(){i.events.fire(a.ProgressBarEvents.cancel)},i}return i(e,t),e.prototype.setState=function(t,e){this._progress=t,this.config.template?this._progressText=this.config.template(t,e):this._progressText=this._progress.toFixed(1)+"%",this.paint()},e.prototype._draw=function(){return o.el(".progress-bar",{_key:this._uid},[o.el(".progress-indicator",{style:{width:this._progress+"%"}}),o.el(".progress-text",{".innerHTML":this._progressText}),o.el("button",{class:"dhx_btn dhx_btn--flat dhx_btn_small action-abort-all",onclick:this._abortUpload},s.default.cancel)])},e}(r.View);e.ProgressBar=l},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t){this._readerStack=[],this._isActive=!1,this._data=t}return t.prototype.add=function(t,e){void 0===e&&(e=!1),this._readerStack.push(t),e||this.read()},t.prototype.read=function(){var t=this;if(this._readerStack.length&&!this._isActive){var e=this._readerStack.shift();this._isActive=!0;var n=new FileReader;n.readAsDataURL(e.file),n.onload=function(n){var i=new Image;i.src=n.target.result,i.onload=function(){t._data.exists(e.id)&&t._data.update(e.id,{image:i}),t._isActive=!1,t.read()}},n.onerror=function(){t._isActive=!1,t.read()}}},t.prototype.stop=function(){this._readerStack=[]},t}();e.ReadStackPreview=i},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o,r=n(23),s=n(0),a=n(9),l=n(8),c=n(2),u=n(5),d=n(6);!function(t){t.change="change"}(o=e.TimeInputEvents||(e.TimeInputEvents={}));var h=function(t){function e(e,n){var i=t.call(this,null,n)||this;i.events=new c.EventSystem,i._popup=new l.Popup({css:"dhx_widget--border-shadow"}),i.timepicker=new r.Timepicker(null,n),i._popup.attach(i.timepicker);return i.mount(e,s.create({render:function(){return i._draw()}})),i.timepicker.events.on(r.TimepickerEvents.change,function(){i.config.value=i.timepicker.getValue(),i.validate()}),i.timepicker.events.on(r.TimepickerEvents.close,function(){i._popup.hide()}),i.timepicker.events.on(r.TimepickerEvents.save,function(){i._popup.hide()}),i.events.on(o.change,function(t){i.config.value=i._inputValidate(t),i.validate()}),i}return i(e,t),e.prototype.validate=function(){var t=!this.config.required||Boolean(this.config.value);return this.config.$validationStatus=t?u.ValidationStatus.success:u.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=u.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.timepicker.setValue(t),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.clear=function(){12===this.config.timeFormat?this.timepicker.setValue("12:00AM"):this.timepicker.setValue("00:00"),this.config.value=""},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onchange:function(e){var n=e.target.value;t.events.fire(o.change,[n])},onkeyup:function(e){13===e.keyCode&&(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur())}}},e.prototype._inputValidate=function(t){var e=this.config.timeFormat;return d.isTimeFormat(t,e)?(this.timepicker.setValue(t),t):""},e.prototype._draw=function(){var t=this.config,e=t.value,n=t.required,i=t.disabled,o=t.placeholder,r=t.name,a=t.id,l=t.validation,c=t.editing,u=void 0!==c&&c;return s.el("div.dhx_form-group",{class:d.getFormItemCss(this.config,Boolean(n)||Boolean(l))},[this._drawLabel(),s.el(".dhx_input-wrapper.dxi.dxi-clock-outline",[s.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:e,type:"text",_ref:"input",required:n,disabled:i,placeholder:o||"",name:r||"",id:a||this._uid,onfocus:this._handlers.onfocus,onchange:this._handlers.onchange,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!u})]),d.getValidationMessage(this.config)&&s.el("span.dhx_input-caption",{},d.getValidationMessage(this.config))])},e}(a.Label);e.TimeInput=h},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var o,r=n(45),s=n(2),a=n(0),l=n(9),c=n(8),u=n(5),d=n(6);!function(t){t.change="change"}(o=e.ColorpickerInputEvents||(e.ColorpickerInputEvents={}));var h=function(t){function e(e,n){var i=t.call(this,null,n)||this;i.events=new s.EventSystem,i._popup=new c.Popup({css:"dhx_widget--border-shadow"}),i.colorpicker=new r.Colorpicker(null,n),i._popup.attach(i.colorpicker);return i.mount(e,a.create({render:function(){return i._draw()}})),i.colorpicker.events.on(r.ColorpickerEvents.colorChange,function(){i.config.value=i.colorpicker.getValue(),i._popup.hide(),i.validate()}),i.events.on(o.change,function(t){var e=i._inputValidate(t);i.setValue(e),i.validate()}),i}return i(e,t),e.prototype.validate=function(){var t=!this.config.required||Boolean(this.config.value);return this.config.$validationStatus=t?u.ValidationStatus.success:u.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=u.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.config.value=t,this.colorpicker.setValue(t),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.clear=function(){this.config.value="",this.paint()},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onchange:function(e){var n=e.target.value;t.events.fire(o.change,[n])},onkeyup:function(e){13===e.keyCode&&(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur())}}},e.prototype._inputValidate=function(t){return r.isHex(t)?t:""},e.prototype._draw=function(){var t=this.config,e=t.required,n=t.value,i=t.icon,o=t.disabled,r=t.placeholder,s=t.name,l=t.id,c=t.editing,u=void 0!==c&&c;return a.el("div.dhx_form-group",{class:d.getFormItemCss(this.config,Boolean(e)||Boolean(this.config.validation))},[this._drawLabel(),a.el(".dhx_input-wrapper",[a.el(".dhx_input__icon",{class:i||"dxi dxi-eyedropper-variant"+(n?" dhx_input__icon--color-selected":""),style:{"background-color":n||"transparent"}}),a.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:n,type:"text",_ref:"input",required:e,disabled:o,placeholder:r||"",name:s||"",id:l||this._uid,onfocus:this._handlers.onfocus,onchange:this._handlers.onchange,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!u})]),d.getValidationMessage(this.config)&&a.el("span.dhx_input-caption",{},d.getValidationMessage(this.config))])},e}(l.Label);e.ColorpickerInput=h},function(t,e,n){}])}),window.dhx_legacy){if(window.dhx)for(var key in dhx)dhx_legacy[key]=dhx[key];window.dhx=dhx_legacy,delete window.dhx_legacy} \ No newline at end of file +t.exports=function(){"use strict";var t=1,e=2,i=3,n=4,o=5,r="undefined"!=typeof window,s=(r?window:{}).requestAnimationFrame,a={};function l(){}var c=Array.isArray;function u(t){return null!=t}function d(t){return null!=t&&t.constructor===Object}function h(t,e,i,n){t.splice.apply(t,[i,n].concat(e))}function f(t){var e=typeof t;return"string"===e||"number"===e}function p(t){return"function"==typeof t}function _(t){for(var e=arguments,i=1;i0&&i[n-1].type===e?(i[n-1].body+=o.body,i.splice(n--,1)):H(o,t,n,null):H(o,t,n,null))}}(t)}}var F={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,order:!0,lineClamp:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};function B(t,e){return isNaN(e)||F[t]?e:e+"px"}function R(t,e){var i=(t.attrs||a).style,n=e?(e.attrs||a).style:null;if(null==i||f(i))t.el.style.cssText=i;else{for(var o in i){var r=i[o];(null==n||null!=r&&r!==n[o])&&(t.el.style[o]=B(o,r))}if(n)for(var s in n)null==i[s]&&(t.el.style[s]="")}}var N=[];function z(t,e,i,n,o){if(null!=t){var r=i.hooks[e];if(r){if("d"!==e[0]||"i"!==e[1]||"d"!==e[2])return r(i,n);o?k(i.parent)&&r(i,n):N.push([r,i,n])}}}function $(t){var e;if(N.length)for(k(t.node);e=N.shift();)e[0](e[1],e[2])}var U=r?document:null;function W(t){return t.nextSibling}function Y(t,e,i){var n=e._node,o=n.vm;if(c(n.body))if((n.flags&P)===P)for(var r=0;r>1]===t)return i;e[i]0&&(n[r]=o[e-1]),o[e]=r)}}for(e=o.length,i=o[e-1];e-- >0;)o[e]=i,i=n[i];return o}(r).map(function(t){return r[t]}),c=0;cu&&(y=null,_=!1):w=!0,u>100&&w&&++x%10==0))for(;k1){var r=1;d(n[1])&&(i=n[1],r=2),e=o===r+1&&(f(n[r])||c(n[r])||i&&(i._flags&j)===j)?n[r]:v(n,r)}return L(t,i,e)}return S.patch=function(t,e){!function(t,e,i){if(null!=e.type){if(null!=t.vm)return;H(e,t.parent,t.idx,null),t.parent.body[t.idx]=e,xt(e,t),i&&k(e),$(D(e))}else{var n=Object.create(t);n.attrs=_({},t.attrs);var o=_(t.attrs,e);if(null!=t._class){var r=o.class;o.class=null!=r&&""!==r?t._class+" "+r:t._class}st(t,n),i&&k(t)}}(this,t,e)},kt.emit=function(t){var e=this,i=e,n=v(arguments,1).concat(i,i.data);do{var o=e.onemit,r=o?o[t]:null;if(r){r.apply(e,n);break}}while(e=e.parent());Z[t]&&Z[t].apply(e,n)},kt.onemit=null,kt.body=function(){return function t(e,i){var n=e.body;if(c(n))for(var o=0;o=o&&t<=r&&s(t)}),this.config.disabledDates&&this._linkedCalendar.config.disabledDates||(this.config.disabledDates=function(t){if(r)return t>r},this._linkedCalendar.config.disabledDates=function(t){if(o)return t=t&&r<=i&&d()}},d=function(){return u.DateHelper.isSameDay(e._selected[0],e._selected[1])?null:"dhx_calendar-day--in-range"};h.config.$rangeMark=l}if(i&&n&&s.push("dhx_calendar-day--weekend"),n||(h.config.thisMonthOnly?(a++,s.push("dhx_calendar-day--hidden")):s.push("dhx_calendar-day--muffled")),h.config.mark){var f=h.config.mark(r);f&&s.push(f)}h.config.$rangeMark&&((l=h.config.$rangeMark(r))&&s.push(l));o&&(i?s.push("dhx_calendar-day--weekend-disabled"):s.push("dhx_calendar-day--disabled")),h._selected.forEach(function(t,i){if(t&&u.DateHelper.isSameDay(t,r)){var n="dhx_calendar-day--selected";e.config.range&&(n+=" dhx_calendar-day--selected-"+(0===i?"first ":"last")),s.push(n)}}),c.push({date:r,day:r.getDate(),css:s.join(" ")}),r=u.DateHelper.addDay(r)},h=this;l--;)d();n.push({weekNumber:s,days:c,disabledWeekNumber:7===a})}return n},e.prototype._drawCalendar=function(){for(var t,e=this._currentDate,i=this.config,n=i.weekStart,r=i.thisMonthOnly,a=i.css,l=i.timePicker,c=i.width,u=("monday"===n?f.default.daysShort.slice(1).concat([f.default.daysShort[0]]):f.default.daysShort).map(function(t){return s.el(".dhx_calendar-weekday",t)}),d=[],h=[],p=0,_=this._getData(e);p<_.length;p++){var v=_[p],g=v.days.map(function(t){return s.el("div.dhx_calendar-day",{class:t.css,_date:t.date,tabIndex:1},t.day)});!this.config.weekNumbers||v.disabledWeekNumber&&r||h.push(s.el("div",{class:"dhx_calendar-week-number"},v.weekNumber)),d=d.concat(g)}this.config.weekNumbers&&(t=s.el(".dhx_calendar__week-numbers",h));var m="dhx_calendar dhx_widget"+(a?" "+a:"")+(l?" dhx_calendar--with_timepicker":"")+(this.config.weekNumbers?" dhx_calendar--with_week-numbers":"");return s.el("div",o({class:m,style:{width:this.config.weekNumbers?"calc("+c+" + 48px )":c}},this._handlers),[s.el(".dhx_calendar__wrapper",[this._drawHeader(s.el("button.dhx_calendar-action__show-month.dhx_button.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle",f.default.months[e.getMonth()]+" "+e.getFullYear())),this.config.weekNumbers&&s.el(".dhx_calendar__dates-wrapper",[s.el(".dhx_calendar__weekdays",u),s.el(".dhx_calendar__days",d),t]),!this.config.weekNumbers&&s.el(".dhx_calendar__weekdays",u),!this.config.weekNumbers&&s.el(".dhx_calendar__days",d),l?s.el(".dhx_timepicker__actions",[s.el("button.dhx_calendar__timepicker-button.dhx_button.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--width_full.dhx_button--circle.dhx_calendar-action__show-timepicker",[s.el("span.dhx_button__icon.dxi.dxi-clock-outline"),s.el("span.dhx_button__text",this._time)])]):null])])},e.prototype._drawMonthSelector=function(){var t=this._currentDate,e=t.getMonth(),i=this._getSelected()?this._getSelected().getFullYear():null,n=this.config,r=n.css,a=n.timePicker,l=n.weekNumbers,c=n.width,u=n.mode,d="dhx_calendar dhx_widget"+(r?" "+r:"")+(a?" dhx_calendar--with_timepicker":"")+(l?" dhx_calendar--with_week-numbers":"");return s.el("div",o({class:d,style:{width:l?"calc("+c+" + 48px)":c}},this._handlers),[s.el(".dhx_calendar__wrapper",[this._drawHeader(s.el("button.dhx_calendar-action__show-year.dhx_button.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle",t.getFullYear())),s.el(".dhx_calendar__months",f.default.monthsShort.map(function(n,o){return s.el("div",{class:"dhx_calendar-month"+(e===o&&i===t.getFullYear()?" dhx_calendar-month--selected":""),tabIndex:1,_date:o},n)})),u!==p.ViewMode.months?s.el(".dhx_calendar__actions",[s.el("button.dhx_button.dhx_button--color_primary.dhx_button--view_link.dhx_button--size_small.dhx_button--width_full.dhx_button--circle.dhx_calendar-action__cancel",f.default.cancel)]):null])])},e.prototype._drawYearSelector=function(){var t=this,e=this._currentDate,i=u.DateHelper.getTwelweYears(e),n=this.config,r=n.css,a=n.timePicker,l=n.weekNumbers,c=n.width,d=n.mode,h="dhx_calendar dhx_widget"+(r?" "+r:"")+(a?" dhx_calendar--with_timepicker":"")+(l?" dhx_calendar--with_week-numbers":"");return s.el("div",o({class:h,style:{width:l?"calc("+c+" + 48px)":c}},this._handlers),[s.el(".dhx_calendar__wrapper",[this._drawHeader(s.el("button.dhx_button.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle",i[0]+"-"+i[i.length-1])),s.el(".dhx_calendar__years",i.map(function(e){return s.el("div",{class:"dhx_calendar-year"+(t._getSelected()&&e===t._getSelected().getFullYear()?" dhx_calendar-year--selected":""),_date:e,tabIndex:1},e)})),d!==p.ViewMode.years&&d!==p.ViewMode.months?s.el(".dhx_calendar__actions",[s.el("button.dhx_button.dhx_button--color_primary.dhx_button--view_link.dhx_button--size_small.dhx_button--width_full.dhx_button--circle.dhx_calendar-action__cancel",f.default.cancel)]):null])])},e.prototype._drawHeader=function(t){return s.el(".dhx_calendar__navigation",[s.el("button.dhx_calendar-navigation__button.dhx_calendar-action__prev"+h.linkButtonClasses+".dhx_button--icon.dhx_button--circle",[s.el(".dhx_button__icon.dxi.dxi-chevron-left")]),t,s.el("button.dhx_calendar-navigation__button.dhx_calendar-action__next"+h.linkButtonClasses+".dhx_button--icon.dhx_button--circle",[s.el(".dhx_button__icon.dxi.dxi-chevron-right")])])},e.prototype._drawTimepicker=function(){var t=this.config,e=t.css,i=t.weekNumbers,n=t.width;return s.el(".dhx_widget.dhx-calendar",{class:e?" "+e:"",style:{width:i?"calc("+n+" + 48px)":n}},[s.inject(this._timepicker.getRootView())])},e}(l.View);e.Calendar=_},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;it._hoursSlider.config.max||(12===t.config.timeFormat?(t._time.isAM=e<12,t._time.h=e%12||12):t._time.h=e,t.events.fire(f.TimepickerEvents.change,[t.getValue()]),t._inputsView.paint())}),this._minutesSlider.events.on(u.SliderEvents.change,function(e){et._minutesSlider.config.max||(t._time.m=e,t.events.fire(f.TimepickerEvents.change,[t.getValue()]),t._inputsView.paint())})},e.prototype._draw=function(){return s.el(".dhx_timepicker-inputs",o({},this._handlers),[s.el("input.dhx_timepicker-input.dhx_timepicker-input--hour",{_key:"hour",value:this._time.h<10?"0"+this._time.h:this._time.h}),s.el("span.dhx_timepicker-delimer",":"),s.el("input.dhx_timepicker-input.dhx_timepicker-input--minutes",{_key:"minute",value:this._time.m<10?"0"+this._time.m:this._time.m}),12===this.config.timeFormat?s.el(".dhx_timepicker-ampm",this._time.isAM?"AM":"PM"):null])},e}(l.View);function _(t,e){return isNaN(t)?0:Math.min(e,Math.max(0,t))}e.Timepicker=p},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(2),r=i(0),s=i(1),a=i(21),l=i(3),c=i(7),u=i(34);function d(t,e,i){return ti?i:t}var h=function(t){function e(e,i){var n=t.call(this,e,o.extend({mode:u.Direction.horizontal,min:0,max:100,step:1,thumbLabel:!0},i))||this;n._disabled=!1,n.config.helpMessage=n.config.helpMessage||n.config.help,n.events=new s.EventSystem(n),n._axis=n.config.mode===u.Direction.horizontal?"clientX":"clientY",n._initStartPosition(),n._initHotkeys();var a=r.create({render:function(){return n._draw()},hooks:{didMount:function(){return n._calcSliderPosition()},didRedraw:function(){return n._calcSliderPosition()}}});return n._initHandlers(),n.mount(e,a),n}return n(e,t),e.prototype.disable=function(){this._disabled=!0,this.paint()},e.prototype.enable=function(){this._disabled=!1,this.paint()},e.prototype.isDisabled=function(){return this._disabled},e.prototype.focus=function(t){this.getRootView().refs[t?"extraRunner":"runner"].el.focus()},e.prototype.getValue=function(){var t;if(this.config.range){var e=this._getValue(this._currentPosition),i=this._getValue(this._extraCurrentPosition);t=e1){var i=this._getValue(this._extraCurrentPosition);this._setValue(t[0],!1),this.events.fire(u.SliderEvents.change,[t[0],e,!1]),this._setValue(t[1],!0),this.events.fire(u.SliderEvents.change,[t[1],i,!0])}else{if(t=parseFloat(t),isNaN(t))throw new Error("Wrong value type, for more info check documentation https://docs.dhtmlx.com/suite/slider__api__slider_setvalue_method.html");this._setValue(t),this.events.fire(u.SliderEvents.change,[t,e,!1])}this.paint()},e.prototype.destructor=function(){this._hotkeysDestructor(),this.unmount()},e.prototype._calcSliderPosition=function(){var t=this.getRootView();if(t){var e=t.refs.track.el.getBoundingClientRect();this._offsets={left:e.left+window.pageXOffset,top:e.top+window.pageYOffset},this._length=this.config.mode===u.Direction.horizontal?e.width:e.height}},e.prototype._initHotkeys=function(){var t=this;this._hotkeysDestructor=a.addHotkeys({arrowleft:function(e){t.config.mode!==u.Direction.vertical&&(e.preventDefault(),t._move(-t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowright:function(e){t.config.mode!==u.Direction.vertical&&(e.preventDefault(),t._move(t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowup:function(e){t.config.mode!==u.Direction.horizontal&&(e.preventDefault(),t._move(t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))},arrowdown:function(e){t.config.mode!==u.Direction.horizontal&&(e.preventDefault(),t._move(-t.config.step,e.target.classList.contains("dhx_slider__thumb--extra")))}},function(){var e=document.activeElement,i=t.getRootView().refs;if(!i)return!1;var n=i.runner;return!(!n||n.el!==e)||!(!t.config.range||!i.extraRunner||i.extraRunner.el!==e)})},e.prototype._move=function(t,e){this.config.inverse&&(t=-t);var i=this.config,n=i.max,o=i.min,r=e?this._getValue(this._extraCurrentPosition):this._getValue(this._currentPosition),s=r+t;this._setValue(r+t,e),(s>n||s=o/2?o:0;return+(Number(i)+Number(r)-s+a).toFixed(5)},e.prototype._setValue=function(t,e){void 0===e&&(e=!1);var i=this.config,n=i.max,o=i.min;if(t>n||tt._currentPosition?t._possibleRange=[t._currentPosition,100]:t._possibleRange=[0,t._currentPosition],t._findNewDirection=null}t._inSide(i)&&t._updatePosition(i,t._isExtraActive),t.paint()},i=function(n){t.events.fire(u.SliderEvents.mouseup,[n]),setTimeout(function(){t._isMouseMoving=!1,t.paint()},4),document.removeEventListener("mouseup",i),document.removeEventListener("mousemove",e)};this.config.helpMessage&&(this._helper=new c.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.helpMessage)),this._handlers={showHelper:function(e){e.preventDefault(),e.stopPropagation(),t._helper.show(e.target)},onmousedown:function(n){if(!t._disabled&&3!==n.which){var o;if(t.events.fire(u.SliderEvents.mousedown,[n]),t._isMouseMoving=!0,n.target.classList.contains("dhx_slider__thumb--extra")?(t._isExtraActive=!0,o=t._extraCurrentPosition):(t._isExtraActive=!1,o=t._currentPosition),t._findNewDirection=null,t.config.range){var r=t._currentPosition>t._extraCurrentPosition?[t._currentPosition,t._extraCurrentPosition]:[t._extraCurrentPosition,t._currentPosition],s=r[0],a=r[1];t._currentPosition===t._extraCurrentPosition?(t._findNewDirection=o,t._possibleRange=[0,100]):t._possibleRange=oe[1])||(this._updatePosition(e[1],this._isExtraActive),!1)},e.prototype._updatePosition=function(t,e){void 0===e&&(e=!1),t>100&&(t=100),t<0&&(t=0);var i=this.config,n=i.max,o=i.min,r=e?this._extraCurrentPosition:this._currentPosition,s=this._getValue(r),a=this._getValue(t);if(s!==a){var l=(a-o)/(n-o)*100,c=this._isInverse()?100-l:l;e?this._extraCurrentPosition=c:this._currentPosition=c,this.events.fire(u.SliderEvents.change,[a,s,e])}},e.prototype._getRunnerStyle=function(t){var e;void 0===t&&(t=!1);var i=this.config.mode===u.Direction.horizontal?"left":"top",n=t?this._extraCurrentPosition:this._currentPosition;return(e={})[i]=n+"%",e},e.prototype._isInverse=function(){return this.config.inverse&&this.config.mode===u.Direction.horizontal||!this.config.inverse&&this.config.mode===u.Direction.vertical},e.prototype._getRunnerCss=function(t){return void 0===t&&(t=!1),"dhx_slider__thumb"+(t?" dhx_slider__thumb--extra":"")+(this._isMouseMoving&&(t&&this._isExtraActive||!t&&!this._isExtraActive)?" dhx_slider__thumb--active":"")+(this._disabled?" dhx_slider__thumb--disabled":"")+(this._isNullable(t?this._extraCurrentPosition:this._currentPosition)&&!this.config.range?" dhx_slider__thumb--nullable":"")},e.prototype._draw=function(){var t=this.config.labelInline&&this.config.labelWidth?this.config.labelWidth:"";return r.el("div",{class:"dhx_slider dhx_slider--mode_"+this.config.mode+(this.config.label&&this.config.labelInline?" dhx_slider--label-inline":"")+(this.config.hiddenLabel?" dhx_slider--label_sr":"")+(this.config.tick?" dhx_slider--ticks":"")+(this.config.majorTick?" dhx_slider--major-ticks":"")+(this.config.css?" "+this.config.css:"")},[this.config.label?r.el("label.dhx_label.dhx_slider__label",{style:{minWidth:t,maxWidth:t},class:this.config.helpMessage?"dhx_label--with-help":"",onclick:this._handlers.onlabelClick},this.config.helpMessage?[r.el("span.dhx_label__holder",this.config.label),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:this.config.label):null,this._drawSlider()])},e.prototype._drawSlider=function(){return r.el(".dhx_widget.dhx_slider__track-holder",{dhx_widget_id:this._uid},[r.el(".dhx_slider__track",{_ref:"track",onmouseover:this._handlers.onmouseover,onmouseout:this._handlers.onmouseout,onclick:this._handlers.onclick},[this._getDetector(),r.el("div",{_ref:"runner",class:this._getRunnerCss(),onmousedown:this._handlers.onmousedown,onmousemove:this._handlers.onmousemove,onfocus:this._handlers.onfocus,onblur:this._handlers.onblur,style:this._getRunnerStyle(),tabindex:0}),this.config.thumbLabel&&(this._mouseIn||this._focusIn||this._isMouseMoving)?this._drawThumbLabel():null,this.config.thumbLabel&&this.config.range&&(this._mouseIn||this._focusIn||this._isMouseMoving)?this._drawThumbLabel(!0):null,this.config.range?r.el("div",{_ref:"extraRunner",class:this._getRunnerCss(!0),onmousedown:this._handlers.onmousedown,onmousemove:this._handlers.onmousemove,onfocus:this._handlers.onfocus,onblur:this._handlers.onblur,style:this._getRunnerStyle(!0),tabindex:0}):null]),this.config.tick?this._drawTicks():null])},e.prototype._getDetector=function(){var t,e,i;if(this._disabled)return r.el(".dhx_slider__range");var n=this.config.mode===u.Direction.horizontal?"left":"top",o=this.config.mode===u.Direction.horizontal?"width":"height";if(this.config.range){var s=this._currentPosition>this._extraCurrentPosition?[this._currentPosition,this._extraCurrentPosition]:[this._extraCurrentPosition,this._currentPosition],a=s[0],l=s[1];return r.el(".dhx_slider__range",{style:(t={},t[n]=l+"%",t[o]=a-l+"%",t)})}return this._isInverse()?r.el(".dhx_slider__range",{style:(e={},e[n]=this._currentPosition+"%",e[o]=100-this._currentPosition+"%",e)}):r.el(".dhx_slider__range",{style:(i={},i[n]=0,i[o]=this._currentPosition+"%",i)})},e.prototype._drawThumbLabel=function(t){var e;void 0===t&&(t=!1);var i=t?this._extraCurrentPosition:this._currentPosition,n=this.config.mode===u.Direction.horizontal?"left":"top",o=this.config.mode===u.Direction.horizontal?".dhx_slider__thumb-label--horizontal":".dhx_slider__thumb-label--vertical";(t&&this._isExtraActive||!t&&!this._isExtraActive)&&(o+=".dhx_slider__thumb-label--active");var s=((e={})[n]=i+"%",e);return r.el(".dhx_slider__thumb-label"+o,{style:s},this._getValue(i))},e.prototype._getTicks=function(){for(var t=this.config,e=t.max,i=t.min,n=t.step,o=t.tick,r=t.majorTick,s=e-i,a=n*o/s,l=[],c=0,u=0;c<1;){var d=+(Number(i)+c*s).toFixed(5),h=u%r==0;l.push({position:(this._isInverse()?100*(1-c):100*c)+"%",isMultiple:h,label:h&&"function"==typeof this.config.tickTemplate?this.config.tickTemplate(d):null}),c+=a,u++}return l.push({position:(this._isInverse()?0:100)+"%",isMultiple:!0,label:"function"==typeof this.config.tickTemplate?this.config.tickTemplate(e):null}),l},e.prototype._drawTicks=function(){var t=this.config.mode===u.Direction.horizontal?"left":"top";return r.el(".dhx_slider__ticks-holder",this._getTicks().map(function(e){var i;return r.el("div",{class:"dhx_slider__tick"+(e.isMultiple?" dhx_slider__tick--major":""),style:(i={},i[t]=e.position,i)},void 0!==e.label?[r.el(".dhx_slider__tick-label",e.label)]:null)}))},e.prototype._isNullable=function(t){return this._isInverse()?100===t:0===t},e}(l.View);e.Slider=h},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i'+t.text+"\n\t\t"+(t.icon?'':"");var c=t.node?n.toNode(t.node):document.body;"static"===getComputedStyle(c).position&&(c.style.position="relative");var u=s.get(c);u?u[t.position]||(u[t.position]={stack:[],container:l(c,t.position)}):s.set(c,((e={})[t.position]={stack:[],container:l(c,t.position)},e));var d=s.get(c)[t.position],h=d.stack,f=d.container;if(0===h.length&&c.appendChild(f),h.push(i),f.appendChild(i),t.expire){var p=setTimeout(function(){return a(i)},t.expire);r.set(i,p)}i.onclick=function(){return a(i,!0)}}},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(41),o=i(42);e.alert=function(e){var i=e.buttons&&e.buttons[0]?e.buttons[0]:n.default.apply,r=o.blockScreen(e.blockerCss);return new t(function(t){var n=document.createElement("div");n.className="dhx_widget dhx_alert "+(e.css||""),n.innerHTML="\n\t\t\t"+(e.header?'
    '+e.header+"
    ":"")+"\n\t\t\t"+(e.text?'
    '+e.text+"
    ":"")+'\n\t\t\t",document.body.appendChild(n),n.querySelector(".dhx_alert__apply-button").focus(),n.querySelector("button").addEventListener("click",function(){r(),document.body.removeChild(n),t(!0)})})}}).call(this,i(9))},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(41),o=i(42);e.confirm=function(e){var i=e.buttons&&e.buttons[0]?e.buttons[0]:n.default.apply,r=e.buttons&&e.buttons[1]?e.buttons[1]:n.default.reject,s=o.blockScreen(e.blockerCss);return new t(function(t){var n=document.createElement("div");n.className="dhx_widget dhx_alert dhx_alert--confirm"+(e.css?" "+e.css:""),n.innerHTML="\n\t\t"+(e.header?'
    '+e.header+"
    ":"")+"\n\t\t"+(e.text?'
    '+e.text+"
    ":"")+'\n\t\t\t",document.body.appendChild(n),n.querySelector(".dhx_alert__confirm-reject").focus();var o=function(e){"BUTTON"===e.target.tagName&&function(e){s(),n.removeEventListener("click",o),document.body.removeChild(n),t(e)}(e.target.classList.contains("dhx_alert__confirm-aply"))};n.addEventListener("click",o)})}}).call(this,i(9))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(23),o=i(0),r=i(24);e.getPicker=function(t,e,i){var s=n.HSVtoRGB(e.hsv);e.background=n.RGBToHex(s);var a=n.RGBToHex(n.HSVtoRGB({h:e.hsv.h,s:1,v:1})),l=t.getRootView(),c=l.refs?l.refs.picker_palette.el.getBoundingClientRect():{height:200,width:218,x:0,y:0},u=c.height-2,d=c.width-2,h=u-e.hsv.v*u-4,f=e.hsv.s*d-4,p=c.width-6,_=p-(360-e.hsv.h)/360*p,v=e.customHex?e.customHex.replace("#",""):e.background.replace("#","");return o.el(".dhx_colorpicker-picker",{},[o.el(".dhx_colorpicker-picker__palette",{style:{height:132,background:a},onmousedown:i.mousedown,dhx_id:"picker_palette",_ref:"picker_palette"},[o.el(".dhx_palette_grip",{style:{top:h,left:f}})]),o.el(".dhx_colorpicker-hue-range",{style:{height:16},onmousedown:i.mousedown,dhx_id:"hue_range",_key:"hue_range",_ref:"hue_range"},[o.el(".dhx_colorpicker-hue-range__grip",{style:{left:_}})]),o.el(".dhx_colorpicker-value",[o.el(".dhx_colorpicker-value__color",{style:{background:e.background}}),o.el(".dhx_colorpicker-value__input__wrapper",[o.el("input",{class:"dhx_colorpicker-value__input",value:v,oninput:i.oninput,maxlength:"7",_key:"hex_input"})])]),o.el(".dhx_colorpicker-picker__buttons",[!t.config.pickerOnly&&o.el("button",{class:"dhx_button dhx_button--size_medium dhx_button--view_link dhx_button--color_primary",onclick:[i.buttonsClick,"cancel"]},r.default.cancel),o.el("button",{class:"dhx_button dhx_button--size_medium dhx_button--view_flat dhx_button--color_primary",onclick:[i.buttonsClick,"apply"]},r.default.select)])])},e.calculatePaletteGrip=function(t,e,i){var n=t.refs.picker_palette.el.getBoundingClientRect(),o=n.height,r=n.width;e=e<0?0:e>o?o:e,i=i<0?0:i>r?r:i;var s=Math.round(i/(r/100)),a=100-Math.round(e/(o/100));this._pickerState.hsv.s=s/100,this._pickerState.hsv.v=a/100}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.calculatePaletteGrip=function(t,e,i){var n=t.height,o=t.width;return e=e<0?0:e>n?n:e,i=i<0?0:i>o?o:i,{s:Math.round(i/(o/100))/100,v:(100-Math.round(e/(n/100)))/100}},e.calculateRangeGrip=function(t,e){var i=t.width;return e=e<0?0:e>i?i:e,{h:Math.round(e/i*360),rangeLeft:e}}},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(31),r=i(1),s=i(0),a=i(10),l=i(7),c=i(6),u=i(5),d=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=new r.EventSystem,n._initView(i);return n.mount(e,s.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.validate=function(){var t,e=this.config,i=e.required,n=e.value;return t=e.validation?this.config.validation(n):!i||Boolean(n),this.config.$validationStatus=t?c.ValidationStatus.success:c.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=c.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.calendar.setValue(t),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.clear=function(){this.config.value="",this.paint()},e.prototype.getWidget=function(){return this.calendar},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!u.isEmptyObj(t)){for(var i in this.calendar&&this.calendar.destructor(),this._popup&&this._popup.destructor(),this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1,editable:!1,value:""},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.config.editable=this.config.editable||this.config.editing,this._popup=new l.Popup({css:"dhx_widget--border-shadow"}),this.calendar=new o.Calendar(null,t),this._popup.attach(this.calendar),this.config.value&&(this.calendar.setValue(this.config.value),this.config.value=this.calendar.getValue()),this.calendar.events.on(o.CalendarEvents.change,function(){e.config.value=e.calendar.getValue(),e._popup.hide(),e.validate()}),this.events.on(c.BaseElementEvent.change,function(t){e.config.value=e._inputValidate(t),e._inputValidate(t)?e.calendar.setValue(t):e.validate()}),this.events.fire(c.BaseElementEvent.configUpdate,[this.config]),this.clearValidate()}},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onchange:function(e){var i=e.target.value;t.events.fire(c.BaseElementEvent.change,[i])},onkeyup:function(e){13===e.keyCode&&(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur())}}},e.prototype._inputValidate=function(t){var e=this.calendar.config.dateFormat;return o.stringToDate(t,e,!0)?t:""},e.prototype._draw=function(){var t=this.config,e=t.value,i=t.icon,n=t.required,o=t.disabled,r=t.placeholder,a=t.name,l=t.id,c=t.validation,d=t.editable;return s.el("div.dhx_form-group",{class:u.getFormItemCss(this.config,Boolean(n)||Boolean(c))},[this._drawLabel(),s.el(".dhx_input__wrapper",[s.el("div.dhx_input__container",{},[s.el(".dhx_input__icon",{class:i||"dxi dxi-calendar-today"}),s.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:e,type:"text",_ref:"input",required:n,disabled:o,placeholder:r||"",name:a||"",id:l||this._uid,onfocus:this._handlers.onfocus,onchange:this._handlers.onchange,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!d})]),u.getValidationMessage(this.config)&&s.el("span.dhx_input__caption",{},u.getValidationMessage(this.config))])])},e}(a.Label);e.DateInput=d},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o,r=i(0),s=i(3),a=i(1);!function(t){t.click="click"}(o=e.ButtonEvents||(e.ButtonEvents={}));var l=function(t){function e(e,i){void 0===i&&(i={});var n=t.call(this,e,i)||this;n.events=new a.EventSystem,n._handlers={onclick:function(t){return n.events.fire(o.click,[t])}},n.config.disabled=n.config.disabled||!1;return n.mount(e,r.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.setValue=function(t){this.config.value=t,this.paint()},e.prototype._draw=function(){var t=this.config,e=t.color,i=t.size,n=t.view,o=t.full,s=t.loading,a=t.circle,l=t.icon,c=t.value,u=t.disabled,d=t.submit,h=t.id,f={danger:" dhx_button--color_danger",secondary:" dhx_button--color_secondary",primary:" dhx_button--color_primary",success:" dhx_button--color_success"}[e]||" dhx_button--color_primary",p={small:" dhx_button--size_small",medium:" dhx_button--size_medium"}[i]||" dhx_button--size_medium",_={flat:" dhx_button--view_flat",link:" dhx_button--view_link"}[n]||" dhx_button--view_flat",v=o?" dhx_button--width_full":"",g=a?" dhx_button--circle":"",m=s?" dhx_button--loading":"",y=l&&!c?" dhx_button--icon":"";return r.el("button",{disabled:u,id:h,onclick:this._handlers.onclick,type:d?"submit":"button",class:"dhx_button"+f+p+_+v+g+m+y},[l&&r.el("span.dhx_button__icon",{class:l}),c&&r.el("span.dhx_button__text",c),s&&r.el("span.dhx_button__loading",[r.el("span.dhx_button__loading-icon.dxi.dxi-loading")])])},e}(s.View);e.Button=l},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(1),s=i(3),a=i(5),l=i(7),c=i(6),u=function(t){function e(e,i){void 0===i&&(i={});var n=t.call(this,e,i)||this;n._initView(i);return n.mount(e,o.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.clear=function(){this.config.checked=!1,this.paint()},e.prototype.clearValidate=function(){this.config.$validationStatus=c.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.events.fire(c.BaseElementEvent.change,[t]),this.config.checked=t,this.paint()},e.prototype.getValue=function(){return this.config.checked||!1},e.prototype.setConfig=function(t){this._initView(t)},e.prototype.validate=function(){var t=!this.config.required||this.config.checked;return this.config.$validationStatus=t?c.ValidationStatus.success:c.ValidationStatus.error,this.paint(),t},e.prototype._initView=function(t){var e=this;if(!a.isEmptyObj(t)){for(var i in this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.config.helpMessage=this.config.helpMessage||this.config.help,this.events=new r.EventSystem,this._handlers={showHelper:function(t){t.preventDefault(),t.stopPropagation(),e._helper.show(t.target)},cancelUnusefulClick:function(t){t.preventDefault()},onchange:function(t){e.config.checked=t.target.checked,e.events.fire(c.BaseElementEvent.change,[t.target.checked]),e.validate()}},this.events.on(c.BaseElementEvent.change,function(t){e.config.checked=t}),this.events.fire(c.BaseElementEvent.configUpdate,[this.config]),this.clearValidate()}},e.prototype._draw=function(){this.config.helpMessage&&(this._helper?this._helper.attachHTML(this.config.helpMessage):(this._helper=new l.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.helpMessage)));var t=this.config,e=t.id,i=t.value,n=t.label,r=t.checked,s=t.disabled,c=t.name,u=t.helpMessage,d=t.labelWidth,h=t.labelInline,f=t.required,p=t.hidden?" dhx_form-group--hidden":"";return o.el("label.dhx_checkbox.dhx_form-group",{class:a.getFormItemCss(this.config,Boolean(f))+p,style:{"margin-left":d&&h?"calc("+d+" + 16px)":""}},[o.el("input.dhx_checkbox__input",{type:"checkbox",id:e,value:i||"",name:c||"",disabled:s,checked:r,onchange:this._handlers.onchange,required:f}),o.el("span.dhx_checkbox__visual-input"),o.el("span.dhx_label",{class:u?"dhx_label--with-help":""},u?[o.el("span.dhx_label__holder",n),o.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:n),a.getValidationMessage(this.config)&&o.el("span.dhx_input-caption",{onclick:this._handlers.cancelUnusefulClick},a.getValidationMessage(this.config))])},e}(s.View);e.Checkbox=u},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(2),s=i(13),a=i(1),l=i(3),c=i(83),u=i(5),d=i(6),h=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=new a.EventSystem,n._buttons=[],n._initView(i);return n.mount(e,o.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.validate=function(){var t=this,e=!1;return this._buttons.map(function(i){t.config.required&&!i.config.checked||(e=!0)}),this._buttons.map(function(t){t.config.$validationStatus=e?d.ValidationStatus.success:d.ValidationStatus.error}),this.config.$validationStatus=e?d.ValidationStatus.success:d.ValidationStatus.error,this.paint(),e},e.prototype.clearValidate=function(){this.config.$validationStatus=d.ValidationStatus.pre,this._buttons.map(function(t){t.clearValidate()}),this.paint()},e.prototype.clear=function(){this._buttons.map(function(t){t.clear()}),this.paint()},e.prototype.getValue=function(){var t=this;return this._buttons.map(function(e){e.getValue()&&(t.config.value=e.getValue()||"")}),this.config.value||""},e.prototype.setValue=function(t){this._buttons.map(function(e){t===e.config.value?e.setValue(!0):e.setValue(!1)}),this.events.fire(d.BaseElementEvent.change),this.paint()},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!u.isEmptyObj(t)&&!u.isEmptyObj(t.options)){for(var i in this.layout&&this.layout.destructor(),0!==this._buttons.length&&(this._buttons.map(function(t){t.destructor()}),this._buttons=[]),this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1,options:{}},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);var n=this.config.options.rows||this.config.options.cols,o=this.config,a=o.preMessage,l=o.errorMessage,h=o.successMessage;n.map(function(t){t.id=t.id||r.uid()}),this.layout=new s.Layout(null,this.config.options),n.map(function(i){var n=new c.RadioButton(null,i);n.config.disabled=t.disabled,n.config.name=t.name,n.config.required=t.required,n.config.css=t.css,(a||l||h)&&(n.config.preMessage="",n.config.errorMessage="",n.config.successMessage=""),e._buttons.push(n),e.layout.getCell(i.id).attach(n),n.events.on(c.RadioButtonEvents.change,function(){e._buttons.map(function(t){t.config.id!==n.config.id&&t.setValue(!1)}),e.events.fire(d.BaseElementEvent.change,[]),e.validate()})}),this.events.fire(d.BaseElementEvent.configUpdate,[this.config]),this.clearValidate()}},e.prototype._draw=function(){var t=this._buttons[0].config,e=t.labelWidth,i=t.labelInline,n=this.config.hidden?" dhx_form-group--hidden":"";return o.el("div.dhx_form-group",{class:u.getFormItemCss(this.config,Boolean(this.config.required))+n},[o.el("div.dhx_radio-group--container",{},[o.inject(this.layout.getRootView())]),o.el("div.dhx_caption--container",{style:{"margin-left":e&&i?"calc("+e+" + 16px)":""}},[o.el("span.dhx_input__caption",u.getValidationMessage(this.config))])])},e}(l.View);e.RadioGroup=h},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o,r=i(0),s=i(1),a=i(3),l=i(5),c=i(7),u=i(6);!function(t){t.change="change"}(o=e.RadioButtonEvents||(e.RadioButtonEvents={}));var d=function(t){function e(e,i){void 0===i&&(i={});var n=t.call(this,e,i)||this;n.config.helpMessage=n.config.helpMessage||n.config.help,n.config.helpMessage&&(n._helper=new c.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),n._helper.attachHTML(n.config.helpMessage)),n._handlers={showHelper:function(t){t.preventDefault(),t.stopPropagation(),n._helper.show(t.target)},cancelUnusefulClick:function(t){t.preventDefault()},onchange:function(t){n.config.checked=t.target.checked,n.events.fire(o.change,[t.target.checked])}},n.events=new s.EventSystem;return n.mount(e,r.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.clearValidate=function(){this.config.$validationStatus=u.ValidationStatus.pre,this.paint()},e.prototype.clear=function(){this.config.checked=!1,this.paint()},e.prototype.getValue=function(){if(this.config.checked)return this.config.value},e.prototype.setValue=function(t){this.config.checked=t,this.paint()},e.prototype.destructor=function(){this._helper.destructor(),this.events.clear(),this.unmount()},e.prototype._draw=function(){var t=this.config,e=t.id,i=t.value,n=t.label,o=t.checked,s=t.disabled,a=t.name,c=t.helpMessage,u=t.labelWidth,d=t.labelInline,h=t.required;return r.el("label.dhx_radiobutton.dhx_form-group",{class:l.getFormItemCss(this.config,Boolean(h)),style:{"margin-left":u&&d?"calc("+u+" + 16px)":""}},[r.el("input.dhx_radiobutton__input",{type:"radio",id:e,value:i||"",name:a||"",disabled:s,checked:o,onchange:this._handlers.onchange,required:h}),r.el("span.dhx_radiobutton__visual-input"),r.el("span.dhx_label",{class:c?"dhx_label--with-help":""},c?[r.el("span.dhx_label__holder",n),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:n),r.el("span.dhx_input__caption",{onclick:this._handlers.cancelUnusefulClick},l.getValidationMessage(this.config))])},e}(a.View);e.RadioButton=d},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(10),s=i(5),a=i(1),l=i(6),c=function(t){function e(e,i){var n=t.call(this,null,i)||this;return n.events=new a.EventSystem,n._initView(i),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.validate=function(){var t,e=this.config,i=e.required,n=e.value;return t=e.validation?this.config.validation(n):!i||Boolean(n),this.config.$validationStatus=t?l.ValidationStatus.success:l.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=l.ValidationStatus.pre,this.paint()},e.prototype.clear=function(){this.config.value=this.config.options[0].value,this.paint()},e.prototype.setValue=function(t){this.config.value=t,this.events.fire(l.BaseElementEvent.change,[t]),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){if(!s.isEmptyObj(t)){for(var e in this.config={type:this.config.type,id:this.config.id,name:this.config.name,options:t.options,disabled:!1,value:t.options[0].value},t)"id"!==e&&"type"!==e&&"name"!==e&&(this.config[e]=t[e]);this.events.fire(l.BaseElementEvent.configUpdate,[this.config]),this.paint()}},e.prototype._getHandlers=function(){var t=this;return{onchange:function(e){var i=e.target.value;t.config.value=i,t.events.fire(l.BaseElementEvent.change,[i]),t.validate()}}},e.prototype._draw=function(){var t=this.config,e=t.id,i=t.options,n=t.icon,r=t.required,a=t.value,l=t.validation;return o.el(".dhx_form-group",{class:s.getFormItemCss(this.config,Boolean(r)||Boolean(l))},[this._drawLabel(),o.el(".dhx_input__wrapper",{},[o.el("div.dhx_input__container",{},[o.el(".dhx_input__icon",{class:n||"dxi dxi-menu-down"}),o.el("select",{id:e,class:"dhx_select dhx_input",onchange:this._handlers.onchange},i&&i.map(function(t){return o.el("option",{value:t.value,disabled:t.disabled,selected:t.selected||a===t.value},t.content)}))]),s.getValidationMessage(this.config)&&o.el("span.dhx_input__caption",s.getValidationMessage(this.config))])])},e}(r.Label);e.Select=c},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(5),s=i(27),a=i(2),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype._draw=function(){var t=this.config,e=t.id,i=t.value,n=t.disabled,s=t.name,l=t.placeholder,c=t.required,u=t.resizable,d=t.readOnly,h=t.validation;return o.el("div.dhx_form-group.dhx_form-group--textarea",{class:r.getFormItemCss(this.config,Boolean(c)||Boolean(h))},[this._drawLabel(),o.el(".dhx_input__wrapper",[o.el("textarea.dhx_input.dhx_input--textarea",{type:"text",id:e,placeholder:l||"",value:a.isDefined(i)?i:"",name:s||"",disabled:n,required:c,readOnly:d,onblur:this._handlers.onblur,oninput:this._handlers.oninput,style:{resize:u?"both":"none"}}),r.getValidationMessage(this.config)&&o.el("span.dhx_input__caption",{},r.getValidationMessage(this.config))])])},e}(s.Input);e.Textarea=l},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(2),s=i(5),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype._draw=function(){var t=this.config,e=t.id,i=t.value;return o.el("div.dhx_form-group.dhx_form-group--textinput",{class:s.getFormItemCss(this.config)},[this._drawLabel(),o.el(".dhx_input__wrapper",[o.el("input.dhx_input.dhx_input--textinput",{type:"text",readOnly:!0,id:e,value:r.isDefined(i)?i:"",name:name||""})])])},e}(i(27).Input);e.Text=a},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(5),s=i(88),a=i(1),l=i(10),c=i(6),u=function(t){function e(e,i){var n=t.call(this,null,i)||this;return n.events=new a.EventSystem,n._initView(i),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.combobox.disable(),this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.combobox.enable(),this.paint()},e.prototype.clear=function(){this.combobox.clear(),this.paint()},e.prototype.getValue=function(){return this.config.multiselection?this.combobox.getValue(!0):this.combobox.getValue()||""},e.prototype.setValue=function(t){t&&this.combobox.setValue(t),this.paint()},e.prototype.validate=function(){var t=this.combobox.getValue(),e=this.config,i=e.validation,n=e.required;if(i){var o=this.config.validation(t);return this.config.$validationStatus=o?c.ValidationStatus.success:c.ValidationStatus.error,this._validationStatus(),this.paint(),o}return n?(this.config.$validationStatus=Boolean(t)?c.ValidationStatus.success:c.ValidationStatus.error,this._validationStatus(),this.paint(),Boolean(t)):(this.paint(),!0)},e.prototype.clearValidate=function(){this.config.$validationStatus=c.ValidationStatus.pre,this._validationStatus(),this.paint()},e.prototype.getWidget=function(){return this.combobox},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!r.isEmptyObj(t)){this.combobox&&this.combobox.destructor(),this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1,value:""};var i={};for(var n in t)"id"!==n&&"type"!==n&&"name"!==n&&(this.config[n]=t[n],"validation"!==n&&(i[n]=t[n]));this.combobox=new s.Combobox(null,i),this.combobox.events.on(s.ComboboxEvents.change,function(t){e.events.fire(c.BaseElementEvent.change,[t])}),this.events.fire(c.BaseElementEvent.configUpdate,[this.config]),this.setValue(this.config.value),this.events.on(c.BaseElementEvent.change,function(t){"load"!==t&&e.validate()}),this.clearValidate()}},e.prototype._validationStatus=function(){switch(this.config.$validationStatus){case c.ValidationStatus.pre:this.combobox.config.css=this.config.css||"";break;case c.ValidationStatus.success:this.combobox.config.css=(this.config.css||"")+"dhx_form-group--state_success";break;case c.ValidationStatus.error:this.combobox.config.css=(this.config.css||"")+"dhx_form-group--state_error";break;default:this.combobox.config.css=this.config.css||""}},e.prototype._getRootView=function(){return this.combobox.paint(),this.combobox.getRootView()},e.prototype._draw=function(){var t=this.config,e=t.labelWidth,i=t.labelInline,n=t.$validationStatus;t.disabled;return o.el(".dhx_form-group",{},[o.inject(this._getRootView()),o.el("div",{style:{"margin-left":e&&i?"calc("+e+" + 16px)":""},class:1===n?"dhx_form-group--state_error":2===n?"dhx_form-group--state_success":""},[o.el("span.dhx_input__caption",r.getValidationMessage(this.config))])])},e}(l.Label);e.Combo=u},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(89)),n(i(50))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(2),r=i(0),s=i(1),a=i(4),l=i(90),c=i(3),u=i(8),d=i(13),h=i(99),f=i(7),p=i(104),_=i(49),v=i(105),g=i(50),m=function(t){return t.icon?' '+t.value+"":t.src?' '+t.value+"":''+t.value+""},y=function(t){function e(e,i){var n=t.call(this,e,o.extend({template:m,listHeight:224,itemHeight:32,disabled:!1},i))||this;n.config.helpMessage=n.config.helpMessage||n.config.help,n.config.cellHeight&&32===n.config.itemHeight&&(n.config.itemHeight=n.config.cellHeight),Array.isArray(n.config.data)?(n.events=new s.EventSystem(n),n.data=new u.DataCollection({},n.events),n.data.parse(n.config.data)):n.config.data?(n.data=n.config.data,n.events=n.data.events,n.events.context=n):(n.events=new s.EventSystem(n),n.data=new u.DataCollection({},n.events)),n.popup=new f.Popup,n.popup.events.on(f.PopupEvents.afterShow,function(){n.paint()}),n.popup.events.on(f.PopupEvents.afterHide,function(){n.config.multiselection&&(n._state.value=""),n.paint()}),n.popup.events.on(f.PopupEvents.beforeHide,function(t){t&&n.events.fire(g.ComboboxEvents.close)}),n.config.readonly&&(n._keyListener=new p.KeyListener),n._state={value:"",ignoreNext:!1,canDelete:!1,unselectActive:!1,currentState:g.ComboState.default},n._initHandlers(),n._createLayout(),n._initEvents();var a=r.create({render:function(){return n._draw()},hooks:{didRedraw:function(){n.popup.isVisible()&&(n.focus(),n._configurePopup())}}});return n.mount(e,a),n}return n(e,t),e.prototype.focus=function(){if(this.config.disabled)return!1;this.getRootView().refs.input.el.focus()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.isDisabled=function(){return this.config.disabled},e.prototype.clear=function(){if(this.config.disabled)return!1;this.list.selection.remove(),this._state.value="",this._filter(),this.paint()},e.prototype.getValue=function(t){var e=this.list.selection.getId();return t?o.wrapBox(e):Array.isArray(e)?e.join(","):e},e.prototype.setValue=function(t){var e=this;if(this.config.disabled)return!1;if(this._filter(),this.list.selection.remove(),this._state.value="",this.config.multiselection)"string"==typeof t&&(t=t.split(",")),t.forEach(function(t){return e.list.selection.add(t)});else{var i=o.unwrapBox(t);this.list.selection.add(i);var n=this.data.getItem(i);n&&(this._state.value=this._getItemText(n))}this.paint()},e.prototype.destructor=function(){this.popup.destructor(),this.events.clear(),this.list.destructor(),this._layout.config=null,this._layout.destructor(),this.unmount()},e.prototype.setState=function(t){switch(t){case"success":this._state.currentState=g.ComboState.success;break;case"error":this._state.currentState=g.ComboState.error;break;default:this._state.currentState=g.ComboState.default}this.paint()},e.prototype._createLayout=function(){var t=this,e=this.list=new h.List(null,{template:this.config.template,virtual:this.config.virtual,keyNavigation:function(){return t.popup.isVisible()},multiselection:this.config.multiselection,itemHeight:this.config.itemHeight,height:this.config.listHeight,data:this.data}),i=this._layout=new d.Layout(this.popup.getContainer(),{css:"dhx_combobox-options dhx_combobox__options",rows:[{id:"select-unselect-all",hidden:!this.config.multiselection||!this.config.selectAllButton},{id:"list",css:"dhx_layout-cell--gravity"},{id:"not-found",hidden:!0}],on:{click:{".dhx_combobox__action-select-all":this._handlers.selectAll}}});i.getCell("list").attach(e),this.config.multiselection&&this.config.selectAllButton&&i.getCell("select-unselect-all").attach(v.selectAllView)},e.prototype._initHandlers=function(){var t=this;this.config.helpMessage&&(this._helper=new f.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.helpMessage)),this._handlers={showHelper:function(e){e.preventDefault(),e.stopPropagation(),t._helper.show(e.target)},selectAll:function(){t.list.selection.remove(),t._state.unselectActive?(t.data.filter(),t.list.selection.getId().forEach(function(e){t.list.selection.remove(e)}),t.config.selectAllButton&&(t._layout.getCell("select-unselect-all").attach(v.selectAllView),t._state.unselectActive=!1)):(t.data.filter(),t.list.selection.add(),t.config.selectAllButton&&(t._layout.getCell("select-unselect-all").attach(v.unselectAllView),t._state.unselectActive=!0)),t.paint()},onkeydown:function(e){var i;(t.popup.isVisible()||e.which!==l.KEY_CODES.DOWN_ARROW||t._showOptions(),t.popup.isVisible()&&e.which===l.KEY_CODES.RIGHT_ARROW)&&(t.config.readonly&&!t.config.multiselection&&(i=t.list.getFocusIndex())>=0&&i<=t.data.getLength()&&(e.preventDefault(),t.list.setFocusIndex(i+1)));t.popup.isVisible()&&e.which===l.KEY_CODES.LEFT_ARROW&&(t.config.readonly&&!t.config.multiselection&&(i=t.list.getFocusIndex())>=0&&i<=t.data.getLength()&&(e.preventDefault(),t.list.setFocusIndex(i-1)));t.popup.isVisible()&&e.which===l.KEY_CODES.ESC&&t._hideOptions(),t.popup.isVisible()&&e.which===l.KEY_CODES.ENTER&&t.setValue(t.list.data.getId(t.list.getFocusIndex()))},onkeyup:function(e){if(t.config.multiselection&&!t.config.showItemsCount)if(t._state.ignoreNext)t._state.ignoreNext=!1;else if(e.which===l.KEY_CODES.BACKSPACE&&t._state.canDelete&&t.list.selection.getId().length){var i=t.list.selection.getId(),n=i[i.length-1];t.list.selection.remove(n),t.paint(),t.paint()}},oninput:function(e){if(!t.config.disabled){var i=e.target.value;t.events.fire(g.ComboboxEvents.input,[i]),t._state.value=i,t._filter(),i.length?t._state.canDelete=!1:(t._state.ignoreNext=!0,t._state.canDelete=!0),t.config.multiselection||(t.list.selection.remove(),t.paint()),t.popup.isVisible()||t._showOptions()}},oninputclick:function(e){if(!t.config.disabled){if(t.focus(),e.target.classList.contains("dhx_combobox__action-remove")){var i=a.locate(e);if(!i)return;return t.list.selection.remove(i),void t.paint()}if(e.target.classList.contains("dhx_combobox__action-clear-all"))return t.list.selection.getId().forEach(function(e){return t.list.selection.remove(e)}),t.config.selectAllButton&&t._state.unselectActive&&(t._layout.getCell("select-unselect-all").attach(v.selectAllView),t._state.unselectActive=!1),void t.paint();e.preventDefault(),t.popup.isVisible()?t.focus():t._showOptions()}},toggleIcon:function(){t.focus(),t.popup.isVisible()?t._hideOptions():t._showOptions()}}},e.prototype._initEvents=function(){var t=this;this.list.events.on(h.ListEvents.click,function(){t.config.multiselection||t._hideOptions()}),this.data.events.on(u.DataEvents.change,function(e,i,n){n&&n.hasOwnProperty("$selected")&&t._updateSelectedItem(e)}),this.config.readonly&&this.popup.events.on(f.PopupEvents.afterShow,function(){if(t._state.value){var e=t.list.selection.getId();t.list.setFocus(e)}else t.list.setFocus(t.data.getId(0));t._keyListener.startNewListen(function(e){return t._findBest(e)})})},e.prototype._showOptions=function(){this._state.value.length&&(this._state.canDelete=!0),this._filter(),this._configurePopup()&&this.events.fire(g.ComboboxEvents.open)},e.prototype._configurePopup=function(){var t=this.getRootView();if(!t||!t.refs||!t.refs.holder)return!1;if(!this.popup.isVisible()){var e=t.refs.holder.el;this.popup.getContainer().style.width=e.offsetWidth+"px",this.popup.show(e,{mode:a.Position.bottom})}return!0},e.prototype._hideOptions=function(){this.config.readonly&&this._keyListener.endListen(),this.list.setFocus(this.data.getId(0)),this.config.multiselection||this.config.readonly||this.list.selection.contains()||(this._state.value=""),this.popup.hide(),this.paint(),this.events.fire(g.ComboboxEvents.close)},e.prototype._filter=function(){var t=this;if(!this.config.readonly){if(this.data.filter(function(e){return t.config.filter?t.config.filter(e,t._state.value):o.isEqualString(t._state.value,t._getItemText(e))}),this.config.multiselection)this.list.setFocus(this.data.getId(0));else{var e=this.data.getIndex(this.list.selection.getId());this.list.setFocus(this.data.getId(e>-1?e:0))}0===this.data.getLength()?(this.config.multiselection&&this.config.selectAllButton&&this._layout.getCell("select-unselect-all").hide(),this._layout.getCell("list").hide(),this._layout.getCell("not-found").attach(v.emptyListView),this._layout.getCell("not-found").show()):(this.config.multiselection&&this.config.selectAllButton&&this._layout.getCell("select-unselect-all").show(),this._layout.getCell("not-found").isVisible()&&(this._layout.getCell("list").show(),this._layout.getCell("not-found").hide()))}},e.prototype._findBest=function(t){var e=this,i=this.data.find(function(i){return o.isEqualString(t,e._getItemText(i))});i&&this.list.selection.getId()!==i.id&&(this.list.setFocus(i.id),this.list.selection.add(i.id),this.paint())},e.prototype._draw=function(){var t=this.config.multiselection?null:this.data.getItem(this.list.selection.getId()),e=!this.list.selection.getId()||0===this.list.selection.getId().length,i=this.config.labelInline&&this.config.labelWidth?this.config.labelWidth:"",n=this.config.required;return r.el(".dhx_widget.dhx_combobox"+(this.config.labelInline?".dhx_combobox--label-inline":"")+(this.config.hiddenLabel?".dhx_combobox--sr_only":"")+(this.config.required?".dhx_combobox--required":"")+(this.config.css?"."+this.config.css:""),{dhx_widget_id:this._uid,onkeydown:this._handlers.onkeydown,onkeyup:this._handlers.onkeyup},[this.config.label?r.el("label.dhx_label.dhx_combobox__label",{style:{minWidth:i,maxWidth:i},class:this.config.helpMessage?"dhx_label--with-help":"",onclick:this._handlers.oninputclick},this.config.helpMessage?[r.el("span.dhx_label__holder",this.config.label),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:this.config.label):null,r.el("div.dhx_combobox-input-box"+(this.config.disabled?".dhx_combobox-input-box--disabled":"")+(this.config.readonly?".dhx_combobox-input-box--readonly":"")+(this._state.currentState===g.ComboState.error?".dhx_combobox-input-box--state_error":"")+(this._state.currentState===g.ComboState.success?".dhx_combobox-input-box--state_success":""),{_ref:"holder"},[r.el("div.dhx_combobox-input__icon",{onclick:this._handlers.toggleIcon},[r.el("span"+(this.popup.isVisible()?".dxi.dxi-menu-up":".dxi.dxi-menu-down"))]),r.el("div.dhx_combobox-input-list-wrapper",{onclick:this._handlers.oninputclick},[r.el("ul.dhx_combobox-input-list",this._drawSelectedItems().concat([r.el("li.dhx_combobox-input-list__item.dhx_combobox-input-list__item--input",[r.el("input.dhx_combobox-input",{oninput:this._handlers.oninput,_ref:"input",_key:this._uid,type:"text",placeHolder:e&&this.config.placeholder?this.config.placeholder:void 0,value:this.config.readonly&&t?this._getItemText(t):this._state.value,readOnly:this.config.readonly||this.config.disabled,required:n})])]))])])])},e.prototype._drawSelectedItems=function(){var t=this;if(!this.config.multiselection)return[];if(this.config.showItemsCount){var e=this.list.selection.getId().length;return e?[r.el("li.dhx_combobox-input-list__item.dhx_combobox-tag",[r.el("span.dhx_combobox-tag__value",function(t,e){return"function"==typeof e?e(t):t+" "+_.default.selectedItems}(e,this.config.showItemsCount)),r.el("button.dhx_button.dhx_combobox-tag__action.dhx_combobox__action-clear-all",[r.el("span.dhx_button__icon.dxi.dxi-close-circle")])])]:[]}return this.list.selection.getId().map(function(e){var i=t.data.getItem(e);return i?r.el("li.dhx_combobox-input-list__item.dhx_combobox-tag",{dhx_id:e},[t._drawImageOrIcon(i),r.el("span.dhx_combobox-tag__value",t._getItemText(i)),r.el("button.dhx_button.dhx_button--icon.dhx_combobox-tag__action.dhx_combobox__action-remove",{type:"button"},[r.el("span.dhx_button__icon.dxi.dxi-close-circle")])]):null})},e.prototype._drawImageOrIcon=function(t){return t.src?r.el("img.dhx_combobox-tag__image",{src:t.src}):t.icon?r.el("span.dhx_combobox-tag__icon",{class:t.icon}):null},e.prototype._getItemText=function(t){return t?t.value:null},e.prototype._updateSelectedItem=function(t){if(this.config.multiselection)return this.data.getItem(t).$selected?this.config.selectAllButton&&!this._state.unselectActive&&this.data.getLength()===this.list.selection.getId().length&&(this._layout.getCell("select-unselect-all").attach(v.unselectAllView),this._state.unselectActive=!0):this.config.selectAllButton&&this._state.unselectActive&&(this._layout.getCell("select-unselect-all").attach(v.selectAllView),this._state.unselectActive=!1),this._state.value.length||(this._state.canDelete=!0),void this.paint();this._state.value=this._getItemText(this.data.getItem(t))||"",this.paint()},e}(c.View);e.Combobox=y},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KEY_CODES={BACKSPACE:8,ENTER:13,ESC:27,DOWN_ARROW:40,LEFT_ARROW:37,RIGHT_ARROW:39}},function(t,e,i){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var n=i(12),o=i(11),r=function(){function e(t,e){this._parent=t,this._changes=e}return e.prototype.load=function(t,e){var i=this;return this._parent.loadData=t.load().then(function(t){return i._parent.removeAll(),i.parse(t,e)}).catch(function(t){i._parent.events.fire(o.DataEvents.loadError,[t])})},e.prototype.parse=function(t,e){return void 0===e&&(e="json"),"json"!==e||n.hasJsonOrArrayStructure(t)||this._parent.events.fire(o.DataEvents.loadError,["Uncaught SyntaxError: Unexpected end of input"]),t=(e=n.toDataDriver(e)).toJsonArray(t),this._parent.$parse(t),t},e.prototype.save=function(e){for(var i=this,o=function(o){if(o.saving||o.pending)n.dhxWarning("item is saving");else{var s=r._findPrevState(o.id);if(s&&s.saving){var a=new t(function(t,r){s.promise.then(function(){o.pending=!1,t(i._setPromise(o,e))}).catch(function(t){i._removeFromOrder(s),i._setPromise(o,e),n.dhxWarning(t),r(t)})});r._addToChain(a),o.pending=!0}else r._setPromise(o,e)}},r=this,s=0,a=this._changes.order;s\n";for(var s in t)Array.isArray(t[s])?(i+=o(e+n)+"<"+s+">\n",i+=t[s].map(function(t){return r(t,e+2*n)}).join("\n")+"\n",i+=o(e+n)+"\n"):i+=o(e+n)+"<"+s+">"+t[s]+"\n";return i+=o(e)+""}e.jsonToXML=function(t,e){void 0===e&&(e="root");for(var i='\n<'+e+">",n=0;n"}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(12),o=function(){function t(){}return t.prototype.sort=function(t,e){var i=this;e.rule&&"function"==typeof e.rule?this._sort(t,e):e.by&&(e.rule=function(t,o){var r=i._checkVal(e.as,t[e.by]),s=i._checkVal(e.as,o[e.by]);return n.naturalCompare(r.toString(),s.toString())},this._sort(t,e))},t.prototype._checkVal=function(t,e){return t?t.call(this,e):e},t.prototype._sort=function(t,e){var i=this,n={asc:1,desc:-1};return t.sort(function(t,o){return e.rule.call(i,t,o)*(n[e.dir]||n.asc)})},t}();e.Sort=o},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(2),r=i(43),s=i(17),a=i(12),l=i(11);function c(t,e,i,n){void 0!==n&&-1!==n&&t[i]&&t[i][n]?t[i].splice(n,0,e):(t[i]||(t[i]=[]),t[i].push(e))}var u=function(t){function e(e,i){var n,r=t.call(this,e,i)||this,s=r._root="_ROOT_"+o.uid();return r._childs=((n={})[s]=[],n),r._initChilds=null,r}return n(e,t),e.prototype.add=function(e,i,n){var o=this;if(void 0===i&&(i=-1),void 0===n&&(n=this._root),"object"!=typeof e&&(e={value:e}),Array.isArray(e))return e.map(function(e,r){r>0&&-1!==i&&(i+=1),e.parent=e.parent?e.parent.toString():n;var s=t.prototype.add.call(o,e,i);if(Array.isArray(e.items))for(var a=0,l=e.items;a1?(this._selectedIds=e,this._itemsForGhost=i):(this._selectedIds=[],this._itemsForGhost=null),r&&s){var a=n.getBox(o),l=a.left,c=a.top;this._transferData.initXOffset=t.pageX-l,this._transferData.initYOffset=t.pageY-c,this._transferData.x=t.pageX,this._transferData.y=t.pageY,this._transferData.targetId=s,this._transferData.id=r,this._transferData.item=o}}},t.prototype._moveGhost=function(t,e){this._transferData.ghost&&(this._transferData.ghost.style.left=t-this._transferData.initXOffset+"px",this._transferData.ghost.style.top=e-this._transferData.initYOffset+"px")},t.prototype._removeGhost=function(){document.body.removeChild(this._transferData.ghost)},t.prototype._onDrop=function(){if(this._canMove){var t=o.collectionStore.getItem(this._lastCollectionId),e=t&&t.config;if(t&&e.dragMode!==r.DragMode.source){if(t.events.fire(r.DragEvents.beforeDrop,[this._lastId,this._transferData.target])){var i={id:this._lastId,target:t},n={id:this._transferData.id,target:this._transferData.target};this._move(n,i),i.target.events.fire(r.DragEvents.dropComplete,[i.id,this._transferData.dropPosition])}this._endDrop()}else this._endDrop()}else this._endDrop()},t.prototype._onDragStart=function(t,e){var i=o.collectionStore.getItem(e),n=i.config;if(n.dragMode===r.DragMode.target)return null;var s=i.data.getItem(t),a=function(t,e){var i=t.getBoundingClientRect(),n=document.createElement("div"),o=t.cloneNode(!0);return o.style.width=i.width+"px",o.style.height=i.height+"px",o.style.maxHeight=i.height+"px",o.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,o.style.opacity="0.8",o.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,n.appendChild(o),e&&e.length&&e.forEach(function(t,e){var o=t.cloneNode(!0);o.style.width=i.width+"px",o.style.height=i.height+"px",o.style.maxHeight=i.height+"px",o.style.top=12*(e+1)-i.height-i.height*e+"px",o.style.left=12*(e+1)+"px",o.style.opacity="0.6",o.style.zIndex=""+(-e-1),n.appendChild(o)}),n.className="dhx_drag-ghost",n}(this._transferData.item,this._itemsForGhost);return i.events.fire(r.DragEvents.beforeDrag,[s,a])&&t?(i.events.fire(r.DragEvents.dragStart,[t,this._selectedIds]),this._toggleTextSelection(!0),this._transferData.target=i,this._transferData.dragConfig=n,a):null},t.prototype._onDrag=function(t){var e=t.clientX,i=t.clientY,a=document.elementFromPoint(e,i),l=n.locate(a,"dhx_widget_id");if(l){var c=o.collectionStore.getItem(l),u=n.locate(a,"dhx_id");if(!u)return this._cancelCanDrop(),this._lastCollectionId=l,this._lastId=null,void this._canDrop();if(c.config.dropBehaviour===r.DropBehaviour.complex){var d=function(t){var e=t.clientY,i=n.locateNode(t);if(!i)return null;var o=i.childNodes[0].getBoundingClientRect();return(e-o.top)/o.height}(t);this._transferData.dropPosition=d<=.25?r.DropPosition.top:d>=.75?r.DropPosition.bot:r.DropPosition.in}else if(this._lastId===u&&this._lastCollectionId===l)return;var h={id:this._transferData.id,target:this._transferData.target};if("source"!==c.config.dragMode)if(h.target.events.fire(r.DragEvents.dragOut,[u,c]),l!==this._transferData.targetId||!s.isTreeCollection(h.target.data)||s.isTreeCollection(h.target.data)&&h.target.data.canCopy(h.id,u))this._cancelCanDrop(),this._lastId=u,this._lastCollectionId=l,h.target.events.fire(r.DragEvents.dragIn,[u,this._transferData.dropPosition,o.collectionStore.getItem(l)])&&this._canDrop();else this._cancelCanDrop()}else this._canMove&&this._cancelCanDrop()},t.prototype._move=function(t,e){var i=t.target.data,n=e.target.data,o=0,a=e.id;switch(s.isTreeCollection(n)?e.target.config.dropBehaviour:void 0){case r.DropBehaviour.child:break;case r.DropBehaviour.sibling:a=n.getParent(a),o=n.getIndex(e.id)+1;break;case r.DropBehaviour.complex:var l=this._transferData.dropPosition;l===r.DropPosition.top?(a=n.getParent(a),o=n.getIndex(e.id)):l===r.DropPosition.bot&&(a=n.getParent(a),o=n.getIndex(e.id)+1);break;default:o=e.id?t.target===e.target&&n.getIndex(t.id)1?this._selectedIds.map(function(t){i.copy(t,o,n,a),o>-1&&o++}):i.copy(t.id,o,n,a):this._selectedIds instanceof Array&&this._selectedIds.length>1?this._selectedIds.map(function(t){i.move(t,o,n,a),o>-1&&o++}):i.move(t.id,o,n,a)},t.prototype._endDrop=function(){this._toggleTextSelection(!1),this._transferData.target&&this._transferData.target.events.fire(r.DragEvents.dragEnd,[this._transferData.id,this._selectedIds]),this._cancelCanDrop(),this._canMove=!0,this._transferData={},this._lastId=null,this._lastCollectionId=null},t.prototype._cancelCanDrop=function(){this._canMove=!1;var t=o.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(r.DragEvents.cancelDrop,[this._lastId]),this._lastCollectionId=null,this._lastId=null},t.prototype._canDrop=function(){this._canMove=!0;var t=o.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(r.DragEvents.canDrop,[this._lastId,this._transferData.dropPosition])},t.prototype._toggleTextSelection=function(t){t?document.body.classList.add("dhx_no-select"):document.body.classList.remove("dhx_no-select")},t}(),l=window.dhxHelpers=window.dhxHelpers||{};l.dragManager=l.dragManager||new a,e.dragManager=l.dragManager},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){this._store={}}return t.prototype.setItem=function(t,e){this._store[t]=e},t.prototype.getItem=function(t){return this._store[t]?this._store[t]:null},t}(),o=window.dhxHelpers=window.dhxHelpers||{};o.collectionStore=o.collectionStore||new n,e.collectionStore=o.collectionStore},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),o=i(28),r=i(11),s=function(){function t(t,e,i){var o=this;this.events=i||new n.EventSystem(this),this._data=e,this._data.events.on(r.DataEvents.removeAll,function(){o._selected=null}),this._data.events.on(r.DataEvents.change,function(){if(o._selected){var t=o._data.getNearId(o._selected);t!==o._selected&&(o._selected=null,t&&o.add(t))}})}return t.prototype.getId=function(){return this._selected},t.prototype.getItem=function(){return this._selected?this._data.getItem(this._selected):null},t.prototype.remove=function(t){return!(t=t||this._selected)||!!this.events.fire(o.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=null,this.events.fire(o.SelectionEvents.afterUnSelect,[t]),!0)},t.prototype.add=function(t){this._selected!==t&&(this.remove(),this.events.fire(o.SelectionEvents.beforeSelect,[t])&&(this._selected=t,this._data.update(t,{$selected:!0}),this.events.fire(o.SelectionEvents.afterSelect,[t])))},t}();e.Selection=s},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(100)),n(i(48)),n(i(29))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ithis.data.getLength()-1)){this._focusIndex=t;var e=this.getRootView();if(e&&e.node&&e.node.el){var i=this.getRootNode();if(i){if(this.config.virtual){var n=t*v.defineValue(this.config.itemHeight);(n>=v.defineValue(this._visibleHeight)+this._topOffset||n=i.scrollTop+i.clientHeight-o.clientHeight?i.scrollTop=o.offsetTop-i.clientHeight+o.clientHeight:o.offsetTope-v.defineValue(this._visibleHeight)&&(t=e-v.defineValue(this._visibleHeight));var i=Math.floor(v.defineValue(this._visibleHeight)/v.defineValue(this.config.itemHeight))+5,n=Math.floor(t/v.defineValue(this.config.itemHeight));this._range=[n,i+n],this._topOffset=t,this.paint()},e.prototype._getHeight=function(){return this.data.getLength()*v.defineValue(this.config.itemHeight)},e.prototype._getHotkeys=function(){var t=this;if(this.config.keyNavigation)if(this._edited)this._navigationDestructor&&this._navigationDestructor();else{var e=this.config.keyNavigation;"function"!=typeof this.config.keyNavigation&&(this._widgetInFocus=!1,e=function(){return t._widgetInFocus},this._documentClickDestuctor=r.detectWidgetClick(this._uid,function(e){return t._widgetInFocus=e}));var i=function(t){return function(e){e.preventDefault(),t()}},n={arrowDown:i(function(){return t.setFocusIndex(t._focusIndex+1)}),arrowUp:i(function(){return t.setFocusIndex(t._focusIndex-1)}),enter:function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i),t.events.fire(p.ListEvents.click,[i,e])},"enter+shift":function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i,!1,!0),t.events.fire(p.ListEvents.click,[i,e])},"enter+ctrl":function(e){var i=t.data.getId(t._focusIndex);t.selection.add(i,!0,!1),t.events.fire(p.ListEvents.click,[i,e])}};f.isIE()&&(delete(n=o({up:n.arrowUp,down:n.arrowDown},n)).arrowUp,delete n.arrowDown),this._navigationDestructor=c.addHotkeys(n,e)}},e}(d.View);e.List=g},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(102);e.getEditor=function(t,e){return new n.InputEditor(t,e)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(29),r=function(){function t(t,e){var i=this;this._list=e,this._config=e.config,this._item=t,this._list.events.on(o.ListEvents.focusChange,function(t,e){i._mode&&e!==i._item.id&&i.endEdit()}),this._initHandlers()}return t.prototype.endEdit=function(){if(this._input){var t=this._input.value;this._list.events.fire(o.ListEvents.beforeEditEnd,[t,this._item.id])?(this._input.removeEventListener("blur",this._handlers.onBlur),this._input.removeEventListener("change",this._handlers.onChange),this._handlers={},this._mode=!1,this._list.events.fire(o.ListEvents.afterEditEnd,[t,this._item.id])):this._input.focus()}},t.prototype.toHTML=function(){this._mode=!0;var t=this._config.itemHeight;return n.el(".dhx_input__wrapper",{},[n.el("div.dhx_input__container",{},[n.el("input.dhx_input",{class:this._item.css?" "+this._item.css:"",style:{height:t,width:"100%",padding:"8px, 12px"},_hooks:{didInsert:this._handlers.didInsert},_key:this._item.id,dhx_id:this._item.id})])])},t.prototype._initHandlers=function(){var t=this;this._handlers={onBlur:function(){t.endEdit()},onChange:function(){t.endEdit()},didInsert:function(e){var i=e.el;t._input=i,i.focus(),i.value=t._item.value,i.setSelectionRange(0,i.value.length),i.addEventListener("change",t._handlers.onChange),i.addEventListener("blur",t._handlers.onBlur)}}},t}();e.InputEditor=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.defineValue=function(t){if(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return parseInt(e.split(/\D+/g)[0],null)}},e.defineUnit=function(t){if(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return e.slice(e.split(/\D+/g)[0].length)}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(){var t=this;this._sequence="",document.addEventListener("keydown",function(e){if(t._isActive){var i=e.key;"Backspace"===i&&t._sequence.length>0&&(t._sequence=t._sequence.slice(0,t._sequence.length-1),t._change()),i.length<2&&(t._sequence+=i,t._change())}})}return t.prototype.startNewListen=function(t){this._isActive=!0,this._sequence="",this._currentAction=t},t.prototype.endListen=function(){this._currentAction=null,this.reset(),this._isActive=!1},t.prototype.reset=function(){this._sequence=""},t.prototype._change=function(){this._currentAction(this._sequence),this._addClearTimeout()},t.prototype._addClearTimeout=function(){var t=this;this._clearTimeout&&clearTimeout(this._clearTimeout),this._clearTimeout=setTimeout(function(){t.reset(),t._clearTimeout=null},2e3)},t}();e.KeyListener=n},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(49);e.selectAllView=function(){return n.el(".dhx_list-item.dhx_combobox-options__item.dhx_combobox-options__item--select-all.dhx_combobox__action-select-all",o.default.selectAll)},e.unselectAllView=function(){return n.el(".dhx_list-item.dhx_combobox-options__item.dhx_combobox-options__item--select-all.dhx_combobox__action-select-all",o.default.unselectAll)},e.emptyListView=function(){return n.el("ul.dhx_list",[n.el("li.dhx_list-item.dhx_combobox-options__item",{},o.default.notFound)])}},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i0;return this.config.$validationStatus=t?p.ValidationStatus.success:p.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=p.ValidationStatus.pre,this.paint()},e.prototype.clear=function(){this.data.removeAll(),this.paint()},e.prototype.getValue=function(){return this.data.map(function(t){return t.file})||[]},e.prototype.getWidget=function(){return this._uploader},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!h.isEmptyObj(t)){for(var i in this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.config.helpMessage=this.config.helpMessage||this.config.help,this.events.on(p.BaseElementEvent.change,function(){e.validate(),e.paint()}),this.events.fire(p.BaseElementEvent.configUpdate,[this.config]),this.paint()}},e.prototype._draw=function(){var t=this;this.config.helpMessage&&(this._helper?this._helper.attachHTML(this.config.helpMessage):(this._helper=new d.Popup({css:"dhx_tooltip dhx_tooltip--forced dhx_tooltip--light"}),this._helper.attachHTML(this.config.helpMessage)));var e=this.data.getLength()?r.el("ul.dhx_simplevault__files.dhx_simplevault-files",{class:this.config.$vaultHeight?"":"dhx_simplevault-files__fixed"},this.data.map(function(e){return r.el("li.dhx_simplevault-files__item",[r.el("span.dhx_simplevault-files__item-name",e.file.name),r.el(".dhx_button.dhx_simplevault-files__delete.dhx_button--icon.dhx_button--view_link.dhx_button--size_small.dhx_button--color_secondary.dhx_button--circle",{dhx_id:e.id,onclick:t._handlers.remove},[r.el("span.dxi.dxi-delete-forever")])])})):null,i=this.config,n=i.id,o=i.labelInline,s=i.label,a=i.labelWidth,l=i.helpMessage,c=i.disabled,u=i.required,p=i.validation,_=o&&a?a:"";return r.el(".dhx_form-group.dhx_form-group--simplevault",{class:h.getFormItemCss(this.config,Boolean(u)||Boolean(p))},[r.el("label.dhx_label",{for:n||this._uid,style:{minWidth:_,maxWidth:_},class:l?"dhx_label--with-help":"",onclick:this._handlers.add},l?[r.el("span.dhx_label__holder",s),r.el("span.dhx_label-help.dxi.dxi-help-circle-outline",{tabindex:"0",role:"button",onclick:this._handlers.showHelper})]:s),r.el(".dhx_input__wrapper",[r.el("div",{_hooks:{didInsert:function(e){t._uploader.linkDropArea(e.el)}},ondragover:this._handlers.ondragover,class:"dhx_simplevault"+(this._dragover?" dhx_simplevault--on-drag":"")},[r.el("div.dhx_simplevault-loader",[r.el("span.dhx_simplevault__icon.dxi.dxi-vault")]),r.el(".dhx_simplevault__drop-area",[r.el("input.dhx_simplevault__input",{type:"file",id:n,disabled:c}),r.el("span.dhx_simplevault__icon.dxi.dxi-vault"),r.el("span.dhx_simplevault__title",[r.el("span",f.default.simpleVaultText),r.el("br"),r.el("label.dhx_simplevault__label",{onclick:this._handlers.add,for:n}," "+f.default.simpleVaultLabel)])]),e]),h.getValidationMessage(this.config)&&r.el("span.dhx_input__caption",{},h.getValidationMessage(this.config))])])},e}(l.View);e.SimpleVault=_},function(t,e,i){"use strict";function n(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}Object.defineProperty(e,"__esModule",{value:!0}),n(i(51)),n(i(109)),n(i(18))},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;ie.left+e.width-1||i.pageXe.top+e.height-1||i.pageY0?1:-1)*o.config.speed,i=o._getRefs().area,n=i.scrollHeight-o._runnerHeight,r=o._scrollTop+e;i.scrollTop=r<0?0:r>n?n:r,o._update()},i.onmousedownRunner=function(t){t.preventDefault();var e=o._getRefs(),i=e.area,n=e.runner,r=i.getBoundingClientRect(),s=r.top+window.pageYOffset,a=r.bottom+window.pageYOffset,l=i.scrollHeight-o._runnerHeight,c=t.pageY-n.getBoundingClientRect().top-window.pageYOffset,u=function(t){var e=t.pageY-c;i.scrollTop=e<=s?0:e>a?l:(e-s)/o._visibleArea,o._update()},d=function(){document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",d),document.body.classList.remove("dhx-no-select")};document.body.classList.add("dhx-no-select"),document.addEventListener("mousemove",u),document.addEventListener("mouseup",d)},i.onmousedownTrack=function(t){if(!t.target.classList.contains("scroll-runner")){t.preventDefault();var e=function(){document.removeEventListener("mouseup",e),window.clearInterval(l)},i=o._getRefs().area,n=t.target.getBoundingClientRect().top+window.pageYOffset,r=i.scrollHeight-o._runnerHeight,s=t.pageY,a=function(){var t;if(sn+o._runnerTop+o._runnerHeight))return;(t=o._scrollTop+i.clientHeight)>r&&(t=r)}i.scrollTop=t,o._update()};a();var l=setInterval(a,100);document.addEventListener("mouseup",e)}},i)}return t.prototype.render=function(t){var e,i=this;return 0===this._scrollWidth?t:o.el(".scroll-view-wrapper",{style:{width:"100%",height:"100%",overflow:"hidden",position:"relative"}},[o.el(".scroll-view",{onscroll:this._handlers.onscroll,_ref:"scroll-view",_hooks:{didInsert:function(){i._update()},didRecycle:function(){i._update()}},style:{height:"100%",width:"calc(100% + "+this._scrollWidth+"px)",overflowY:"scroll","-ms-overflow-style":"scrollbar"}},[t]),o.el(".y-scroll",(e={onmousedown:this._handlers.onmousedownTrack},e[this._wheelName]=this._handlers[this._wheelName],e.style={width:"10px",height:"100%",right:0,top:0,position:"absolute"},e),[o.el(".scroll-runner",{_ref:"scroll-runner",onmousedown:this._handlers.onmousedownRunner,style:{height:this._runnerHeight+"px",right:"2px",top:this._runnerTop,width:"6px",position:"absolute"}})])])},t.prototype._update=function(){var t=this._getRefs();if(t){var e=t.area,i=t.runner;this._visibleArea=e.clientHeight/e.scrollHeight,this._scrollTop=e.scrollTop,this._runnerTop=this._scrollTop*this._visibleArea,this._visibleArea<1?this._runnerHeight=e.clientHeight*this._visibleArea:this._runnerHeight=0,i.style.top=this._runnerTop+"px",i.style.height=this._runnerHeight+"px"}},t.prototype._getRefs=function(){var t=this._getRootView();if(t.refs&&t.refs["scroll-view"]&&t.refs["scroll-runner"])return{area:t.refs["scroll-view"].el,runner:t.refs["scroll-runner"].el}},t}();e.ScrollView=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])}(i(112));var n=i(52);e.ItemType=n.ItemType,e.NavigationBarEvents=n.NavigationBarEvents},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(2),r=i(0),s=i(4),a=i(52),l=i(26),c=function(t){function e(e,i){var n=t.call(this,e,o.extend({navigationType:"click"},i))||this;n._currentRoot=null;return n.mount(e,r.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.getState=function(){var t={};for(var e in this.data.eachChild(this.data.getRoot(),function(e){e.twoState&&!e.group?t[e.id]=e.active:e.type!==a.ItemType.input&&e.type!==a.ItemType.selectButton||(t[e.id]=e.value)},!1),this._groups)this._groups[e].active&&(t[e]=this._groups[e].active);return t},e.prototype.setState=function(t){for(var e in t)if(this._groups&&this._groups[e])this._groups[e].active&&(this.data.update(this._groups[e].active,{active:!1}),this._groups[e].active=t[e],this.data.update(t[e],{active:!0}));else{var i=this.data.getItem(e);i.type===a.ItemType.input||i.type===a.ItemType.selectButton?this.data.update(e,{value:t[e]}):this.data.update(e,{active:t[e]})}},e.prototype._customHandlers=function(){var t=this;return{input:function(e){var i=s.locate(e);t.data.update(i,{value:e.target.value})},tooltip:function(e){var i=s.locateNode(e);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);o.tooltip&&l.tooltip(o.tooltip,{node:i,position:l.Position.bottom})}}}},e.prototype._getFactory=function(){return a.createFactory({widget:this,defaultType:a.ItemType.navItem,allowedTypes:[a.ItemType.button,a.ItemType.customHTMLButton,a.ItemType.imageButton,a.ItemType.input,a.ItemType.selectButton,a.ItemType.separator,a.ItemType.spacer,a.ItemType.title,a.ItemType.navItem,a.ItemType.menuItem,a.ItemType.customHTML],widgetName:"toolbar"})},e.prototype._draw=function(){var t=this;return r.el("nav.dhx_widget.dhx_toolbar",{class:this.config.css?this.config.css:""},[r.el("ul.dhx_navbar.dhx_navbar--horizontal",{dhx_widget_id:this._uid,tabindex:0,onclick:this._handlers.onclick,onmousedown:this._handlers.onmousedown,oninput:this._handlers.input,onmouseover:this._handlers.tooltip,_hooks:{didInsert:function(e){e.el.addEventListener("keyup",function(e){if(9===e.which){var i=s.locateNode(document.activeElement);if(i){var n=i.getAttribute("dhx_id"),o=t.data.getItem(n);o.tooltip&&l.tooltip(o.tooltip,{node:i,position:l.Position.bottom,force:!0})}}},!0)}}},this.data.map(function(e){return t._factory(e)},this.data.getRoot(),!1))])},e.prototype._getMode=function(t,e){return t.id===e?"bottom":"right"},e.prototype._close=function(e){this._activePosition=null,this._currentRoot=null,t.prototype._close.call(this,e)},e.prototype._setRoot=function(t){this.data.getParent(t)===this.data.getRoot()&&(this._currentRoot=t)},e}(a.Navbar);e.Toolbar=c},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}(),o=this&&this.__assign||function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i50&&(r-=55),o=setTimeout(s,r)},a=function(){clearTimeout(o),document.removeEventListener("mouseup",a)};s(),document.addEventListener("mouseup",a)}}}},this._customHandlers())},e.prototype._initEvents=function(){var t=this,e=null;this.data.events.on(h.DataEvents.change,function(){t.paint(),e&&clearTimeout(e),e=setTimeout(function(){var i={};t.data.eachChild(t.data.getRoot(),function(t){t.group&&(t.twoState=!0,function(t,e){t[e.group]?(e.active&&(t[e.group].active=e.id),t[e.group].elements.push(e.id)):t[e.group]={active:e.active?e.id:null,elements:[e.id]}}(i,t))},!0),t._groups=i,t._resetHotkeys(),e=null,t.paint()},100)}),this.events.on(h.NavigationBarEvents.click,function(e){var i=t.data.getItem(e),n=t.data.getItem(i.parent);if(n&&n.type===h.ItemType.selectButton&&t.data.update(i.parent,{value:i.value,icon:i.icon}),i.group){var o=t._groups[i.group];o.active&&t.data.update(o.active,{active:!1}),o.active=i.id,t.data.update(i.id,{active:!0})}}),this._customInitEvents()},e.prototype._getMode=function(t,e,i){return void 0===i&&(i=!1),t.parent===e?"bottom":"right"},e.prototype._drawMenuItems=function(t,e){var i=this;return void 0===e&&(e=!0),this.data.map(function(t){return i._factory(t,e)},t,!1)},e.prototype._setRoot=function(t){},e.prototype._getParents=function(t,e){var i=[],n=!1,o=this.data.getItem(t),r=o&&o.disabled;return this.data.eachParent(t,function(t){t.id===e?(i.push(t.id),n=!0):n||i.push(t.id)},!r),this._isContextMenu&&this._activePosition&&i.push(e),i},e.prototype._listenOuterClick=function(){this._documentHaveListener||(document.addEventListener("click",this._documentClick,!0),this._documentHaveListener=!0)},e.prototype._customInitEvents=function(){},e.prototype._drawPopups=function(){var t=this,e=this._activeMenu;if(!this._isContextMenu&&!e)return null;var i=this._currentRoot;if(this._isContextMenu&&!this._activePosition)return null;var n=this._getParents(e,i);return this._activeParents=n,n.forEach(function(e){return t.data.exists(e)&&t.data.update(e,{$activeParent:!0},!1)}),n.map(function(e){if(!t.data.haveItems(e))return null;var n=t.data.getItem(e)||t._rootItem;return t._popupActive=!0,s.el("ul",{class:"dhx_widget dhx_menu"+(t.config.menuCss?" "+t.config.menuCss:""),_key:e,_hooks:{didInsert:function(o){var r=o.el.getBoundingClientRect(),s=r.width,a=r.height,c=t._isContextMenu&&t._activePosition&&e===i?t._activePosition:n.$position,u=t._getMode(n,i,c===t._activePosition),d=l.calculatePosition(c,{mode:u,width:s,height:a});n.$style=d,o.patch({style:d})},didRecycle:function(o,r){if(t._isContextMenu&&t._activePosition&&e===i){var s=r.el.getBoundingClientRect(),a=s.width,c=s.height,u=l.calculatePosition(t._activePosition,{mode:t._getMode(n,i,!0),width:a,height:c});n.$style=u,r.patch({style:u})}}},tabindex:0,style:n.$style||{position:"absolute"}},t._drawMenuItems(e))}).reverse()},e.prototype._onMenuItemClick=function(t,e){var i=this.data.getItem(t);i.disabled||(i.twoState&&this.data.update(i.id,{active:!i.active}),this.events.fire(h.NavigationBarEvents.click,[t,e]),this._close(e))},e.prototype._activeItemChange=function(t,e){var i=this;if(this._activeParents){var n=this._getParents(t,this._currentRoot);this._activeParents.forEach(function(t){i.data.exists(t)&&-1===n.indexOf(t)&&i.data.update(t,{$activeParent:!1},!1)})}t&&!this._documentHaveListener&&this._listenOuterClick(),t&&this.data.haveItems(t)?(this._activeMenu===t&&this._popupActive||this.events.fire(h.NavigationBarEvents.openMenu,[t]),this._activeMenu=t,clearTimeout(this._currentTimeout),this.paint()):(clearTimeout(this._currentTimeout),this._currentTimeout=setTimeout(function(){return i.paint()},400))},e.prototype._resetHotkeys=function(){var t=this;c.keyManager.removeHotKey(null,this),this.data.map(function(e){e.hotkey&&c.keyManager.addHotKey(e.hotkey,function(){return t._onMenuItemClick(e.id,null)},t)})},e.prototype._setProp=function(t,e,i){var n,o=this;Array.isArray(t)?t.forEach(function(t){var n;return o.data.update(t,((n={})[e]=i,n))}):this.data.update(t,((n={})[e]=i,n))},e}(u.View);e.Navbar=f},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(115),o=i(116),r=i(117),s=i(118),a=i(119),l=i(120),c=i(121),u=i(122),d=i(123),h=i(14),f=i(15);e.createFactory=function(t){for(var e=t.defaultType,i=t.allowedTypes,p=t.widgetName,_=t.widget,v=new Set,g=0,m=i;g0&&o.getCount(t,r,i),t.value&&t.$openIcon?n.el("span.dhx_button__icon.dhx_button__icon--menu.dxi.dxi-menu-right"):null,t.loading&&n.el("span.dhx_button__loading",[n.el("span.dhx_button__loading-icon.dxi.dxi-loading")])])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(15);e.navItem=function(t,e,i){var r=" dhx_"+e+"-button";return n.el("button",{class:"dhx_button"+r+(t.active||t.$activeParent?r+"--active":"")+(t.disabled?r+"--disabled":"")+(t.$openIcon?r+"--select":"")+(t.circle?r+"--circle":"")+(t.size?" "+r+"--"+t.size:"")+(!t.value&&t.icon?r+"--icon":"")+(t.css?" "+t.css:""),dhx_id:t.id,disabled:t.disabled,type:"button"},[t.icon&&n.el("span",{class:t.icon+r+"__icon"}),t.html&&n.el("div",{class:r.trim()+"__html",".innerHTML":t.html}),!t.html&&t.value&&n.el("span",{class:r.trim()+"__text"},t.value),t.count>0&&o.getCount(t,r+"__count",i),t.$openIcon&&n.el("span.dxi.dxi-menu-right",{class:r+"__caret"})])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0);e.customHTMLButton=function(t,e,i){var o=i?" dhx_button dhx_menu-button":" dhx_button dhx_nav-menu-button";return n.el("button",{class:"dhx_custom-button"+o+(t.$activeParent?o+"--active":""),dhx_id:t.id,type:"button",".innerHTML":t.html},t.html?"":t.value)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(15);e.imageButton=function(t,e){var i="dhx_"+e+"-button-image",r="ribbon"===e;return n.el("button.dhx_button",{class:i+(t.size?" "+i+"--"+t.size:"")+(!t.value&&t.src?" "+i+"--icon":"")+(r&&t.$openIcon?" "+i+"--select":"")+(t.active?" "+i+"--active":""),dhx_id:t.id,type:"button"},[r&&t.value&&t.$openIcon&&n.el("span.dxi.dxi-menu-right",{class:i+"__caret"}),t.html?n.el("div",{class:i+"__text",".innerHTML":t.html}):t.value&&n.el("span",{class:i+"__text"},t.value),t.src&&n.el("span",{class:i+"__image",style:{backgroundImage:"url("+t.src+")"}}),t.count>0&&o.getCount(t,i+"__count",!0)])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(14);function r(t,e){t.fire(o.NavigationBarEvents.inputBlur,[e])}function s(t,e){t.fire(o.NavigationBarEvents.inputFocus,[e])}e.input=function(t,e,i){return n.el(".dhx_form-group.dhx_form-group--no-message-holder.dhx_form-group--label_sr.dhx_"+i+"__input",{style:{width:t.width?t.width:"200px"}},[n.el("label.dhx_label",{for:t.id},t.label),n.el(".dhx_input__wrapper",[n.el("input.dhx_input",{placeholder:t.placeholder,class:t.icon?"dhx_input--icon-padding":"",value:t.value,onblur:[r,e,t.id],onfocus:[s,e,t.id],dhx_id:t.id,_hooks:{didInsert:function(i){e&&e.fire(o.NavigationBarEvents.inputCreated,[t.id,i.el])}},_key:t.id}),t.icon?n.el(".dhx_input__icon",{class:t.icon}):null])])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),o=i(15);e.menuItem=function(t,e,i){var r=i?" dhx_menu-button":" dhx_nav-menu-button";return n.el("button",{class:"dhx_button"+r+(t.disabled?r+"--disabled":"")+(t.$activeParent?r+"--active":""),disabled:t.disabled,dhx_id:t.id,type:"button"},i?[t.icon||t.value||t.html?n.el("span.dhx_menu-button__block.dhx_menu-button__block--left",[t.icon&&n.el("span.dhx_menu-button__icon",{class:t.icon}),t.html?n.el("div.dhx_menu-button__text",{".innerHTML":t.html}):t.value&&n.el("span.dhx_menu-button__text",t.value)]):null,t.count>0||t.hotkey||t.items?n.el("span.dhx_menu-button__block.dhx_menu-button__block--right",[t.count>0&&o.getCount(t," dhx_menu-button__count",!1),t.hotkey&&n.el("span.dhx_menu-button__hotkey",t.hotkey),t.items&&n.el("span.dhx_menu-button__caret.dxi.dxi-menu-right")]):null]:[t.icon&&n.el("span.dhx_menu-button__icon",{class:t.icon}),t.html?n.el("div.dhx_menu-button__text",{".innerHTML":t.html}):t.value&&n.el("span.dhx_nav-menu-button__text",t.value)])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.separator=function(t,e){return null}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.spacer=function(t,e){return null}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0);e.title=function(t,e){return n.el("span",{class:"dhx_navbar-title dhx_navbar-title--"+e,".innerHTML":t.html},t.html?null:t.value)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.layoutConfig={css:"vault-layout",rows:[{id:"topbar",css:"vault-topbar"},{id:"vault",css:"vault-file-grid"}]},e.layoutConfigWithoutTopbar={css:"vault-layout",rows:[{id:"vault",css:"vault-file-grid"}]}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(30),o=["byte","kilobyte","megabyte","gigabyte"];e.getBasis=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),t<1024?t+" "+n.default[o[e]]:this.getBasis(Math.round(t/1024),e+1)};var r,s=13;function a(t){return{extension:t.name.split(".").pop()||"none",mime:t.file?t.file.type:""}}function l(t,e){switch(t){case"jpg":case"jpeg":case"gif":case"png":case"bmp":case"tiff":case"pcx":case"svg":case"ico":return r.image;case"avi":case"mpg":case"mpeg":case"rm":case"move":case"mov":case"mkv":case"flv":case"f4v":case"mp4":case"3gp":case"wmv":case"webm":case"vob":return r.video;case"rar":case"zip":case"tar":case"tgz":case"arj":case"gzip":case"bzip2":case"7z":case"ace":case"apk":case"deb":case"zipx":case"cab":case"tar-gz":case"rpm":case"xar":return r.archive;case"xlr":case"xls":case"xlsm":case"xlsx":case"ods":case"csv":case"tsv":return r.table;case"doc":case"docx":case"docm":case"dot":case"dotx":case"odt":case"wpd":case"wps":case"pages":return r.document;case"wav":case"aiff":case"au":case"mp3":case"aac":case"wma":case"ogg":case"flac":case"ape":case"wv":case"m4a":case"mid":case"midi":return r.audio;case"pot":case"potm":case"potx":case"pps":case"ppsm":case"ppsx":case"ppt":case"pptx":case"pptm":case"odp":return r.presentation;case"html":case"htm":case"eml":return r.web;case"exe":return r.application;case"dmg":return r.apple;case"pdf":case"ps":case"eps":return r.pdf;case"psd":return r.psd;case"txt":case"djvu":case"nfo":case"xml":return r.text;default:switch(e.split("/")[0]){case"image":return r.image;case"audio":return r.audio;case"video":return r.video;default:return r.other}}}e.truncateWord=function(t,e){var i,n;if(void 0===e&&(e=s),t.length<=e)return t;var o=t.lastIndexOf(".");if(-1===o)n=t.substr(t.length-4),i=t.substr(0,e-7);else{var r=o-3;n=t.substr(r),i=t.substr(0,e-(t.length-r))}return i+"..."+n},e.calculateCover=function(t){var e,i,n,o,r=t.width,s=t.height,a=r/s;return a>1?(e=s,n=(r-(i=s))/2,o=0):a<1?(i=r,n=0,o=(s-(e=r))/2):(e=r,i=r,n=0,o=0),{sx:n,sy:o,sWidth:i,sHeight:e,dx:0,dy:0}},function(t){t.image="image",t.video="video",t.archive="archive",t.table="table",t.document="document",t.presentation="presentation",t.application="application",t.web="web",t.apple="apple",t.pdf="pdf",t.psd="psd",t.audio="audio",t.other="other",t.text="text"}(r=e.FileType||(e.FileType={})),e.getFileType=l,e.getFileClassName=function(t){var e=a(t),i=e.mime,n=e.extension;return l(n,i)+" extension-"+n},e.isImage=function(t){var e=a(t),i=e.mime;return l(e.extension,i)===r.image}},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(0),r=i(3),s=i(30),a=i(18),l=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=e,n._progress=0;return n.mount(null,o.create({render:function(){return n._draw()}})),n._abortUpload=function(){n.events.fire(a.ProgressBarEvents.cancel)},n}return n(e,t),e.prototype.setState=function(t,e){this._progress=t,this.config.template?this._progressText=this.config.template(t,e):this._progressText=this._progress.toFixed(1)+"%",this.paint()},e.prototype._draw=function(){return o.el(".progress-bar",{_key:this._uid},[o.el(".progress-indicator",{style:{width:this._progress+"%"}}),o.el(".progress-text",{".innerHTML":this._progressText}),o.el("button",{class:"dhx_btn dhx_btn--flat dhx_btn_small action-abort-all",onclick:this._abortUpload},s.default.cancel)])},e}(r.View);e.ProgressBar=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t){this._readerStack=[],this._isActive=!1,this._data=t}return t.prototype.add=function(t,e){void 0===e&&(e=!1),this._readerStack.push(t),e||this.read()},t.prototype.read=function(){var t=this;if(this._readerStack.length&&!this._isActive){var e=this._readerStack.shift();this._isActive=!0;var i=new FileReader;i.readAsDataURL(e.file),i.onload=function(i){var n=new Image;n.src=i.target.result,n.onload=function(){t._data.exists(e.id)&&t._data.update(e.id,{image:n}),t._isActive=!1,t.read()}},i.onerror=function(){t._isActive=!1,t.read()}}},t.prototype.stop=function(){this._readerStack=[]},t}();e.ReadStackPreview=n},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(20),r=i(0),s=i(10),a=i(7),l=i(1),c=i(6),u=i(5),d=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=new l.EventSystem,n._initView(i);return n.mount(e,r.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.validate=function(){var t,e=this.config,i=e.required,n=e.value;return t=e.validation?this.config.validation(n):!i||Boolean(n),this.config.$validationStatus=t?c.ValidationStatus.success:c.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=c.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.timepicker.setValue(t),this.config.controls&&this.timepicker.events.fire(o.TimepickerEvents.save,[]),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.clear=function(){12===this.config.timeFormat?this.timepicker.setValue("12:00AM"):this.timepicker.setValue("00:00"),this.config.value=""},e.prototype.getWidget=function(){return this.timepicker},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!u.isEmptyObj(t)){for(var i in this.timepicker&&this.timepicker.destructor(),this._popup&&this._popup.destructor(),this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1,editable:!1,value:""},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.config.editable=this.config.editable||this.config.editing,this._popup=new a.Popup({css:"dhx_widget--border-shadow"}),this.timepicker=new o.Timepicker(null,t),this._popup.attach(this.timepicker),this.config.value&&(this.timepicker.setValue(this.config.value),this.config.value=this.timepicker.getValue()),this.config.controls?(this.timepicker.events.on(o.TimepickerEvents.close,function(){e._popup.hide()}),this.timepicker.events.on(o.TimepickerEvents.save,function(){e.config.value=e.timepicker.getValue(),e.validate(),e._popup.hide()}),this._popup.events.on(a.PopupEvents.afterHide,function(){var t=e.config.value;t&&t!==e.timepicker.getValue()&&e.timepicker.setValue(t),""===t&&e.clear(),e.paint()})):(this.timepicker.events.on(o.TimepickerEvents.change,function(){e.config.value=e.timepicker.getValue(),e.validate()}),this._popup.events.on(a.PopupEvents.afterHide,function(){e.paint()})),this.events.on(c.BaseElementEvent.change,function(t){var i=12===e.config.timeFormat?7:5;if(t.length>=i){var n=e._inputValidate(t);e._inputValidate(t)?e.timepicker.setValue(n):e.validate()}}),this.events.fire(c.BaseElementEvent.configUpdate,[this.config]),this.clearValidate()}},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onkeyup:function(e){var i=e.target.value.trim();t.config.controls||13!==e.keyCode||(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur());(e.which>=48&&e.which<=57||e.which>=65&&e.which<=90||e.which>=96&&e.which<=105)&&t.events.fire(c.BaseElementEvent.change,[i])}}},e.prototype._inputValidate=function(t){var e=this.config.timeFormat;return u.isTimeFormat(t,e)?t:""},e.prototype._draw=function(){var t=this.config,e=t.value,i=t.required,n=t.disabled,o=t.placeholder,s=t.name,a=t.id,l=t.validation,c=t.editable;return r.el("div.dhx_form-group",{class:u.getFormItemCss(this.config,Boolean(i)||Boolean(l))},[this._drawLabel(),r.el(".dhx_input__wrapper",[r.el("div.dhx_input__container",{},[r.el(".dhx_input__icon.dxi.dxi-clock-outline"),r.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:e,type:"text",_ref:"input",required:i,disabled:n,placeholder:o||"",name:s||"",id:a||this._uid,onfocus:this._handlers.onfocus,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!c})]),u.getValidationMessage(this.config)&&r.el("span.dhx_input__caption",{},u.getValidationMessage(this.config))])])},e}(s.Label);e.TimeInput=d},function(t,e,i){"use strict";var n=this&&this.__extends||function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();Object.defineProperty(e,"__esModule",{value:!0});var o=i(38),r=i(1),s=i(0),a=i(10),l=i(7),c=i(6),u=i(5),d=function(t){function e(e,i){var n=t.call(this,null,i)||this;n.events=new r.EventSystem,n._initView(i);return n.mount(e,s.create({render:function(){return n._draw()}})),n}return n(e,t),e.prototype.disable=function(){this.config.disabled=!0,this.paint()},e.prototype.enable=function(){this.config.disabled=!1,this.paint()},e.prototype.validate=function(){var t,e=this.config,i=e.required,n=e.value;return t=e.validation?this.config.validation(n):!i||Boolean(n),this.config.$validationStatus=t?c.ValidationStatus.success:c.ValidationStatus.error,this.paint(),t},e.prototype.clearValidate=function(){this.config.$validationStatus=c.ValidationStatus.pre,this.paint()},e.prototype.setValue=function(t){this.config.value=t,this.colorpicker.setValue(t),this.paint()},e.prototype.getValue=function(){return this.config.value||""},e.prototype.clear=function(){this.config.value="",this.paint()},e.prototype.getWidget=function(){return this.colorpicker},e.prototype.setConfig=function(t){this._initView(t)},e.prototype._initView=function(t){var e=this;if(!u.isEmptyObj(t)){for(var i in this.colorpicker&&this.colorpicker.destructor(),this._popup&&this._popup.destructor(),this.config={type:this.config.type,id:this.config.id,name:this.config.name,disabled:!1,editable:!1,value:""},t)"id"!==i&&"type"!==i&&"name"!==i&&(this.config[i]=t[i]);this.config.editable=this.config.editable||this.config.editing,this._popup=new l.Popup({css:"dhx_widget--border-shadow"}),this.colorpicker=new o.Colorpicker(null,t),this._popup.attach(this.colorpicker),this.config.value&&(this.colorpicker.setValue(this.config.value),this.config.value=this.colorpicker.getValue()),this.colorpicker.events.on(o.ColorpickerEvents.change,function(){e.config.value=e.colorpicker.getValue(),e._popup.hide(),e.validate()}),this.events.on(c.BaseElementEvent.change,function(t){var i=e._inputValidate(t);e._inputValidate(t)?e.setValue(i):e.validate()}),this.events.fire(c.BaseElementEvent.configUpdate,[this.config]),this.clearValidate()}},e.prototype._getHandlers=function(){var t=this;return{onfocus:function(){if(!t._popup.isVisible()){var e=t.getRootView().refs.input.el;t._popup.show(e)}},onchange:function(e){var i=e.target.value;t.events.fire(c.BaseElementEvent.change,[i])},onkeyup:function(e){13===e.keyCode&&(t._popup.isVisible()&&t._popup.hide(),t.getRootView().refs.input.el.blur())}}},e.prototype._inputValidate=function(t){return o.isHex(t)?t:""},e.prototype._draw=function(){var t=this.config,e=t.required,i=t.value,n=t.icon,o=t.disabled,r=t.placeholder,a=t.name,l=t.id,c=t.editable;return s.el("div.dhx_form-group",{class:u.getFormItemCss(this.config,Boolean(e)||Boolean(this.config.validation))},[this._drawLabel(),s.el(".dhx_input__wrapper",[s.el("div.dhx_input__container",{},[s.el(".dhx_input__icon",{class:n||"dxi dxi-eyedropper-variant"+(i?" dhx_input__icon--color-selected":""),style:{"background-color":i||"transparent"}}),s.el("input.dhx_input.dhx_input--icon-padding",{_key:this._uid,value:i,type:"text",_ref:"input",required:e,disabled:o,placeholder:r||"",name:a||"",id:l||this._uid,onfocus:this._handlers.onfocus,onchange:this._handlers.onchange,onkeyup:this._handlers.onkeyup,autocomplete:"off",readOnly:!c})]),u.getValidationMessage(this.config)&&s.el("span.dhx_input__caption",{},u.getValidationMessage(this.config))])])},e}(a.Label);e.ColorpickerInput=d},function(t,e,i){}])}),window.dhx_legacy){if(window.dhx)for(var key in dhx)dhx_legacy[key]=dhx[key];window.dhx=dhx_legacy,delete window.dhx_legacy} \ No newline at end of file diff --git a/samples/toolbar/common/logo.svg b/samples/toolbar/common/logo.svg new file mode 100644 index 0000000..ba5fbcd --- /dev/null +++ b/samples/toolbar/common/logo.svg @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/samples/toolbar/index.html b/samples/toolbar/index.html index 5f24f59..8175869 100644 --- a/samples/toolbar/index.html +++ b/samples/toolbar/index.html @@ -4,19 +4,21 @@ - + Samples - DHTMLX Toolbar -
    +

    diff --git a/samples/tree/01_init/01_init.html b/samples/tree/01_init/01_init.html index 31fb08b..c947ae8 100644 --- a/samples/tree/01_init/01_init.html +++ b/samples/tree/01_init/01_init.html @@ -2,15 +2,17 @@ - Basic initilization - DHTMLX Tree + Basic initialization - DHTMLX Tree - - - + + + + + - +
    @@ -34,17 +42,25 @@

    - Init with external data. + Init with external data.

    -

    -
    -
    - -
    +

    +
    + +
    +
    +

    External Data:

    +
    +
    +
    diff --git a/samples/tree/01_init/index.html b/samples/tree/01_init/index.html index 575994d..1ff6c77 100644 --- a/samples/tree/01_init/index.html +++ b/samples/tree/01_init/index.html @@ -4,25 +4,24 @@ - + Initialization - DHTMLX Tree -
    +

    @@ -34,7 +33,7 @@

    1. - Basic initilization + Basic initialization
    2. diff --git a/samples/tree/02_configuration/01_autoload.html b/samples/tree/02_configuration/01_autoload.html index 54e2bd9..6d802e0 100644 --- a/samples/tree/02_configuration/01_autoload.html +++ b/samples/tree/02_configuration/01_autoload.html @@ -6,9 +6,11 @@ - - - + + + + + @@ -37,7 +42,7 @@

      - You can define whether a tree item should be rendered as a folder, with the help of the isFolder configuration option. + You can define whether a tree item should be rendered as a folder, with the help of the isFolder configuration option.

    -
    +
    diff --git a/samples/tree/02_configuration/04_key_navigation.html b/samples/tree/02_configuration/04_key_navigation.html index d95f079..76009f3 100644 --- a/samples/tree/02_configuration/04_key_navigation.html +++ b/samples/tree/02_configuration/04_key_navigation.html @@ -6,9 +6,11 @@ - - - + + + + + + + +
    +
    + +

    +
    + Editable. +
    +

    +
    +
    +
    +
    +
    + + + diff --git a/samples/tree/02_configuration/index.html b/samples/tree/02_configuration/index.html index 371c7e2..235668c 100644 --- a/samples/tree/02_configuration/index.html +++ b/samples/tree/02_configuration/index.html @@ -4,25 +4,24 @@ - + Configuration - DHTMLX Tree -
    +

    @@ -69,8 +68,8 @@

  • - - Editing + + Editable
  • diff --git a/samples/tree/03_usage/01_edit_item.html b/samples/tree/03_usage/01_edit_item.html index 7bab7af..17288dc 100644 --- a/samples/tree/03_usage/01_edit_item.html +++ b/samples/tree/03_usage/01_edit_item.html @@ -6,9 +6,11 @@ - - - + + + + + + + +
    +
    + +

    +
    + You need to select any item and then expand/collapse it. + +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + diff --git a/samples/tree/03_usage/05_expand_all.html b/samples/tree/03_usage/05_expand_all.html new file mode 100644 index 0000000..422ab0b --- /dev/null +++ b/samples/tree/03_usage/05_expand_all.html @@ -0,0 +1,66 @@ + + + + + Expand all items - DHTMLX Tree + + + + + + + + + + + + +
    +
    + +

    +
    + It is also possible to expand/collapse all Tree items using the two corresponding methods - expandAll and collapseAll. + +
    +

    +
    +
    +
    + + +
    +
    +
    +
    + + + diff --git a/samples/tree/03_usage/06_toggle.html b/samples/tree/03_usage/06_toggle.html index a0170ea..7c1a323 100644 --- a/samples/tree/03_usage/06_toggle.html +++ b/samples/tree/03_usage/06_toggle.html @@ -6,9 +6,11 @@ - - - + + + + + - +
    @@ -38,7 +40,7 @@

    - You can change the default icons used for tree items. + You can change the default icons used for tree items.

    -
    +
    diff --git a/samples/tree/04_customization/02_custom_css.html b/samples/tree/04_customization/02_custom_css.html index 729b33a..5d85684 100644 --- a/samples/tree/04_customization/02_custom_css.html +++ b/samples/tree/04_customization/02_custom_css.html @@ -7,14 +7,26 @@ - - - + + + + + @@ -47,7 +59,7 @@

    - +
    @@ -58,19 +70,6 @@

    }); tree.data.load("../common/treedata.json"); - - diff --git a/samples/tree/04_customization/03_custom_toggle_icon.html b/samples/tree/04_customization/03_custom_toggle_icon.html index 86cbebb..c96e97b 100644 --- a/samples/tree/04_customization/03_custom_toggle_icon.html +++ b/samples/tree/04_customization/03_custom_toggle_icon.html @@ -6,15 +6,25 @@ - - - + + + + + - + @@ -46,7 +56,7 @@

    - +
    @@ -59,15 +69,5 @@

    tree.data.load("../common/treedata.json"); - diff --git a/samples/tree/04_customization/04_custom_dataset_icons.html b/samples/tree/04_customization/04_custom_dataset_icons.html new file mode 100644 index 0000000..4039a19 --- /dev/null +++ b/samples/tree/04_customization/04_custom_dataset_icons.html @@ -0,0 +1,55 @@ + + + + + Custom dataset icons - DHTMLX Tree + + + + + + + + + + + + +
    +
    + +

    +
    + You can change the default icons used for tree items from data. +
    +

    +
    +
    +
    +
    +
    + + + diff --git a/samples/tree/04_customization/index.html b/samples/tree/04_customization/index.html index 16c10ca..c6cd31d 100644 --- a/samples/tree/04_customization/index.html +++ b/samples/tree/04_customization/index.html @@ -4,25 +4,24 @@ - + Customization - DHTMLX Tree -
    +

    @@ -47,6 +46,11 @@

    Custom toggle icon +
  • + + Custom dataset icons + +
  • diff --git a/samples/tree/05_events/01_events.html b/samples/tree/05_events/01_events.html index 4359cc2..606a340 100644 --- a/samples/tree/05_events/01_events.html +++ b/samples/tree/05_events/01_events.html @@ -6,9 +6,11 @@ - - - + + + + + + + +
    +
    + +

    +
    + Window container. +
    +

    +
    +
    +
    +
    + + +
    +
    + +
    +
    +
    +
    DOM node
    +
    + + + diff --git a/samples/window/02_configuration/index.html b/samples/window/02_configuration/index.html index a984b81..3e7906b 100644 --- a/samples/window/02_configuration/index.html +++ b/samples/window/02_configuration/index.html @@ -4,25 +4,24 @@ - + Configuration - DHTMLX Window -
    +

    @@ -62,6 +61,11 @@

    Window with footer +
  • + + Window container + +
  • diff --git a/samples/window/03_usage/01_show_hide.html b/samples/window/03_usage/01_show_hide.html index a8531b5..cfe627f 100644 --- a/samples/window/03_usage/01_show_hide.html +++ b/samples/window/03_usage/01_show_hide.html @@ -6,9 +6,9 @@ - - - + + + @@ -34,7 +34,7 @@

    - Showing/hiding Window. + Showing/hiding Window.

    diff --git a/samples/window/03_usage/02_fullscreen.html b/samples/window/03_usage/02_fullscreen.html index 1520bb3..d363316 100644 --- a/samples/window/03_usage/02_fullscreen.html +++ b/samples/window/03_usage/02_fullscreen.html @@ -6,9 +6,9 @@ - - - + + + @@ -34,7 +34,7 @@

    - Fullscreen mode. + Fullscreen mode.

    @@ -53,7 +53,7 @@

    dhxWindow.attachHTML(windowHTML); dhxWindow.show(); document.querySelector("#fullscreen").addEventListener('click', function(){ - dhxWindow.fullScreen() + dhxWindow.setFullScreen() }) diff --git a/samples/window/03_usage/03_get_set_size.html b/samples/window/03_usage/03_get_set_size.html index cb704b7..688f40b 100644 --- a/samples/window/03_usage/03_get_set_size.html +++ b/samples/window/03_usage/03_get_set_size.html @@ -6,9 +6,9 @@ - - - + + + @@ -44,7 +44,7 @@

    - Set/get Window size. + Set/get Window size.

    @@ -74,8 +74,8 @@

    dhxWindow.attachHTML(windowHTML); function getSize() { var size = dhxWindow.getSize(); - heightEl.value = size.width; - widthEl.value = size.height; + heightEl.value = size.height; + widthEl.value = size.width; } function setSize() { dhxWindow.setSize(parseInt(widthEl.value, 10), parseInt(heightEl.value, 10)); diff --git a/samples/window/03_usage/04_get_set_position.html b/samples/window/03_usage/04_get_set_position.html index a3dd454..e1bea32 100644 --- a/samples/window/03_usage/04_get_set_position.html +++ b/samples/window/03_usage/04_get_set_position.html @@ -6,9 +6,9 @@ - - - + + + @@ -43,7 +43,7 @@

    - Get/set Window position. + Get/set Window position.

    diff --git a/samples/window/03_usage/05_get_visible_status.html b/samples/window/03_usage/05_get_visible_status.html index bc6fe11..4506255 100644 --- a/samples/window/03_usage/05_get_visible_status.html +++ b/samples/window/03_usage/05_get_visible_status.html @@ -6,9 +6,9 @@ - - - + + + @@ -42,7 +42,7 @@

    - Get Window visible status. + Get Window visible status.

    diff --git a/samples/window/03_usage/index.html b/samples/window/03_usage/index.html index b534dd1..dd1e1d6 100644 --- a/samples/window/03_usage/index.html +++ b/samples/window/03_usage/index.html @@ -4,25 +4,24 @@ - + Usage - DHTMLX Window -
    +

    diff --git a/samples/window/04_customization/01_custom_icons.html b/samples/window/04_customization/01_custom_icons.html index 4d41762..f545bd1 100644 --- a/samples/window/04_customization/01_custom_icons.html +++ b/samples/window/04_customization/01_custom_icons.html @@ -6,13 +6,13 @@ - - - + + + - +
    @@ -35,7 +35,7 @@

    - Custom Icons. + Custom Icons.

    diff --git a/samples/window/04_customization/02_custom_styles.html b/samples/window/04_customization/02_custom_styles.html index a85e425..2fbf9d5 100644 --- a/samples/window/04_customization/02_custom_styles.html +++ b/samples/window/04_customization/02_custom_styles.html @@ -6,12 +6,17 @@ - - - + + + +
    @@ -34,25 +39,18 @@

    - Custom styles. + Custom styles.

    -
    - - diff --git a/samples/window/04_customization/03_custom_buttons.html b/samples/window/04_customization/03_custom_buttons.html index 810e3c9..3561417 100644 --- a/samples/window/04_customization/03_custom_buttons.html +++ b/samples/window/04_customization/03_custom_buttons.html @@ -6,13 +6,13 @@ - - - + + + - +
    @@ -35,7 +35,7 @@

    - Custom buttons. + Custom buttons.

    @@ -63,7 +63,7 @@

    } else { oldSize = dhxWindow.getSize(); oldPos = dhxWindow.getPosition(); - dhxWindow.fullScreen(); + dhxWindow.setFullScreen(); } isFullScreen = !isFullScreen; } diff --git a/samples/window/04_customization/index.html b/samples/window/04_customization/index.html index b378b26..9fb3613 100644 --- a/samples/window/04_customization/index.html +++ b/samples/window/04_customization/index.html @@ -4,25 +4,24 @@ - + Customization - DHTMLX Window -
    +

    diff --git a/samples/window/05_events/01_events.html b/samples/window/05_events/01_events.html index f9685c1..9ca7b24 100644 --- a/samples/window/05_events/01_events.html +++ b/samples/window/05_events/01_events.html @@ -6,9 +6,9 @@ - - - + + + @@ -34,7 +34,7 @@

    - Window events. + Window events.

    diff --git a/samples/window/05_events/index.html b/samples/window/05_events/index.html index 70d2cb1..345f3ce 100644 --- a/samples/window/05_events/index.html +++ b/samples/window/05_events/index.html @@ -4,25 +4,24 @@ - + Events - DHTMLX Window -
    +

    diff --git a/samples/window/common/list/fonts/roboto-bold-webfont.woff b/samples/window/common/list/fonts/roboto-bold-webfont.woff new file mode 100644 index 0000000..d93baf5 Binary files /dev/null and b/samples/window/common/list/fonts/roboto-bold-webfont.woff differ diff --git a/samples/window/common/list/fonts/roboto-bold-webfont.woff2 b/samples/window/common/list/fonts/roboto-bold-webfont.woff2 new file mode 100644 index 0000000..fb82968 Binary files /dev/null and b/samples/window/common/list/fonts/roboto-bold-webfont.woff2 differ diff --git a/samples/window/common/list/fonts/roboto-medium-webfont.woff b/samples/window/common/list/fonts/roboto-medium-webfont.woff new file mode 100644 index 0000000..b8e0c77 Binary files /dev/null and b/samples/window/common/list/fonts/roboto-medium-webfont.woff differ diff --git a/samples/window/common/list/fonts/roboto-medium-webfont.woff2 b/samples/window/common/list/fonts/roboto-medium-webfont.woff2 new file mode 100644 index 0000000..fd70780 Binary files /dev/null and b/samples/window/common/list/fonts/roboto-medium-webfont.woff2 differ diff --git a/samples/window/common/list/fonts/roboto-regular-webfont.woff b/samples/window/common/list/fonts/roboto-regular-webfont.woff new file mode 100644 index 0000000..d43765c Binary files /dev/null and b/samples/window/common/list/fonts/roboto-regular-webfont.woff differ diff --git a/samples/window/common/list/fonts/roboto-regular-webfont.woff2 b/samples/window/common/list/fonts/roboto-regular-webfont.woff2 new file mode 100644 index 0000000..6b85564 Binary files /dev/null and b/samples/window/common/list/fonts/roboto-regular-webfont.woff2 differ diff --git a/samples/window/common/list/list.min.css b/samples/window/common/list/list.min.css new file mode 100644 index 0000000..4b1e806 --- /dev/null +++ b/samples/window/common/list/list.min.css @@ -0,0 +1 @@ +.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:-webkit-grab;cursor:grab}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:-webkit-grab!important;cursor:grab!important}.dhx_no-select--pointer{cursor:pointer}.dhx_no-select--pointer,.dhx_no-select--resize{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;-webkit-font-feature-settings:"liga";font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{box-sizing:border-box}body{margin:0}.dhx_widget{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:400;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_widget--bordered{border:1px solid #e4e4e4}.dhx_widget--border_top{border-top:1px solid #e4e4e4}.dhx_widget--border_bottom{border-bottom:1px solid #e4e4e4}.dhx_widget--border_left{border-left:1px solid #e4e4e4}.dhx_widget--border_right{border-right:1px solid #e4e4e4}.dhx_widget--border-shadow{border:0;box-shadow:0 2px 4px rgba(0,0,0,.15)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget--bg_white{background-color:#fff}.dhx_widget--bg_gray{background-color:#f7f7f7}.dhx_drag-ghost{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;z-index:999;opacity:.6}.dhx_drag-ghost *{box-sizing:border-box}.dhx_drag-ghost .dhx_list-item{list-style-type:none}.dhx_drag-ghost .dhx_list-item--selected{background-color:#fff;box-shadow:inset 0 0 0 0 #0288d1}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:#fff;transition:background-color .2s ease-out}.dhx_drag-ghost .dhx_tree-list-item__icon{position:relative;display:inline;vertical-align:middle;color:rgba(0,0,0,.3);font-size:20px;top:2px}.dhx_drag-ghost .dhx_tree-list-item__text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;vertical-align:middle;line-height:20px;color:rgba(0,0,0,.7)}.dhx_drag-ghost .dhx_dataview-item,.dhx_drag-ghost .dhx_grid-cell,.dhx_drag-ghost .dhx_list-item{background-color:#fff;border:1px solid #e4e4e4!important}@font-face{font-family:Roboto;src:url(fonts/roboto-regular-webfont.woff2) format("woff2"),url(fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-medium-webfont.woff2) format("woff2"),url(fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-bold-webfont.woff2) format("woff2"),url(fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}@font-face{font-family:dhxicons;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff")}.dxi:before{font-family:dhxicons!important;font-style:normal;font-weight:400!important;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dxi.dxi-alert-circle:before{content:"\F101"}.dxi.dxi-arrow-collapse:before{content:"\F102"}.dxi.dxi-arrow-expand:before{content:"\F103"}.dxi.dxi-blur-off:before{content:"\F104"}.dxi.dxi-blur:before{content:"\F105"}.dxi.dxi-calendar-today:before{content:"\F106"}.dxi.dxi-check:before{content:"\F107"}.dxi.dxi-checkbox-blank-outline:before{content:"\F108"}.dxi.dxi-checkbox-marked-circle:before{content:"\F109"}.dxi.dxi-checkbox-marked:before{content:"\F10A"}.dxi.dxi-chevron-down:before{content:"\F10B"}.dxi.dxi-chevron-left:before{content:"\F10C"}.dxi.dxi-chevron-right:before{content:"\F10D"}.dxi.dxi-chevron-up:before{content:"\F10E"}.dxi.dxi-clock-outline:before{content:"\F10F"}.dxi.dxi-clock:before{content:"\F110"}.dxi.dxi-close-circle:before{content:"\F111"}.dxi.dxi-close:before{content:"\F112"}.dxi.dxi-delete-forever:before{content:"\F113"}.dxi.dxi-delete:before{content:"\F114"}.dxi.dxi-dots-horizontal:before{content:"\F115"}.dxi.dxi-dots-vertical:before{content:"\F116"}.dxi.dxi-download:before{content:"\F117"}.dxi.dxi-eraser:before{content:"\F118"}.dxi.dxi-eye-off:before{content:"\F119"}.dxi.dxi-eye:before{content:"\F11A"}.dxi.dxi-eyedropper-variant:before{content:"\F11B"}.dxi.dxi-file-export:before{content:"\F11C"}.dxi.dxi-file-outline:before{content:"\F11D"}.dxi.dxi-filter-variant:before{content:"\F11E"}.dxi.dxi-folder-open:before{content:"\F11F"}.dxi.dxi-folder:before{content:"\F120"}.dxi.dxi-format-align-center:before{content:"\F121"}.dxi.dxi-format-align-left:before{content:"\F122"}.dxi.dxi-format-align-right:before{content:"\F123"}.dxi.dxi-format-bold:before{content:"\F124"}.dxi.dxi-format-color-fill:before{content:"\F125"}.dxi.dxi-format-color-text:before{content:"\F126"}.dxi.dxi-format-italic:before{content:"\F127"}.dxi.dxi-format-line-spacing:before{content:"\F128"}.dxi.dxi-format-quote-close:before{content:"\F129"}.dxi.dxi-format-quote-open:before{content:"\F12A"}.dxi.dxi-format-strikethrough:before{content:"\F12B"}.dxi.dxi-format-underline:before{content:"\F12C"}.dxi.dxi-format-vertical-align-bottom:before{content:"\F12D"}.dxi.dxi-format-vertical-align-center:before{content:"\F12E"}.dxi.dxi-format-vertical-align-top:before{content:"\F12F"}.dxi.dxi-function-variant:before{content:"\F130"}.dxi.dxi-help-circle-outline:before{content:"\F131"}.dxi.dxi-information-outline:before{content:"\F132"}.dxi.dxi-key:before{content:"\F133"}.dxi.dxi-link-variant-off:before{content:"\F134"}.dxi.dxi-link-variant:before{content:"\F135"}.dxi.dxi-loading:before{content:"\F136"}.dxi.dxi-magnify:before{content:"\F137"}.dxi.dxi-menu-down:before{content:"\F138"}.dxi.dxi-menu-left:before{content:"\F139"}.dxi.dxi-menu-right:before{content:"\F13A"}.dxi.dxi-menu-up:before{content:"\F13B"}.dxi.dxi-minus-box:before{content:"\F13C"}.dxi.dxi-minus:before{content:"\F13D"}.dxi.dxi-numeric:before{content:"\F13E"}.dxi.dxi-pencil:before{content:"\F13F"}.dxi.dxi-plus-circle:before{content:"\F140"}.dxi.dxi-plus:before{content:"\F141"}.dxi.dxi-printer:before{content:"\F142"}.dxi.dxi-redo:before{content:"\F143"}.dxi.dxi-rotate-right:before{content:"\F144"}.dxi.dxi-sort-variant:before{content:"\F145"}.dxi.dxi-table-column-plus-before:before{content:"\F146"}.dxi.dxi-table-column-remove:before{content:"\F147"}.dxi.dxi-table-column:before{content:"\F148"}.dxi.dxi-table-row-plus-after:before{content:"\F149"}.dxi.dxi-table-row-remove:before{content:"\F14A"}.dxi.dxi-table-row:before{content:"\F14B"}.dxi.dxi-undo:before{content:"\F14C"}.dxi.dxi-unfold-more-horizontal:before{content:"\F14D"}.dxi.dxi-vault:before{content:"\F14E"}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:20px}.dxi--small:before{font-size:16px}.dxi--medium:before{font-size:20px}.dxi--large:before{font-size:24px}@-webkit-keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}@keyframes a{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center center;transform-origin:center center}to{-webkit-transform:rotate(1439deg);transform:rotate(1439deg);-webkit-transform-origin:center center;transform-origin:center center}}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;touch-action:manipulation;-webkit-appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:4px}.dhx_button__loading{display:none;position:absolute;left:0;top:0;right:0;bottom:0;justify-content:center;align-items:center}.dhx_button__loading-icon{-webkit-animation:a .9s linear infinite;animation:a .9s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:28px}.dhx_button--circle.dhx_button--size_medium{border-radius:32px}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:6px;padding-right:6px}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:4px;padding-right:4px}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__loading{display:flex}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:4px 12px;font-size:14px;line-height:20px}.dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:16px;margin-top:-8px;margin-left:-8px}.dhx_button--size_medium{padding:6px 16px;text-transform:uppercase;line-height:20px}.dhx_button--size_medium .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:20px;margin-top:-10px;margin-left:-10px}.dhx_button--view_flat{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;color:#fff;transition:background-color .2s ease-in,color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{transition:background-color .2s ease-out,color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_flat.dhx_button--color_primary{background-color:#0288d1;outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:#35a0da}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:#0288d1;box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_primary:disabled{background-color:#81c4e8}.dhx_button--view_flat.dhx_button--color_secondary{background-color:#4d4d4d;outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:#717171}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:#4d4d4d;box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_secondary:disabled{background-color:#a6a6a6}.dhx_button--view_flat.dhx_button--color_danger{background-color:#ff5252;outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:#ff7575}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:#ff5252;box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_danger:disabled{background-color:#ffa9a9}.dhx_button--view_flat.dhx_button--color_success{background-color:#0ab169;outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:#3bc187}.dhx_button--view_flat.dhx_button--color_success:active{background-color:#0ab169;box-shadow:none}.dhx_button--view_flat.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_success:disabled{background-color:#85d8b4}.dhx_button--view_link{display:flex;justify-content:center;align-items:center;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;font-weight:500;line-height:20px;text-align:center;border-radius:2px;background:transparent;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_button--view_link:focus,.dhx_button--view_link:hover{transition:background-color .2s ease-out,box-shadow .2s ease-out}.dhx_button--view_link.dhx_button--color_primary{color:#0288d1;outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:#d9edf8}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:#b8def2}.dhx_button--view_link.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_primary:disabled{color:#81c4e8}.dhx_button--view_link.dhx_button--color_secondary{color:#4d4d4d;outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:#e4e4e4}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:#cdcdcd}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_secondary:disabled{color:#a6a6a6}.dhx_button--view_link.dhx_button--color_danger{color:#ff5252;outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:#ffe5e5}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:#ffcfcf}.dhx_button--view_link.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_danger:disabled{color:#ffa9a9}.dhx_button--view_link.dhx_button--color_success{color:#0ab169;outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:#daf3e9}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:#bae9d5}.dhx_button--view_link.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_success:disabled{color:#85d8b4}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:8px;margin-right:auto}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:20px;line-height:20px}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:16px;line-height:16px}.dhx_form-group{position:relative;display:block;text-align:left;padding-bottom:16px}.dhx_form-group--simplevault{line-height:0;height:100%}.dhx_form-group--simplevault .dhx_label{margin-bottom:4px}.dhx_form-group--textarea{display:flex;flex-direction:column;height:100%}.dhx_form-group--textarea .dhx_input--textarea,.dhx_form-group--textarea .dhx_input__wrapper{height:100%}.dhx_form-group--textarea .dhx_label{min-height:20px;line-height:20px;margin-bottom:4px}.dhx_form-group--inline{display:flex;flex-direction:row;width:100%;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;flex:0 1 auto;max-height:40px;margin-right:16px;margin-bottom:0;text-align:right;width:100%;margin-top:6px;align-self:flex-start}.dhx_form-group--inline .dhx_input__wrapper{flex:0 1 auto;width:300%;height:100%}.dhx_form-group--inline .dhx_label--with-help{justify-content:flex-end}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative;margin-bottom:0}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:rgba(0,0,0,.3)}.dhx_form-group--no-message-holder{padding-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input__caption,.dhx_form-group--state_error .dhx_label{color:#ff5252}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{box-shadow:inset 0 0 0 1px #ffbaba}.dhx_form-group--state_error .dhx_simplevault-files,.dhx_form-group--state_error .dhx_simplevault-files:focus,.dhx_form-group--state_error .dhx_simplevault__drop-area,.dhx_form-group--state_error .dhx_simplevault__drop-area:focus{border-color:#ffbaba}.dhx_form-group--state_success .dhx_input__caption,.dhx_form-group--state_success .dhx_label{color:#0ab169}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{box-shadow:inset 0 0 0 1px #9de0c3}.dhx_form-group--state_success .dhx_simplevault__drop-area,.dhx_form-group--state_success .dhx_simplevault__drop-area:focus{border-top-color:#9de0c3;border-left-color:#9de0c3;border-right-color:#9de0c3}.dhx_form-group--state_success .dhx_simplevault-files,.dhx_form-group--state_success .dhx_simplevault-files:focus{border-right-color:#9de0c3;border-left-color:#9de0c3;border-bottom-color:#9de0c3}.dhx_form-group--label_sr .dhx_label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_form-group .dhx_combobox{margin:0}.dhx_form-group .dhx_slider{padding-bottom:0}.dhx_input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);background-color:#f6f6f6;background-clip:padding-box;box-shadow:inset 0 0 0 1px #dfdfdf;border:0;border-radius:2px;outline:0;transition:border-color .2s ease-in,box-shadow .2s ease-in}.dhx_input::-webkit-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input:-ms-input-placeholder,.dhx_input::-ms-input-placeholder{color:rgba(0,0,0,.5)}.dhx_input::placeholder{color:rgba(0,0,0,.5)}.dhx_input:focus{box-shadow:inset 0 0 0 1px #67b8e3}.dhx_input--icon-padding{padding-right:24px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{box-shadow:none;background:none;padding-left:0}.dhx_input--textinput:focus{box-shadow:none}.dhx_input__wrapper{width:100%;display:flex;flex-direction:column;position:relative}.dhx_input__wrapper:before{color:rgba(0,0,0,.5);pointer-events:none;position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_input__container{width:100%;display:inline-block;position:relative}.dhx_input__caption{left:0;bottom:0;max-width:100%;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:12px;font-weight:400;line-height:16px;color:rgba(0,0,0,.5);white-space:wrap;overflow-x:hidden;text-overflow:ellipsis;cursor:default}.dhx_input__icon{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);right:4px;z-index:1;color:rgba(0,0,0,.5);pointer-events:none}.dhx_input__icon--color-selected{border-radius:2px}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:20px;line-height:20px}.dhx_label{display:inline-block;width:auto;flex:0 1 auto;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-weight:500;font-size:14px;line-height:20px;color:rgba(0,0,0,.7);white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;cursor:pointer;transition:color .2s ease-in,opacity .2s ease-in}.dhx_label:hover{opacity:.8;transition:color .2s ease-out,opacity .2s ease-out}.dhx_label__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_label--with-help{display:flex;align-items:center}.dhx_label-help{margin-left:4px;color:#0288d1;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.dhx_label-help:focus{outline:none}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__visual-input{display:block;border:2px solid rgba(0,0,0,.5);width:20px;height:20px;background-color:#fff;border-radius:2px;cursor:pointer}.dhx_checkbox .dhx_label{margin-top:4px;margin-bottom:0;width:auto}.dhx_checkbox .dhx_label:after{display:none}.dhx_checkbox .dhx_input__caption{position:static;display:block;-webkit-transform:none;transform:none}.dhx_checkbox.dhx_form-group--inline{display:flex;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0}.dhx_checkbox.dhx_form-group--hidden{display:none}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.dhx_checkbox__input:focus+.dhx_checkbox__visual-input{border-color:#0288d1}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input{background-color:#0288d1;background-position:50%;background-size:cover;border-color:#0288d1;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);transition:background-color .2s ease-out}.dhx_radiobutton{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_radiobutton__visual-input{display:block;border:2px solid rgba(0,0,0,.5);bottom:4px;left:0;width:20px;height:20px;background-color:#fff;border-radius:50%}.dhx_radiobutton .dhx_label{margin-top:4px;margin-bottom:0;width:auto;cursor:pointer}.dhx_radiobutton .dhx_input__caption{position:static;display:block}.dhx_radiobutton.dhx_form-group--inline{white-space:nowrap;display:flex;align-items:center}.dhx_radiobutton.dhx_form-group--inline .dhx_label{padding-left:6px;margin-top:0;padding-top:2px;padding-bottom:2px}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.dhx_radiobutton__input:focus+.dhx_radiobutton__visual-input{border-color:#0288d1}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:#0288d1;border-color:#0288d1;box-shadow:inset 0 0 0 4px #fff;transition:background-color .2s ease-out}.dhx_select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:8px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;font-size:14px;line-height:20px;color:rgba(0,0,0,.7)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{border:none;border-radius:2px;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;font-weight:400;text-align:center;overflow:hidden;position:relative}.dhx_simplevault__drop-area{background-color:#f6f6f6;border:1px solid #dfdfdf;transition:all .2s ease-in;display:flex;width:100%;height:122px;flex-direction:column;justify-content:center;align-items:center;padding:20px}.dhx_simplevault__drop-area--on-drag{border-style:dashed;transition:border .2s ease-out}.dhx_simplevault__icon:before{font-size:40px;color:rgba(0,0,0,.3);transition:color .2s ease-in}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:#0288d1;cursor:pointer}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;-webkit-transform:translateY(0);transform:translateY(0);transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in;transition:opacity .2s ease-in,transform .2s ease-in,-webkit-transform .2s ease-in}.dhx_simplevault-files{background-color:#f6f6f6;border:1px solid #dfdfdf;border-top:none;transition:all .2s ease-in;width:100%;margin:0;padding:0;list-style:none;max-height:calc(100% - 142px);height:calc(100% - 142px);overflow-y:auto}.dhx_simplevault-files__fixed{max-height:276px}.dhx_simplevault-files__item{position:relative;font-family:Roboto,Arial,Tahoma,Verdana,sans-serif;line-height:20px;font-size:14px;text-align:left;color:rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:1px solid #e4e4e4}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dhx_simplevault-loader{display:flex;justify-content:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:#ededed;-webkit-transform:translateY(100%);transform:translateY(100%);opacity:0;will-change:transform;transition:0ms;z-index:1}.dhx_simplevault-loader .dhx_simplevault__icon:before{color:#0288d1}.dhx_list{margin:0;padding:0;height:100%;list-style:none;overflow:auto;max-height:100%}.dhx_list--virtual{overflow:visible;max-height:unset;border:none}.dhx_list-item{overflow:hidden;position:relative;padding:8px 12px;border-bottom:1px solid #e4e4e4}.dhx_list-item,.dhx_list-item--text{font-family:Roboto,Arial,Tahoma,Verdana,sans-serif}.dhx_list-item--text{font-size:14px;font-weight:400;line-height:20px;transition:background-color .2s ease-in,box-shadow .2s ease-in}.dhx_list-item--selected{background-color:#f7f7f7;box-shadow:inset 2px 0 0 0 #0288d1}.dhx_list-item--focus,.dhx_list-item--selected:hover,.dhx_list-item:hover{background-color:#ededed;transition:background-color .2s ease-out}.dhx_list-item--drophere:after{content:"";position:absolute;left:0;right:0;bottom:0;top:0;background-color:#f7f7f7;opacity:.6}.dhx_list-item--dragtarget{opacity:.6}.dhx_list-item--drag{cursor:-webkit-grab;cursor:grab}.dhx_list-input{width:100%;padding-left:5px}.dhx_virtual-list-wrapper{overflow:auto;max-height:100%;border:1px solid #e4e4e4} \ No newline at end of file diff --git a/samples/window/common/list/list.min.js b/samples/window/common/list/list.min.js new file mode 100644 index 0000000..e2d841f --- /dev/null +++ b/samples/window/common/list/list.min.js @@ -0,0 +1,21 @@ +/* +@license + +undefined v.6.2.3 Professional + +This software is covered by DHTMLX Commercial License. +Usage without proper license is prohibited. + +(c) XB Software. + +*/ +if(window.dhx&&(window.dhx_legacy=dhx,delete window.dhx),function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.dhx=e():t.dhx=e()}(window,function(){return function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="/codebase/",n(n.s=17)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.all="all",t.level="level",t.leafs="leafs"}(e.TreeFilterType||(e.TreeFilterType={})),function(t){t.top="top",t.bot="bot",t.in="in"}(e.DropPosition||(e.DropPosition={})),function(t){t.afterAdd="afteradd",t.beforeAdd="beforeadd",t.removeAll="removeall",t.beforeRemove="beforeremove",t.afterRemove="afterremove",t.change="change",t.load="load",t.loadError="loaderror"}(e.DataEvents||(e.DataEvents={})),function(t){t.beforeDrag="beforedrag",t.beforeDrop="beforeDrop",t.dragStart="dragstart",t.dragEnd="dragend",t.canDrop="candrop",t.cancelDrop="canceldrop",t.dropComplete="dropcomplete",t.dragOut="dragOut",t.dragIn="dragIn"}(e.DragEvents||(e.DragEvents={})),function(t){t.target="target",t.both="both",t.source="source"}(e.DragMode||(e.DragMode={})),function(t){t.child="child",t.sibling="sibling",t.complex="complex"}(e.DropBehaviour||(e.DropBehaviour={})),function(t){t.json="json",t.csv="csv",t.xml="xml"}(e.DataDriver||(e.DataDriver={}))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(2),r=n(12);e.isEqualObj=function(t,e){for(var n in t)if(t[n]!==e[n])return!1;return!0},e.naturalCompare=function(t,e){if(isNaN(t)||isNaN(e)){var n=[],i=[];for(t.replace(/(\d+)|(\D+)/g,function(t,e,i){n.push([e||1/0,i||""])}),e.replace(/(\d+)|(\D+)/g,function(t,e,n){i.push([e||1/0,n||""])});n.length&&i.length;){var r=n.shift(),o=i.shift(),s=r[0]-o[0]||r[1].localeCompare(o[1]);if(s)return s}return n.length-i.length}return t-e},e.findByConf=function(t,e){if("function"==typeof e){if(e.call(this,t))return t}else if(e.by&&e.match&&t[e.by]===e.match)return t},e.isDebug=function(){var t=window.dhx;if(void 0!==t)return void 0!==t.debug&&t.debug},e.dhxWarning=function(t){console.warn(t)},e.dhxError=function(t){throw new Error(t)},e.toProxy=function(t){var e=typeof t;return"string"===e?new i.DataProxy(t):"object"===e?t:void 0},e.toDataDriver=function(t){if("string"==typeof t){var e=window.dhx,n=e&&e.dataDrivers||r.dataDrivers;if(n[t])return new n[t];console.warn("Incorrect data driver type:",t),console.warn("Available types:",JSON.stringify(Object.keys(n)))}else if("object"==typeof t)return t},e.copyWithoutInner=function(t,e){var n={};for(var i in t)"$"===i[0]||e&&e[i]||(n[i]=t[i]);return n},e.isTreeCollection=function(t){return Boolean(t.getRoot)},e.hasJsonOrArrayStructure=function(t){if("object"==typeof t)return!0;if("string"!=typeof t)return!1;try{var e=JSON.parse(t);return"[object Object]"===Object.prototype.toString.call(e)||Array.isArray(e)}catch(t){return!1}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(11),r=function(){function t(t){this.url=t}return t.prototype.load=function(){return i.ajax.get(this.url)},t.prototype.save=function(t,e){switch(e){case"delete":return i.ajax.delete(this.url,t);case"update":case"insert":default:return i.ajax.post(this.url,t)}},t}();e.DataProxy=r},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(4),r=(new Date).valueOf();e.uid=function(){return"u"+r++},e.extend=function t(e,n,i){if(void 0===i&&(i=!0),n)for(var r in n){var o=n[r],s=e[r];!i||"object"!=typeof s||s instanceof Date||s instanceof Array?e[r]=o:t(s,o)}return e},e.copy=function(t,e){var n={};for(var i in t)e&&"$"===i[0]||(n[i]=t[i]);return n},e.naturalSort=function(t){return t.sort(function(t,e){return"string"==typeof t?t.localeCompare(e):t-e})},e.findIndex=function(t,e){for(var n=t.length,i=0;ie.length)return!1;for(var n=0;ne)return[];for(var n=[];t<=e;)n.push(t++);return n},e.isNumeric=function(t){return!isNaN(t-parseFloat(t))},e.downloadFile=function(t,e,n){void 0===n&&(n="text/plain");var i=new Blob([t],{type:n});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(i,e);else{var r=document.createElement("a"),o=URL.createObjectURL(i);r.href=o,r.download=e,document.body.appendChild(r),r.click(),setTimeout(function(){document.body.removeChild(r),window.URL.revokeObjectURL(o)},0)}}},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n-1)return e[n[l]](i,r);o=o.parentNode}return!0}},e.locate=function(t,e){void 0===e&&(e="dhx_id");var n=r(t,e);return n?n.getAttribute(e):""},e.locateNode=r,e.getBox=function(t){var e=t.getBoundingClientRect(),n=document.body,i=window.pageYOffset||n.scrollTop,r=window.pageXOffset||n.scrollLeft;return{top:e.top+i,left:e.left+r,right:n.offsetWidth-e.right,bottom:n.offsetHeight-e.bottom,width:e.right-e.left,height:e.bottom-e.top}};var o,s=-1;function a(t){var e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,right:e.right+window.pageXOffset,top:e.top+window.pageYOffset,bottom:e.bottom+window.pageYOffset}}function l(t,e){var n=e.mode===o.bottom||e.mode===o.top?c(t,e):d(t,e),i=n.left,r=n.top;return{left:Math.round(i)+"px",top:Math.round(r)+"px",minWidth:Math.round(e.width)+"px",position:"absolute"}}function u(){return{rightBorder:window.pageXOffset+window.innerWidth,bottomBorder:window.pageYOffset+window.innerHeight}}function c(t,e){var n,r,s=u(),a=s.rightBorder,l=s.bottomBorder-t.bottom-e.height,c=t.top-e.height;if(e.mode===o.bottom?l>=0?r=t.bottom:c>=0&&(r=c):c>=0?r=c:l>=0&&(r=t.bottom),l<0&&c<0){if(e.auto)return d(t,i({},e,{mode:o.right,auto:!1}));r=l>c?t.bottom:c}if(e.centering)n=function(t,e,n){var i=(e-(t.right-t.left))/2,r=t.left-i,o=t.right+i;return r>=0&&o<=n?r:r<0?0:n-e}(t,e.width,a);else{var f=a-t.left-e.width,h=t.right-e.width;n=f>=0?t.left:h>=0?h:h>f?t.left:h}return{left:n,top:r}}function d(t,e){var n,r,s=u(),a=s.rightBorder,l=s.bottomBorder,d=a-t.right-e.width,f=t.left-e.width;if(e.mode===o.right?d>=0?n=t.right:f>=0&&(n=f):f>=0?n=f:d>=0&&(n=t.right),f<0&&d<0){if(e.auto)return c(t,i({},e,{mode:o.bottom,auto:!1}));n=f>d?f:t.right}if(e.centering)r=function(t,e,n){var i=(e-(t.bottom-t.top))/2,r=t.top-i,o=t.bottom+i;return r>=0&&o<=n?r:r<0?0:n-e}(t,e.height,a);else{var h=t.bottom-e.height,p=l-t.top-e.height;r=p>=0?t.top:h>0?h:h>p?h:t.top}return{left:n,top:r}}e.getScrollbarWidth=function(){if(s>-1)return s;var t=document.createElement("div");return document.body.appendChild(t),t.style.cssText="position: absolute;left: -99999px;overflow:scroll;width: 100px;height: 100px;",s=t.offsetWidth-t.clientWidth,document.body.removeChild(t),s},e.fitPosition=function(t,e){return l(a(t),e)},e.isIE=function(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1},e.getRealPosition=a,function(t){t.left="left",t.right="right",t.bottom="bottom",t.top="top"}(o=e.Position||(e.Position={})),e.calculatePosition=l},function(t,e,n){"use strict";function i(t){for(var n in t)e.hasOwnProperty(n)||(e[n]=t[n])}Object.defineProperty(e,"__esModule",{value:!0}),i(n(0)),i(n(10)),i(n(27)),i(n(28)),i(n(2)),i(n(1)),i(n(14)),i(n(13)),i(n(30)),i(n(12)),i(n(11))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t){this.events={},this.context=t||this}return t.prototype.on=function(t,e,n){var i=t.toLowerCase();this.events[i]=this.events[i]||[],this.events[i].push({callback:e,context:n||this.context})},t.prototype.detach=function(t,e){var n=t.toLowerCase(),i=this.events[n];if(e&&i&&i.length)for(var r=i.length-1;r>=0;r--)i[r].context===e&&i.splice(r,1);else this.events[n]=[]},t.prototype.fire=function(t,e){void 0===e&&(e=[]);var n=t.toLowerCase();return!this.events[n]||this.events[n].map(function(t){return t.callback.apply(t.context,e)}).indexOf(!1)<0},t.prototype.clear=function(){this.events={}},t}();e.EventSystem=i,e.EventsMixin=function(t){var e=new i(t=t||{});t.detachEvent=e.detach.bind(e),t.attachEvent=e.on.bind(e),t.callEvent=e.fire.bind(e)}},function(t,e,n){(function(e,n){!function(){var i=1,r={},o=!1;function s(t){e.setImmediate?n(t):e.importScripts?setTimeout(t):(r[++i]=t,e.postMessage(i,"*"))}function a(t){"use strict";if("function"!=typeof t&&void 0!=t)throw TypeError();if("object"!=typeof this||this&&this.then)throw TypeError();var e,n,i=this,r=0,o=0,l=[];i.promise=i,i.resolve=function(t){return e=i.fn,n=i.er,r||(o=t,r=1,s(d)),i},i.reject=function(t){return e=i.fn,n=i.er,r||(o=t,r=2,s(d)),i},i._d=1,i.then=function(t,e){if(1!=this._d)throw TypeError();var n=new a;return n.fn=t,n.er=e,3==r?n.resolve(o):4==r?n.reject(o):l.push(n),n},i.catch=function(t){return i.then(null,t)};var u=function(t){r=t||4,l.map(function(t){3==r&&t.resolve(o)||t.reject(o)})};try{"function"==typeof t&&t(i.resolve,i.reject)}catch(t){i.reject(t)}return i;function c(t,e,n,i){if(2==r)return i();if("object"!=typeof o&&"function"!=typeof o||"function"!=typeof t)i();else try{var s=0;t.call(o,function(t){s++||(o=t,e())},function(t){s++||(o=t,n())})}catch(t){o=t,n()}}function d(){var t;try{t=o&&o.then}catch(t){return o=t,r=2,d()}c(t,function(){r=1,d()},function(){r=2,d()},function(){try{1==r&&"function"==typeof e?o=e(o):2==r&&"function"==typeof n&&(o=n(o),r=1)}catch(t){return o=t,u()}o==i?(o=TypeError(),u()):c(t,function(){u(3)},u,function(){u(1==r&&3)})})}}(e=this).setImmediate||e.addEventListener("message",function(t){if(t.source==e)if(o)s(r[t.data]);else{o=!0;try{r[t.data]()}catch(t){}delete r[t.data],o=!1}}),a.resolve=function(t){if(1!=this._d)throw TypeError();return t instanceof a?t:new a(function(e){e(t)})},a.reject=function(t){if(1!=this._d)throw TypeError();return new a(function(e,n){n(t)})},a.all=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());var e=new a;return function n(i,r){return r?e.resolve(r):i?e.reject(i):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(e,i){e&&e.then&&e.then(function(e){return t[i]=e,n(),e},n)}))}(),e},a.race=function(t){if(1!=this._d)throw TypeError();if(!(t instanceof Array))return a.reject(TypeError());if(0==t.length)return new a;var e=new a;return function n(i,r){return r?e.resolve(r):i?e.reject(i):(0==t.reduce(function(t,e){return e&&e.then?t+1:t},0)&&e.resolve(t),void t.map(function(t,e){t&&t.then&&t.then(function(t){n(null,t)},n)}))}(),e},a._d=1,t.exports=a}()}).call(this,n(8),n(20).setImmediate)},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.beforeUnSelect="beforeunselect",t.afterUnSelect="afterunselect",t.beforeSelect="beforeselect",t.afterSelect="afterselect"}(e.SelectionEvents||(e.SelectionEvents={}))},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=0?e:-1},t.prototype.getId=function(t){if(this._order[t])return this._order[t].id},t.prototype.getLength=function(){return this._order.length},t.prototype.filter=function(t,e){if((e=c.extend({add:!1,multiple:!0},e)).add||(this._order=this._initOrder||this._order,this._initOrder=null),this._filters=this._filters||{},e.multiple&&t||(this._filters={}),t){if("function"==typeof t){this._filters._={match:"_",compare:t}}else t.match?(t.compare=t.compare||function(t,e){return t===e},this._filters[t.by]=t):delete this._filters[t.by];this._applyFilters()}this.events.fire(u.DataEvents.change)},t.prototype.find=function(t){for(var e in this._pull){var n=l.findByConf(this._pull[e],t);if(n)return n}return null},t.prototype.findAll=function(t){var e=[];for(var n in this._pull){var i=l.findByConf(this._pull[n],t);i&&e.push(i)}return e},t.prototype.sort=function(t){if(t)this._sort.sort(this._order,t),this._initOrder&&this._initOrder.length&&this._sort.sort(this._initOrder,t);else{for(var e in this._order=[],this._pull)this._order.push(this._pull[e]);this._applyFilters()}this.events.fire(u.DataEvents.change)},t.prototype.copy=function(e,n,r,o){var s=this;if(e instanceof Array)return e.map(function(e,a){if(!s.exists(e))return null;var u=c.uid(),d=-1===n?-1:n+a;return r?r instanceof t||!o?r.exists(e)?(r.add(i({},l.copyWithoutInner(s.getItem(e)),{id:u}),d),u):(r.add(l.copyWithoutInner(s.getItem(e)),d),e):void r.add(l.copyWithoutInner(s.getItem(e)),d):(s.add(i({},l.copyWithoutInner(s.getItem(e)),{id:u}),d),u)});if(!this.exists(e))return null;var a=c.uid();return r?r instanceof t||!o?r.exists(e)?(r.add(i({},l.copyWithoutInner(this.getItem(e)),{id:a}),n),a):(r.add(l.copyWithoutInner(this.getItem(e)),n),e):void r.add(l.copyWithoutInner(this.getItem(e)),n):(this.add(i({},l.copyWithoutInner(this.getItem(e)),{id:a}),n),a)},t.prototype.move=function(t,e,n,i){var r=this;if(t instanceof Array)return t.map(function(t,o){var s=-1===e?-1:e+o;if(n&&n!==r&&r.exists(t)){var a=c.copy(r.getItem(t),!0);return n.exists(t)&&(a.id=c.uid()),i&&(a.parent=i),n.add(a,s),r.remove(t),a.id}if(r.getIndex(t)===s)return null;var l=r._order.splice(r.getIndex(t),1)[0];return-1===e&&(e=r._order.length),r._order.splice(s,0,l),r.events.fire(u.DataEvents.change),t});if(n&&n!==this&&this.exists(t)){var o=c.copy(this.getItem(t),!0);return n.exists(t)&&(o.id=c.uid()),i&&(o.parent=i),n.add(o,e),this.remove(t),o.id}if(this.getIndex(t)===e)return null;var s=this._order.splice(this.getIndex(t),1)[0];return-1===e&&(e=this._order.length),this._order.splice(e,0,s),this.events.fire(u.DataEvents.change),t},t.prototype.load=function(t,e){return"string"==typeof t&&(t=new a.DataProxy(t)),this._loader.load(t,e)},t.prototype.parse=function(t,e){return this._removeAll(),this._loader.parse(t,e)},t.prototype.$parse=function(t){var e=this.config.approximate;e&&(t=this._approximate(t,e.value,e.maxNum)),this._parse_data(t),this.events.fire(u.DataEvents.change,["load"]),this.events.fire(u.DataEvents.load)},t.prototype.save=function(t){this._loader.save(t)},t.prototype.isSaved=function(){return!this._changes.order.length},t.prototype.map=function(t){for(var e=[],n=0;nthis._order.length-1&&(e=this._order.length-1);for(var i=[],r=t;r<=e;r++)i.push(n.call(this,this._order[r],r));return i},t.prototype.reduce=function(t,e){for(var n=0;n=0&&(this._order=this._order.filter(function(e){return e.id!==t}),delete this._pull[t]),this._initOrder&&this._initOrder.length&&(this._initOrder=this._initOrder.filter(function(e){return e.id!==t}))},t.prototype._parse_data=function(t){var e=this._order.length;this.config.prep&&(t=this.config.prep(t));for(var n=0,i=t;n=0&&t[n]?(this._pull[e.id]=e,t.splice(n,0,e)):(this._pull[e.id]=e,t.push(e))},t.prototype._applyFilters=function(){var t=this;if(this._filters&&Object.keys(this._filters).length){var e=this._order.filter(function(e){return Object.keys(t._filters).every(function(n){return e[n]?t._filters[n].compare(e[n],t._filters[n].match,e):t._filters[n].compare(e)})});this._initOrder||(this._initOrder=this._order),this._order=e}},t}();e.DataCollection=d},function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0});var i=n(0),r=n(1);function o(t){return t?t.indexOf("json")>=0?"json":t.indexOf("xml")>=0?"xml":"text":"text"}function s(e,n,s,a,l){var u=a||{};if(l&&(u.Accept="application/"+l),"GET"!==s&&(u["Content-Type"]=u["Content-Type"]||"application/json"),"GET"===s){var c=n&&"object"==typeof n?function(t){return Object.keys(t).reduce(function(e,n){var i="object"==typeof t[n]?JSON.stringify(t[n]):t[n];return e.push(n+"="+encodeURIComponent(i)),e},[]).join("&")}(n):n&&"string"==typeof n?n:"";c&&(e+=-1===e.indexOf("?")?"?":"&",e+=c),n=null}return window.fetch?window.fetch(e,{method:s,body:n?JSON.stringify(n):null,headers:u}).then(function(e){if(!e.ok)return e.text().then(function(n){return t.reject({status:e.status,statusText:e.statusText,message:n})});var n=l||o(e.headers.get("Content-Type"));if("raw"===n)return{headers:Object.fromEntries(e.headers.entries()),url:e.url,body:e.body};if(204!==e.status)switch(n){case"json":return e.json();case"xml":var s=r.toDataDriver(i.DataDriver.xml);return s?e.text().then(s.toJsonObject):e.text();default:return e.text()}}):new t(function(t,a){var c=new XMLHttpRequest;for(var d in c.onload=function(){c.status>=200&&c.status<300?("raw"===l&&t({url:c.responseURL,headers:c.getAllResponseHeaders().trim().split(/[\r\n]+/).reduce(function(t,e){var n=e.split(": ");return t[n[0]]=n[1],t},{}),body:c.response}),204===c.status?t():t(function(t,e){switch(e){case"json":return JSON.parse(t);case"text":return t;case"xml":var n=r.toDataDriver(i.DataDriver.xml);return n?n.toJsonObject(t):{parseError:"Incorrect data driver type: 'xml'"};default:return t}}(c.responseText,l||o(c.getResponseHeader("Content-Type"))))):a({status:c.status,statusText:c.statusText})},c.onerror=function(){a({status:c.status,statusText:c.statusText,message:c.responseText})},c.open(s,e),u)c.setRequestHeader(d,u[d]);switch(s){case"POST":case"DELETE":case"PUT":c.send(n&&JSON.stringify(n));break;case"GET":default:c.send()}})}e.ajax={get:function(t,e,n){return s(t,e,"GET",n&&n.headers,void 0!==n?n.responseType:void 0)},post:function(t,e,n){return s(t,e,"POST",n&&n.headers,void 0!==n?n.responseType:void 0)},put:function(t,e,n){return s(t,e,"PUT",n&&n.headers,void 0!==n?n.responseType:void 0)},delete:function(t,e,n){return s(t,e,"DELETE",n&&n.headers,void 0!==n?n.responseType:void 0)}}}).call(this,n(7))},function(t,e,n){"use strict";var i=this&&this.__assign||function(){return(i=Object.assign||function(t){for(var e,n=1,i=arguments.length;n=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(21),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,n(8))},function(t,e,n){(function(t,e){!function(t,n){"use strict";if(!t.setImmediate){var i,r=1,o={},s=!1,a=t.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(t);l=l&&l.setTimeout?l:t,"[object process]"==={}.toString.call(t.process)?i=function(t){e.nextTick(function(){c(t)})}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?function(){var e="setImmediate$"+Math.random()+"$",n=function(n){n.source===t&&"string"==typeof n.data&&0===n.data.indexOf(e)&&c(+n.data.slice(e.length))};t.addEventListener?t.addEventListener("message",n,!1):t.attachEvent("onmessage",n),i=function(n){t.postMessage(e+n,"*")}}():t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){c(t.data)},i=function(e){t.port2.postMessage(e)}}():a&&"onreadystatechange"in a.createElement("script")?function(){var t=a.documentElement;i=function(e){var n=a.createElement("script");n.onreadystatechange=function(){c(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():i=function(t){setTimeout(c,0,t)},l.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n1)for(var n=1;n\n";for(var s in t)Array.isArray(t[s])?(n+=r(e+i)+"<"+s+">\n",n+=t[s].map(function(t){return o(t,e+2*i)}).join("\n")+"\n",n+=r(e+i)+"\n"):n+=r(e+i)+"<"+s+">"+t[s]+"\n";return n+=r(e)+""}e.jsonToXML=function(t,e){void 0===e&&(e="root");for(var n='\n<'+e+">",i=0;i"}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),r=function(){function t(){}return t.prototype.sort=function(t,e){var n=this;e.rule&&"function"==typeof e.rule?this._sort(t,e):e.by&&(e.rule=function(t,r){var o=n._checkVal(e.as,t[e.by]),s=n._checkVal(e.as,r[e.by]);return i.naturalCompare(o.toString(),s.toString())},this._sort(t,e))},t.prototype._checkVal=function(t,e){return t?t.call(this,e):e},t.prototype._sort=function(t,e){var n=this,i={asc:1,desc:-1};return t.sort(function(t,r){return e.rule.call(n,t,r)*(i[e.dir]||i.asc)})},t}();e.Sort=r},function(t,e){if(Element&&!Element.prototype.matches){var n=Element.prototype;n.matches=n.matchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector||n.webkitMatchesSelector}},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}();Object.defineProperty(e,"__esModule",{value:!0});var r=n(3),o=n(10),s=n(2),a=n(1),l=n(0);function u(t,e,n,i){void 0!==i&&-1!==i&&t[n]&&t[n][i]?t[n].splice(i,0,e):(t[n]||(t[n]=[]),t[n].push(e))}var c=function(t){function e(e,n){var i,o=t.call(this,e,n)||this,s=o._root="_ROOT_"+r.uid();return o._childs=((i={})[s]=[],i),o._initChilds=null,o}return i(e,t),e.prototype.add=function(e,n,i){var r=this;if(void 0===n&&(n=-1),void 0===i&&(i=this._root),"object"!=typeof e&&(e={value:e}),Array.isArray(e))return e.map(function(e,o){o>0&&-1!==n&&(n+=1),e.parent=e.parent?e.parent.toString():i;var s=t.prototype.add.call(r,e,n);if(Array.isArray(e.items))for(var a=0,l=e.items;a0&&i[t]!==i[s.getRoot()]&&e){var o=i[s.getRoot()].find(function(e){if(e.id===t)return e});o&&r.push(o)}},s=this;for(var a in i)o(a);i[this.getRoot()]=r,this._childs=i,this.events.fire(l.DataEvents.change)}else this.restoreOrder()},e.prototype.restoreOrder=function(){this._initChilds&&(this._childs=this._initChilds,this._initChilds=null),this.events.fire(l.DataEvents.change)},e.prototype.copy=function(t,e,n,i){var o=this;if(void 0===n&&(n=this),void 0===i&&(i=this._root),t instanceof Array)return t.map(function(t,s){if(!o.exists(t))return null;var l=o._childs[t],u=-1===e?-1:e+s;if(n===o&&!o.canCopy(t,i))return null;var c=a.copyWithoutInner(o.getItem(t),{items:!0});if(n.exists(t)&&(c.id=r.uid()),a.isTreeCollection(n)){if(o.exists(t)&&(c.parent=i,n!==o&&i===o._root&&(c.parent=n.getRoot()),n.add(c,u),t=c.id),l)for(var d=0,f=l;d1?(this._selectedIds=e,this._itemsForGhost=n):(this._selectedIds=[],this._itemsForGhost=null),o&&s){var a=i.getBox(r),l=a.left,u=a.top;this._transferData.initXOffset=t.pageX-l,this._transferData.initYOffset=t.pageY-u,this._transferData.x=t.pageX,this._transferData.y=t.pageY,this._transferData.targetId=s,this._transferData.id=o,this._transferData.item=r}}},t.prototype._moveGhost=function(t,e){this._transferData.ghost&&(this._transferData.ghost.style.left=t-this._transferData.initXOffset+"px",this._transferData.ghost.style.top=e-this._transferData.initYOffset+"px")},t.prototype._removeGhost=function(){document.body.removeChild(this._transferData.ghost)},t.prototype._onDrop=function(){if(this._canMove){var t=r.collectionStore.getItem(this._lastCollectionId),e=t&&t.config;if(t&&e.dragMode!==o.DragMode.source){if(t.events.fire(o.DragEvents.beforeDrop,[this._lastId,this._transferData.target])){var n={id:this._lastId,target:t},i={id:this._transferData.id,target:this._transferData.target};this._move(i,n),n.target.events.fire(o.DragEvents.dropComplete,[n.id,this._transferData.dropPosition])}this._endDrop()}else this._endDrop()}else this._endDrop()},t.prototype._onDragStart=function(t,e){var n=r.collectionStore.getItem(e),i=n.config;if(i.dragMode===o.DragMode.target)return null;var s=n.data.getItem(t),a=function(t,e){var n=t.getBoundingClientRect(),i=document.createElement("div"),r=t.cloneNode(!0);return r.style.width=n.width+"px",r.style.height=n.height+"px",r.style.maxHeight=n.height+"px",r.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,r.style.opacity="0.8",r.style.fontSize=window.getComputedStyle(t.parentElement).fontSize,i.appendChild(r),e&&e.length&&e.forEach(function(t,e){var r=t.cloneNode(!0);r.style.width=n.width+"px",r.style.height=n.height+"px",r.style.maxHeight=n.height+"px",r.style.top=12*(e+1)-n.height-n.height*e+"px",r.style.left=12*(e+1)+"px",r.style.opacity="0.6",r.style.zIndex=""+(-e-1),i.appendChild(r)}),i.className="dhx_drag-ghost",i}(this._transferData.item,this._itemsForGhost);return n.events.fire(o.DragEvents.beforeDrag,[s,a])&&t?(n.events.fire(o.DragEvents.dragStart,[t,this._selectedIds]),this._toggleTextSelection(!0),this._transferData.target=n,this._transferData.dragConfig=i,a):null},t.prototype._onDrag=function(t){var e=t.clientX,n=t.clientY,a=document.elementFromPoint(e,n),l=i.locate(a,"dhx_widget_id");if(l){var u=r.collectionStore.getItem(l),c=i.locate(a,"dhx_id");if(!c)return this._cancelCanDrop(),this._lastCollectionId=l,this._lastId=null,void this._canDrop();if(u.config.dropBehaviour===o.DropBehaviour.complex){var d=function(t){var e=t.clientY,n=i.locateNode(t);if(!n)return null;var r=n.childNodes[0].getBoundingClientRect();return(e-r.top)/r.height}(t);this._transferData.dropPosition=d<=.25?o.DropPosition.top:d>=.75?o.DropPosition.bot:o.DropPosition.in}else if(this._lastId===c&&this._lastCollectionId===l)return;var f={id:this._transferData.id,target:this._transferData.target};if("source"!==u.config.dragMode)if(f.target.events.fire(o.DragEvents.dragOut,[c,u]),l!==this._transferData.targetId||!s.isTreeCollection(f.target.data)||s.isTreeCollection(f.target.data)&&f.target.data.canCopy(f.id,c))this._cancelCanDrop(),this._lastId=c,this._lastCollectionId=l,f.target.events.fire(o.DragEvents.dragIn,[c,this._transferData.dropPosition,r.collectionStore.getItem(l)])&&this._canDrop();else this._cancelCanDrop()}else this._canMove&&this._cancelCanDrop()},t.prototype._move=function(t,e){var n=t.target.data,i=e.target.data,r=0,a=e.id;switch(s.isTreeCollection(i)?e.target.config.dropBehaviour:void 0){case o.DropBehaviour.child:break;case o.DropBehaviour.sibling:a=i.getParent(a),r=i.getIndex(e.id)+1;break;case o.DropBehaviour.complex:var l=this._transferData.dropPosition;l===o.DropPosition.top?(a=i.getParent(a),r=i.getIndex(e.id)):l===o.DropPosition.bot&&(a=i.getParent(a),r=i.getIndex(e.id)+1);break;default:r=e.id?t.target===e.target&&i.getIndex(t.id)1?this._selectedIds.map(function(t){n.copy(t,r,i,a),r>-1&&r++}):n.copy(t.id,r,i,a):this._selectedIds instanceof Array&&this._selectedIds.length>1?this._selectedIds.map(function(t){n.move(t,r,i,a),r>-1&&r++}):n.move(t.id,r,i,a)},t.prototype._endDrop=function(){this._toggleTextSelection(!1),this._transferData.target&&this._transferData.target.events.fire(o.DragEvents.dragEnd,[this._transferData.id,this._selectedIds]),this._cancelCanDrop(),this._canMove=!0,this._transferData={},this._lastId=null,this._lastCollectionId=null},t.prototype._cancelCanDrop=function(){this._canMove=!1;var t=r.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(o.DragEvents.cancelDrop,[this._lastId]),this._lastCollectionId=null,this._lastId=null},t.prototype._canDrop=function(){this._canMove=!0;var t=r.collectionStore.getItem(this._lastCollectionId);t&&this._lastId&&t.events.fire(o.DragEvents.canDrop,[this._lastId,this._transferData.dropPosition])},t.prototype._toggleTextSelection=function(t){t?document.body.classList.add("dhx_no-select"):document.body.classList.remove("dhx_no-select")},t}(),l=window.dhxHelpers=window.dhxHelpers||{};l.dragManager=l.dragManager||new a,e.dragManager=l.dragManager},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(){this._store={}}return t.prototype.setItem=function(t,e){this._store[t]=e},t.prototype.getItem=function(t){return this._store[t]?this._store[t]:null},t}(),r=window.dhxHelpers=window.dhxHelpers||{};r.collectionStore=r.collectionStore||new i,e.collectionStore=r.collectionStore},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(6),r=n(9),o=n(0),s=function(){function t(t,e,n){var r=this;this.events=n||new i.EventSystem(this),this._data=e,this._data.events.on(o.DataEvents.removeAll,function(){r._selected=null}),this._data.events.on(o.DataEvents.change,function(){if(r._selected){var t=r._data.getNearId(r._selected);t!==r._selected&&(r._selected=null,t&&r.add(t))}})}return t.prototype.getId=function(){return this._selected},t.prototype.getItem=function(){return this._selected?this._data.getItem(this._selected):null},t.prototype.remove=function(t){return!(t=t||this._selected)||!!this.events.fire(r.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=null,this.events.fire(r.SelectionEvents.afterUnSelect,[t]),!0)},t.prototype.add=function(t){this._selected!==t&&(this.remove(),this.events.fire(r.SelectionEvents.beforeSelect,[t])&&(this._selected=t,this._data.update(t,{$selected:!0}),this.events.fire(r.SelectionEvents.afterSelect,[t])))},t}();e.Selection=s},function(t,e,n){"use strict";var i=this&&this.__extends||function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),r=this&&this.__assign||function(){return(r=Object.assign||function(t){for(var e,n=1,i=arguments.length;nthis.data.getLength()-1)){this._focusIndex=t;var e=this.getRootView();if(e&&e.node&&e.node.el){var n=this.getRootNode();if(n){if(this.config.virtual){var i=t*_.defineValue(this.config.itemHeight);(i>=_.defineValue(this._visibleHeight)+this._topOffset||i=n.scrollTop+n.clientHeight-r.clientHeight?n.scrollTop=r.offsetTop-n.clientHeight+r.clientHeight:r.offsetTope-_.defineValue(this._visibleHeight)&&(t=e-_.defineValue(this._visibleHeight));var n=Math.floor(_.defineValue(this._visibleHeight)/_.defineValue(this.config.itemHeight))+5,i=Math.floor(t/_.defineValue(this.config.itemHeight));this._range=[i,n+i],this._topOffset=t,this.paint()},e.prototype._getHeight=function(){return this.data.getLength()*_.defineValue(this.config.itemHeight)},e.prototype._getHotkeys=function(){var t=this;if(this.config.keyNavigation)if(this._edited)this._navigationDestructor&&this._navigationDestructor();else{var e=this.config.keyNavigation;"function"!=typeof this.config.keyNavigation&&(this._widgetInFocus=!1,e=function(){return t._widgetInFocus},this._documentClickDestuctor=o.detectWidgetClick(this._uid,function(e){return t._widgetInFocus=e}));var n=function(t){return function(e){e.preventDefault(),t()}};this._navigationDestructor=u.addHotkeys({arrowdown:n(function(){return t.setFocusIndex(t._focusIndex+1)}),arrowup:n(function(){return t.setFocusIndex(t._focusIndex-1)}),enter:function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n),t.events.fire(p.ListEvents.click,[n,e])},"enter+shift":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!1,!0),t.events.fire(p.ListEvents.click,[n,e])},"enter+ctrl":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!0,!1),t.events.fire(p.ListEvents.click,[n,e])},"enter+meta":function(e){var n=t.data.getId(t._focusIndex);t.selection.add(n,!0,!1),t.events.fire(p.ListEvents.click,[n,e])}},e)}},e}(d.View);e.List=g},function(t,e,n){ +/** +* Copyright (c) 2017, Leon Sorokin +* All rights reserved. (MIT Licensed) +* +* domvm.js (DOM ViewModel) +* A thin, fast, dependency-free vdom view layer +* @preserve https://github.com/leeoniya/domvm (v3.2.6, micro build) +*/ +t.exports=function(){"use strict";var t=1,e=2,n=3,i=4,r=5,o="undefined"!=typeof window,s=(o?window:{}).requestAnimationFrame,a={};function l(){}var u=Array.isArray;function c(t){return null!=t}function d(t){return null!=t&&t.constructor===Object}function f(t,e,n,i){t.splice.apply(t,[n,i].concat(e))}function h(t){var e=typeof t;return"string"===e||"number"===e}function p(t){return"function"==typeof t}function v(t){for(var e=arguments,n=1;n0&&n[i-1].type===e?(n[i-1].body+=r.body,n.splice(i--,1)):H(r,t,i,null):H(r,t,i,null))}}(t)}}var R={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,order:!0,lineClamp:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};function F(t,e){return isNaN(e)||R[t]?e:e+"px"}function V(t,e){var n=(t.attrs||a).style,i=e?(e.attrs||a).style:null;if(null==n||h(n))t.el.style.cssText=n;else{for(var r in n){var o=n[r];(null==i||null!=o&&o!==i[r])&&(t.el.style[r]=F(r,o))}if(i)for(var s in i)null==n[s]&&(t.el.style[s]="")}}var B=[];function W(t,e,n,i,r){if(null!=t){var o=n.hooks[e];if(o){if("d"!==e[0]||"i"!==e[1]||"d"!==e[2])return o(n,i);r?I(n.parent)&&o(n,i):B.push([o,n,i])}}}function $(t){var e;if(B.length)for(I(t.node);e=B.shift();)e[0](e[1],e[2])}var z=o?document:null;function U(t){return t.nextSibling}function J(t,e,n){var i=e._node,r=i.vm;if(u(i.body))if((i.flags&M)===M)for(var o=0;o>1]===t)return n;e[n]0&&(i[o]=r[e-1]),r[e]=o)}}for(e=r.length,n=r[e-1];e-- >0;)r[e]=n,n=i[n];return r}(o).map(function(t){return o[t]}),u=0;uc&&(m=null,v=!1):w=!0,c>100&&w&&++b%10==0))for(;I1){var o=1;d(i[1])&&(n=i[1],o=2),e=r===o+1&&(h(i[o])||u(i[o])||n&&(n._flags&L)===L)?i[o]:_(i,o)}return N(t,n,e)}return k.patch=function(t,e){!function(t,e,n){if(null!=e.type){if(null!=t.vm)return;H(e,t.parent,t.idx,null),t.parent.body[t.idx]=e,bt(e,t),n&&I(e),$(S(e))}else{var i=Object.create(t);i.attrs=v({},t.attrs);var r=v(t.attrs,e);if(null!=t._class){var o=r.class;r.class=null!=o&&""!==o?t._class+" "+o:t._class}st(t,i),n&&I(t)}}(this,t,e)},It.emit=function(t){var e=this,n=e,i=_(arguments,1).concat(n,n.data);do{var r=e.onemit,o=r?r[t]:null;if(o){o.apply(e,i);break}}while(e=e.parent());Z[t]&&Z[t].apply(e,i)},It.onemit=null,It.body=function(){return function t(e,n){var i=e.body;if(u(i))for(var r=0;r=48&&e.which<=57||e.which>=65&&e.which<=90?String.fromCharCode(e.which):e.key)&&n.toLowerCase()),r=t._keysStorage[i];if(r)for(var o=0;o=0;s--)n[r].splice(o[s],1)}},t.prototype.exist=function(t){var e=i(t);return!!this._keysStorage[e]},t}();e.keyManager=new r,e.addHotkeys=function(t,n){var i=new Date,r=function(t){return function(e){n&&!1===n()||t(e)}};for(var o in t)e.keyManager.addHotKey(o,r(t[o]),i);return function(){return e.keyManager.removeHotKey(void 0,i)}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(3),r=n(4),o=function(){function t(t,e){this._uid=i.uid(),this.config=e||{}}return t.prototype.mount=function(t,e){e&&(this._view=e),t&&this._view&&this._view.mount&&(this._container=r.toNode(t),this._container.tagName?this._view.mount(this._container):this._container.attach&&this._container.attach(this))},t.prototype.unmount=function(){var t=this.getRootView();t&&t.node&&(t.unmount(),this._view=null)},t.prototype.getRootView=function(){return this._view},t.prototype.getRootNode=function(){return this._view&&this._view.node&&this._view.node.el},t.prototype.paint=function(){this._view&&(this._view.node||this._container)&&(this._doNotRepaint=!1,this._view.redraw())},t}();e.View=o,e.toViewLike=function(t){return{getRootView:function(){return t},paint:function(){return t.node&&t.redraw()},mount:function(e){return t.mount(e)}}}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(9),r=n(5),o=function(){function t(t,e){var n=this;this.config=t,this.events=e.events,this._data=e,this._selected=[],this._lastShiftSelectedIndexes=[],this._data.events.on(r.DataEvents.removeAll,function(){n._selected=[]}),this._data.events.on(r.DataEvents.afterRemove,function(t){if(n._selected=n._selected.filter(function(e){return e!==t.id}),!n.config.multiselection||0===n.getId().length){var e=n._data.getId(n._lastSelectedIndex);if(e)n.add(e);else{var i=n._data.getId(n._data.getLength()-1);i&&n.add(i)}}})}return t.prototype.getId=function(){return this.config.multiselection?this._selected:this._selected[0]},t.prototype.getItem=function(){var t=this;if(this._selected.length){var e=this._selected.map(function(e){return t._data.getItem(e)});return this.config.multiselection?e:e[0]}return null},t.prototype.contains=function(t){return t?this._selected.indexOf(t)>-1:this._selected.length>0},t.prototype.remove=function(t){var e=this;if(t)return!t&&!this._selected.length||(t?this._unselectItem(t):(this._selected.forEach(function(t){return e._unselectItem(t)}),!0));this._data.map(function(t){t.$selected=!1,e._selected=[]})},t.prototype.add=function(t,e,n){var r=this;if(this.events.fire(i.SelectionEvents.beforeSelect))return t?void(this.config.multiselection?this._addMulti(t,e,n):this._addSingle(t,e)):(this._selected=[],void this._data.map(function(t){t.$selected=!0,r._selected.push(t.id)}))},t.prototype._addMulti=function(t,e,n){var r=this,o=this._data.getIndex(t);"click"===this.config.multiselectionMode&&(n?(this._addWithShift(o),this.events.fire(i.SelectionEvents.afterSelect,[t])):(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[])),"ctrlClick"===this.config.multiselectionMode&&(n||e||(this._data.map(function(t){t.$selected=!1,r._selected=[]}),this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]),n&&(this._addWithShift(o),this.events.fire(i.SelectionEvents.afterSelect,[t])),e&&(this._isSelected(t)?this._unselectItem(t):this._selectItem(t),this._lastSelectedIndex=this._data.getIndex(this._selected[this._selected.length-1]),this._lastShiftSelectedIndexes=[]))},t.prototype._addWithShift=function(t){var e=this;t>=this._lastSelectedIndex&&(this._data.map(function(t,n){-1!==e._lastShiftSelectedIndexes.indexOf(n)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(n)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==n&&t!==e._lastSelectedIndex}))}),this._data.map(function(n,i){i>=e._lastSelectedIndex&&i<=t&&(n.$selected=!0,-1===e._selected.indexOf(n.id)&&e._selected.push(n.id),i!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(i)&&e._lastShiftSelectedIndexes.push(i))})),t<=this._lastSelectedIndex&&(this._data.map(function(t,n){-1!==e._lastShiftSelectedIndexes.indexOf(n)&&(t.$selected=!1,e._selected=e._selected.filter(function(t){return t!==e._data.getId(n)}),e._lastShiftSelectedIndexes=e._lastShiftSelectedIndexes.filter(function(t){return t!==n&&t!==e._lastSelectedIndex}))}),this._data.map(function(n,i){i<=e._lastSelectedIndex&&i>=t&&(n.$selected=!0,-1===e._selected.indexOf(n.id)&&e._selected.push(n.id),i!==e._lastSelectedIndex&&-1===e._lastShiftSelectedIndexes.indexOf(i)&&e._lastShiftSelectedIndexes.push(i))}))},t.prototype._addSingle=function(t,e){this.remove(),this.config&&"click"===this.config.multiselectionMode?this._selectItem(t):e&&this._selectItem(t)},t.prototype._isSelected=function(t){return-1!==this._selected.indexOf(t)},t.prototype._selectItem=function(t){this._selected.push(t),this._data.update(t,{$selected:!0}),this._lastSelectedIndex=this._data.getIndex(t),this.events.fire(i.SelectionEvents.afterSelect,[t])},t.prototype._unselectItem=function(t){return!!this.events.fire(i.SelectionEvents.beforeUnSelect,[t])&&(this._data.update(t,{$selected:!1}),this._selected=this._selected.filter(function(e){return e!==t}),this.events.fire(i.SelectionEvents.afterUnSelect,[t]),!0)},t}();e.Selection=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(37);e.getEditor=function(t,e){return new i.InputEditor(t,e)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(15),r=n(16),o=function(){function t(t,e){var n=this;this._list=e,this._config=e.config,this._item=t,this._list.events.on(r.ListEvents.focusChange,function(t,e){n._mode&&e!==n._item.id&&n.endEdit()}),this._initHandlers()}return t.prototype.endEdit=function(){if(this._input){var t=this._input.value;this._list.events.fire(r.ListEvents.beforeEditEnd,[t,this._item.id])?(this._input.removeEventListener("blur",this._handlers.onBlur),this._input.removeEventListener("change",this._handlers.onChange),this._handlers={},this._mode=!1,this._list.events.fire(r.ListEvents.afterEditEnd,[t,this._item.id])):this._input.focus()}},t.prototype.toHTML=function(){this._mode=!0;var t=this._config.itemHeight;return i.el(".dhx_input__wrapper",{},[i.el("div.dhx_input__container",{},[i.el("input.dhx_input",{class:this._item.css?" "+this._item.css:"",style:{height:t,width:"100%",padding:"8px, 12px"},_hooks:{didInsert:this._handlers.didInsert},_key:this._item.id,dhx_id:this._item.id})])])},t.prototype._initHandlers=function(){var t=this;this._handlers={onBlur:function(){t.endEdit()},onChange:function(){t.endEdit()},didInsert:function(e){var n=e.el;t._input=n,n.focus(),n.value=t._item.value,n.setSelectionRange(0,n.value.length),n.addEventListener("change",t._handlers.onChange),n.addEventListener("blur",t._handlers.onBlur)}}},t}();e.InputEditor=o},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.defineValue=function(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return parseInt(e.split(/\D+/g)[0],null)},e.defineUnit=function(t){var e=t.toString().trim();if(-1===e.indexOf("calc"))return e.slice(e.split(/\D+/g)[0].length)}}])}),window.dhx_legacy){if(window.dhx)for(var key in dhx)dhx_legacy[key]=dhx[key];window.dhx=dhx_legacy,delete window.dhx_legacy} \ No newline at end of file diff --git a/samples/window/index.html b/samples/window/index.html index f907efa..fd12274 100644 --- a/samples/window/index.html +++ b/samples/window/index.html @@ -4,19 +4,21 @@ - + Samples - DHTMLX Window -
    +

    diff --git a/whatsnew.txt b/whatsnew.txt index 1aaf4e7..b148f20 100644 --- a/whatsnew.txt +++ b/whatsnew.txt @@ -1,7 +1,326 @@ +Version 6.4.2 (March 3, 2020) +---------------------------- + +#### Fixes + +- The issue with virtualization behavior in Grid when interacting with Tabbar +- The issue with clicking on a frozen column in Grid +- The issue with export data from Grid to Excel +- Issue with rendering of Chart at zero value +- Status of an active element is added in Menu +- The ability to check validation of values is added in Colorpicker +- Styles for all inputs with invalid values are fixed for Firefox browser + +Version 6.4.1 (January 30, 2020) +---------------------------- + +#### Fixes + +- Behavior of lazy load in Grid +- The issue with the template configuration option in a column of Grid +- The issue with the headerIcon property of a layout cell +- The issue with the height of layout cells when the layout has a header + +Version 6.4.0 (January 28, 2020) +---------------------------- + +### New functionality + +#### Calendar +- The ability to clear the value set in the calendar using the clear method + +#### Chart +- The serieClick event is added +- The ability to rotate labels of data items on the scale using the scaleRotate property in the configuration of the scale +- The ability to rotate text values of data items in Bar and X-Bar chart via the showTextRotate property in the configuration of the series + +#### ColorPicker +- The possibility to specify the mode of displaying a colorpicker using the mode property +- The ability to clear the value set in the colorpicker and remove focus via the clear method + +#### Combobox +- The possibility to check whether a combobox is disabled on the page using the isDisabled method +- The beforeClose and afterClose events are added +- The ability to specify an array of data objects before initialization via the data configuration property +- The possibility to define the position of a label of a combobox using the labelPosition property + +#### Dataview +- The itemMouseOver event is added + +#### Form +- The ability to check whether a form or a form control is disabled on the page via the isDisabled method +- The possibility to disable a form on a page using the disable method +- The possibility to enable a form on a page using the enable method +- The possibility to make a form disabled using the disabled property +- The ability to use methods for Button, DatePicker, Checkbox, ColorPicker, Combo, Input, RadioGroup, Select, SimpleVault, Slider, Text, Textarea, TimePicker Form controls: disable(), enable(), isDisabled() +- The possibility to specify the maximum number of characters allowed in the input via the maxlength attribute of Input Form control +- The ability to set the format of the value that will be returned while getting the current value of DatePicker control using the valueFormat property +- The ability to define the position of a label for Button, DatePicker, Checkbox, ColorPicker, Combo, Input, RadioGroup, Select, SimpleVault, Slider, Text Textarea, TimePicker Form controls using the labelPosition attribute +- The possibility to specify the url attribute to which form data will be sent to for Button Form control +- The forEach method is added + +#### Grid +- The ability to adjust the size of Grid columns to the size of Grid via the autoWidth configuration property +- The possibility to adjust the width of columns to the width of their content automatically using the adjust configuration option +- The ability to select multiple rows or cells of Grid using the multiselection property +- The possibility to set selection to multiple cells/rows of Grid via the setCell() method of the selection object +- New additional arrow keyboard shortcuts are added to Keyboard navigation +- The ability to sort content of any Grid column by clicking on its header via the sortable property +- The getSortingState method that allows getting the current state of sorting data in Grid is added +- The possibility to check visibility of a column via the isColumnHidden method +- The ability to enable dynamic loading of data in Grid +- The AfterKeyDown and BeforeKeyDown events are added + +#### Layout +- The AfterExpand and BeforeExpand events are added +- The ability to collapse/expand a specified cell using the corresponding collapse and expand methods +- The toggle method is added +- The forEach method is added +- The ability to set the height for a cell of a layout with a header via the headerHeight configuration property of a cell + +#### List +- The itemMouseOver event is added +- The ability to enable dynamic loading of data in List + +#### Menu, Toolbar, Sidebar, Ribbon +- The isDisabled method is added into the Menu API +- The isDisabled method is added into the Toolbar API +- The isDisabled method is added into the Sidebar API +- The isDisabled method is added into the Ribbon API + +#### Sidebar +- The beforeCollapse, afterCollapse, beforeExpand, afterExpand events are added +- The possibility to expand/collapse a sidebar using the corresponding expand and collapse methods + +#### Slider +- The possibility to check if a slider is disabled via the isDisabled method +- The possibility to define the position of a label of a slider using the labelPosition property + +#### Tabbar +- The possibility to equip each Tabbar tab with a close button using the closable property +- The beforeClose and afterClose events are added +- The ability to make a tab or several tabs disabled using the disabled property +- The ability to disable/enable a tab on a page via the corresponding disableTab and enableTab methods + +#### TimePicker +- The ability to clear the value set in the timepicker using the clear method +- The beforeClose and afterClose events are added + +#### Tree +- The afterCollapse, afterExpand, beforeCollapse, beforeExpand events are added +- The ability to set the icon property in the configuration of a tree item to render a tree item as a custom folder + +#### TreeGrid +- The ability to check visibility of a column via the isColumnHidden +- The AfterCollapse, BeforeCollapse, AfterExpand, BeforeExpand events are added +- The possibility to adjust the size of TreeGrid columns to the size of TreeGrid via the autoWidth configuration property +- The ability to adjust the width of columns to the width of their content automatically with the help of the adjust property +- The ability to sort content of any TreeGrid column by clicking on its header using the sortable property +- The getSortingState method that allows getting the current state of sorting data in TreeGrid is added + +#### Window +- The possibility to place a window into a custom container using the node property + +#### Helpers +- The possibility to load data dynamically using the LazyDataProxy helper + +#### Data Collection +- The forEach method is added +- The changeId method is added +- The ability to check whether the specified data range is loaded from the server using the isDataLoaded method +- The BeforeLazyLoad and AfterLazyLoad events are added + +#### Tree Collection +- The forEach method is added + +### Updates + +- Now the multiselection configuration property allows setting the mode of multiselection in Dataview +- Now the multiselection property allows setting the mode of multiselection in List +- The getValue method of DatePicker Form control + +#### Fixes + +- The issue with ability to use all types of chart scales in any combinations +- The issue with the setActive() method in Tabbar +- The issue with styles when switching between modes in Colorpicker +- The issue with the getValue() method in Calendar and Colorpicker +- The issue with styles when Slider is disabled +- The issue with styles when Combobox is disabled +- Issues with the filter() method in Tree Collection + +Version 6.3.1 (December 18, 2019) +---------------------------- + +### Fixes + +- Add the possibility to set the css and data property in Chart +- Issue with starting editing Grid columns with the help of the keynavigation when the editing: false property is set in the configuration of a column +- Issue with the change event that fired before changes were applied in Form +- Add the ability to set the name attribute in the setValue method of Form control as key +- Issue with the combo control of For + +Version 6.3.0 (December 12, 2019) +---------------------------- + +### New functionality + +#### Calendar +- The ability to get the current mode of displaying Calendar via the getCurrentMode() method +- New cancelClick, modeChange, monthSelected, yearSelected events are added + +#### Chart +- The ability to specify templates for showing values of data items in Bar, X-Bar, Pie and Pie 3D charts using the showTextTemplate property + +#### Grid +- Keyboard navigation +- The possibility to finish editing of a cell via the editEnd() method +- The ability to add custom elements into Grid cells using the htmlEnable property + +#### TreeGrid +- The collapse, collapseAll, expand, expandAll methods are added +- The ability to add custom elements into TreeGrid cells using the htmlEnable property + +#### Menu/Ribbon/SideBar/Toolbar +- The ability to add custom HTML items into Menu, Ribbon, Sidebar and Toolbar +- The possibility to create Menu controls (MenuItem, NavItem) with custom HTML content using the html attribute of Menu controls +- The possibility to create Ribbon controls (Block, Button, ImageButton, NavItem, SelectButton, Title) with custom HTML content using the html attribute of Ribbon controls +- The possibility to create Sidebar controls (Button, NavItem, SelectButton, Title) with custom HTML content using the html attribute of Sidebar controls +- The possibility to create Toolbar controls (Button, ImageButton, NavItem, SelectButton, Title) with custom HTML content using the html attribute of Toolbar controls + +#### Helper +- The ability to exchange data with a web server using AJAX + +### Updates + +#### API +-Some API methods and events of the DHTMLX library have been renamed. Their old variants will be available but is not recommended for use. Check the details in the Migration article. + +#### List/DataView +-The ability to specify the height of a List item and height of a list either as a number or string value + +### Fixes + +- Issues with event system in Grid +- Padding for content with header was removed in Layout +- Add ability to set padding for cells with header in Layout +- Issue with incorrect displaying resizers of Layout in IE +- Add ability to change sizes of Window according to content size via the css property +- Issue with the setSize method when Window is hidden +- Issues with interaction between the HTML form and controls of Toolbar, Sidebar, Ribbon, Menu +- Issue with the validation property of Form controls +- Behavior of a TimePicker control of Form + +Version 6.2.3 (November 19, 2019) +---------------------------- + +###Fixes + +- Issue with setting the value in TimePicker of Form +- Issue with getting the value while editing the DatePicker control of Form +- Issue with getting values in validation mode of Form +- Issue with the "movable" property in Window +- Issue with Window fixation + +Version 6.2.2 (November 5, 2019) +---------------------------- + +###Fixes + +- Issues with selection in Grid +- Issue with the height of a cell in Layout + +Version 6.2.1 (October 25, 2019) +---------------------------- + +###Fixes + +- Issue with the setValue() method in Calendar +- Issue with the combo filters in Grid + +Version 6.2.0 (October 23, 2019) +---------------------------- + +### New functionality + +####Calendar +- The ability to select a range of dates in one calendar + +####Form +- The ability to manipulate Form controls via the getItem() method of Form +- The ability to use clear(), clearValidate(), getValue(), setValue(), validate() methods for all Form controls +- The possibility to update the configuration of DatePicker, Checkbox, ColorPicker, Combo, Input, RadioGroup, Select, SimpleVault, Slider, Text, Textarea, TimePicker Form controls via the setConfig() method +- The ability to use methods of DHTMLX widgets via the getWidget() method of Datepicker, Colorpicker, Simplevault, Slider, Timepicker Form controls + +####Grid/TreeGrid +- The possibility to show and hide a column in the Grid via the showColumn() and hideColumn() methods +- A new comboFilter for the header/footer content of a Grid column +- New checkbox and combobox editors for the cells of a Grid column +- The ability to set min and max width to Grid columns +- The possibility to change the width of columns via the resizable property +- Drag-n-drop of rows between Grids via the dragMode property +- Export to CSV format + +####Layout +- New events + +### Updates + +- The sample with default icons of DHTMLX library to decorate an application without using icon fonts +- A set of CSS classes for using them outside DHTMLX widgets +- A set of CSS classes for changing the appearance of DHTMLX widgets via the css property of the widgets API + +####Calendar +- The possibility to set the start and end dates for a calendar in the range mode via the setValue() method +- The ability to get the start and end dates from the selected range of dates in the calendar via the getValue() method + +####Grid +- Accelerating Grid speed to 2.5x + +### Fixes + +- Issues with months selection in Calendar +- Issues with the setValue() method in Calendar +- Issues with boolean type in a Grid cell +- Issue with selection on frozen columns in Grid +- Issues with animation in Charts +- Issue with Timepicker Form control +- Issue with Colorpicker Form control + +Version 6.1.7 (October 10, 2019) +---------------------------- + +### Fixes + +- Issue with custom validation in Form +- Issue with value property in Form +- Issue with editor on a frozen columns in Grid + +Version 6.1.6 (September 26, 2019) +---------------------------- + +### Fixes + +- Issue with the Button events in Form +- Issue with the Uploader styles in Form +- Issue with the header rowspans in Grid +- Issues with the copy() and move() methods in Treecollection and Datacollection + +Version 6.1.5 (September 12, 2019) +---------------------------- + +### Fixes + +- Issues with the Submit button in Form +- Issue with the baseline in Chart +- Issue with Combobox popup +- Issue with the height of uploader in Form + Version 6.1.4 (September 5, 2019) ---------------------------- ### Fixes + - Issues with date sorting in Grid - Issue with filters in Grid - Issue with resizer in Layout @@ -14,6 +333,7 @@ Version 6.1.3 (August 29, 2019) ---------------------------- ### Fixes + - Issues with scroll in DataView - Issues with styles in Chart - Issues with property "hidden" in Checkboxes and RadioGroup of Form @@ -22,6 +342,7 @@ Version 6.1.2 (August 22, 2019) ---------------------------- ### Fixes + - Restore ability to send FormData in Form send() method - Issues with Form select - Issue with Datacollection add() method @@ -30,6 +351,7 @@ Version 6.1.1 (August 16, 2019) ---------------------------- ### Fixes + - Issues with DnD in List and DataView - Issue with getValue() method in Form