@wavemaker/app-ng-runtime 11.14.2-rc.6311 → 11.15.0-1.246
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-task/bundles/index.umd.js +13 -2
- package/build-task/esm2022/input/default/checkbox/checkbox.build.mjs +9 -2
- package/build-task/esm2022/input/default/radioset/radioset.build.mjs +6 -2
- package/build-task/fesm2022/index.mjs +13 -2
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/components/base/bundles/index.umd.js +271 -128
- package/components/base/esm2022/public_api.mjs +2 -2
- package/components/base/esm2022/utils/autolayout-utils.mjs +252 -0
- package/components/base/esm2022/utils/live-utils.mjs +10 -7
- package/components/base/esm2022/utils/widget-utils.mjs +8 -1
- package/components/base/esm2022/widgets/common/base/base.component.mjs +7 -8
- package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +4 -1
- package/components/base/esm2022/widgets/common/container/container.directive.mjs +28 -150
- package/components/base/esm2022/widgets/common/container/container.props.mjs +6 -2
- package/components/base/fesm2022/index.mjs +273 -129
- package/components/base/fesm2022/index.mjs.map +1 -1
- package/components/base/public_api.d.ts +1 -1
- package/components/base/utils/autolayout-utils.d.ts +29 -0
- package/components/base/utils/widget-utils.d.ts +1 -0
- package/components/base/widgets/common/container/container.directive.d.ts +7 -9
- package/components/basic/label/bundles/index.umd.js +4 -0
- package/components/basic/label/esm2022/label.directive.mjs +5 -1
- package/components/basic/label/fesm2022/index.mjs +4 -0
- package/components/basic/label/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/bundles/index.umd.js +13 -11
- package/components/basic/search/esm2022/search.component.mjs +14 -12
- package/components/basic/search/fesm2022/index.mjs +13 -11
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/chart/bundles/index.umd.js +2 -2
- package/components/chart/esm2022/chart.utils.mjs +3 -3
- package/components/chart/fesm2022/index.mjs +2 -2
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +2 -0
- package/components/containers/accordion/accordion.directive.d.ts +4 -0
- package/components/containers/accordion/bundles/index.umd.js +34 -0
- package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +6 -2
- package/components/containers/accordion/esm2022/accordion.directive.mjs +32 -2
- package/components/containers/accordion/fesm2022/index.mjs +36 -2
- package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/bundles/index.umd.js +34 -0
- package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +6 -2
- package/components/containers/tabs/esm2022/tabs.component.mjs +33 -4
- package/components/containers/tabs/fesm2022/index.mjs +36 -2
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +2 -0
- package/components/containers/tabs/tabs.component.d.ts +5 -1
- package/components/containers/wizard/bundles/index.umd.js +46 -2
- package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +8 -2
- package/components/containers/wizard/esm2022/wizard.component.mjs +42 -4
- package/components/containers/wizard/fesm2022/index.mjs +48 -4
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +4 -0
- package/components/containers/wizard/wizard.component.d.ts +1 -0
- package/components/data/form/bundles/index.umd.js +28 -1
- package/components/data/form/esm2022/form-field/form-field.directive.mjs +4 -1
- package/components/data/form/esm2022/form.component.mjs +24 -2
- package/components/data/form/esm2022/form.props.mjs +3 -2
- package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +2 -1
- package/components/data/form/fesm2022/index.mjs +29 -2
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/form/form.component.d.ts +3 -0
- package/components/data/list/bundles/index.umd.js +0 -9
- package/components/data/list/esm2022/list-item.directive.mjs +1 -10
- package/components/data/list/fesm2022/index.mjs +0 -9
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/bundles/index.umd.js +6 -2
- package/components/data/pagination/esm2022/pagination.component.mjs +7 -3
- package/components/data/pagination/fesm2022/index.mjs +6 -2
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/table/bundles/index.umd.js +21 -4
- package/components/data/table/esm2022/table.component.mjs +22 -5
- package/components/data/table/fesm2022/index.mjs +21 -4
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +6 -2
- package/components/dialogs/alert-dialog/bundles/index.umd.js +18 -8
- package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +17 -7
- package/components/dialogs/alert-dialog/fesm2022/index.mjs +15 -5
- package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
- package/components/input/checkbox/bundles/index.umd.js +12 -3
- package/components/input/checkbox/checkbox.component.d.ts +2 -0
- package/components/input/checkbox/esm2022/checkbox.component.mjs +9 -3
- package/components/input/checkbox/esm2022/checkbox.props.mjs +5 -2
- package/components/input/checkbox/fesm2022/index.mjs +12 -3
- package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
- package/components/input/checkboxset/bundles/index.umd.js +12 -1
- package/components/input/checkboxset/checkboxset.component.d.ts +1 -0
- package/components/input/checkboxset/esm2022/checkboxset.component.mjs +11 -1
- package/components/input/checkboxset/esm2022/checkboxset.props.mjs +3 -2
- package/components/input/checkboxset/fesm2022/index.mjs +12 -1
- package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/base-date-time/base-date-time.component.d.ts +0 -1
- package/components/input/epoch/base-date-time/bundles/index.umd.js +29 -27
- package/components/input/epoch/base-date-time/esm2022/base-date-time.component.mjs +30 -28
- package/components/input/epoch/base-date-time/fesm2022/index.mjs +29 -27
- package/components/input/epoch/base-date-time/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date/bundles/index.umd.js +4 -3
- package/components/input/epoch/date/esm2022/date.component.mjs +5 -4
- package/components/input/epoch/date/fesm2022/index.mjs +4 -3
- package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/date-time/bundles/index.umd.js +5 -4
- package/components/input/epoch/date-time/esm2022/date-time.component.mjs +7 -6
- package/components/input/epoch/date-time/fesm2022/index.mjs +6 -5
- package/components/input/epoch/date-time/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/bundles/index.umd.js +1 -1
- package/components/input/file-upload/esm2022/file-upload.props.mjs +2 -2
- package/components/input/file-upload/fesm2022/index.mjs +1 -1
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/radioset/bundles/index.umd.js +13 -1
- package/components/input/radioset/esm2022/radioset.component.mjs +11 -1
- package/components/input/radioset/esm2022/radioset.props.mjs +4 -2
- package/components/input/radioset/fesm2022/index.mjs +13 -1
- package/components/input/radioset/fesm2022/index.mjs.map +1 -1
- package/components/input/radioset/radioset.component.d.ts +1 -0
- package/components/input/slider/bundles/index.umd.js +86 -16
- package/components/input/slider/esm2022/slider.component.mjs +76 -9
- package/components/input/slider/esm2022/slider.props.mjs +5 -1
- package/components/input/slider/fesm2022/index.mjs +79 -8
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/slider.component.d.ts +12 -3
- package/components/input/text/bundles/index.umd.js +24 -3
- package/components/input/text/esm2022/input-text/input-text.component.mjs +6 -3
- package/components/input/text/esm2022/input-text/input-text.props.mjs +5 -2
- package/components/input/text/esm2022/number-locale/number-locale.mjs +16 -1
- package/components/input/text/fesm2022/index.mjs +24 -3
- package/components/input/text/fesm2022/index.mjs.map +1 -1
- package/components/input/text/input-text/input-text.component.d.ts +4 -0
- package/components/input/text/number-locale/number-locale.d.ts +12 -0
- package/components/navigation/breadcrumb/bundles/index.umd.js +2 -2
- package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +3 -3
- package/components/navigation/breadcrumb/fesm2022/index.mjs +2 -2
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/bundles/index.umd.js +12 -0
- package/components/navigation/popover/esm2022/popover.component.mjs +13 -1
- package/components/navigation/popover/fesm2022/index.mjs +12 -0
- package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
- package/components/navigation/popover/popover.component.d.ts +2 -0
- package/components/page/default/bundles/index.umd.js +0 -4
- package/components/page/default/esm2022/router-outlet.directive.mjs +1 -5
- package/components/page/default/fesm2022/index.mjs +0 -4
- package/components/page/default/fesm2022/index.mjs.map +1 -1
- package/components/page/header/bundles/index.umd.js +4 -3
- package/components/page/header/esm2022/header.component.mjs +5 -4
- package/components/page/header/fesm2022/index.mjs +4 -3
- package/components/page/header/fesm2022/index.mjs.map +1 -1
- package/components/page/header/header.component.d.ts +2 -1
- package/core/bundles/index.umd.js +90 -6
- package/core/enums/enums.d.ts +1 -0
- package/core/esm2022/enums/enums.mjs +2 -1
- package/core/esm2022/utils/build-utils.mjs +5 -1
- package/core/esm2022/utils/utils.mjs +5 -2
- package/core/esm2022/utils/watcher.mjs +83 -4
- package/core/fesm2022/index.mjs +91 -4
- package/core/fesm2022/index.mjs.map +1 -1
- package/core/utils/watcher.d.ts +2 -0
- package/npm-shrinkwrap.json +2 -2
- package/oAuth/esm2022/oAuth.service.mjs +1 -1
- package/oAuth/fesm2022/index.mjs.map +1 -1
- package/oAuth/oAuth.service.d.ts +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +33 -31
- package/runtime/base/components/base-prefab.component.d.ts +6 -4
- package/runtime/base/esm2022/components/app-component/app.component.mjs +1 -1
- package/runtime/base/esm2022/components/base-page.component.mjs +2 -5
- package/runtime/base/esm2022/components/base-partial.component.mjs +2 -2
- package/runtime/base/esm2022/components/base-prefab.component.mjs +20 -12
- package/runtime/base/esm2022/components/base-spa-page.component.mjs +1 -4
- package/runtime/base/esm2022/services/http-interceptor.services.mjs +14 -13
- package/runtime/base/fesm2022/index.mjs +34 -31
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/runtime/base/runtime-base.module.d.ts +2 -1
- package/runtime/dynamic/app/app.config.d.ts +1 -1
- package/runtime/dynamic/bundles/index.umd.js +1 -1
- package/runtime/dynamic/esm2022/app/app.config.mjs +7 -7
- package/runtime/dynamic/fesm2022/index.mjs +2 -2
- package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
- package/scripts/datatable/datatable.js +17 -15
|
@@ -17,11 +17,14 @@ export const checkboxProps = new Map([
|
|
|
17
17
|
['shortcutkey', PROP_STRING],
|
|
18
18
|
['show', { value: true, ...PROP_BOOLEAN }],
|
|
19
19
|
['tabindex', { value: 0, ...PROP_NUMBER }],
|
|
20
|
-
['uncheckedvalue', { value: false, ...PROP_STRING }]
|
|
20
|
+
['uncheckedvalue', { value: false, ...PROP_STRING }],
|
|
21
|
+
['unselectedicon', PROP_STRING],
|
|
22
|
+
['selectedicon', PROP_STRING]
|
|
21
23
|
]);
|
|
22
24
|
export const registerProps = () => {
|
|
23
25
|
register('wm-checkbox', checkboxProps);
|
|
24
26
|
registerFormWidget(FormWidgetType.CHECKBOX, checkboxProps);
|
|
25
27
|
registerFormWidget(FormWidgetType.TOGGLE, checkboxProps);
|
|
28
|
+
registerFormWidget(FormWidgetType.ICONBUTTONTOGGLE, checkboxProps);
|
|
26
29
|
};
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gucHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvY2hlY2tib3gvc3JjL2NoZWNrYm94LnByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxFQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUVuSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLENBQ2hDO0lBQ0ksQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDO0lBQ3hCLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQztJQUN0QixDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQztJQUM5QixDQUFDLGtCQUFrQixFQUFFLFFBQVEsQ0FBQztJQUM5QixDQUFDLGNBQWMsRUFBRSxFQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxXQUFXLEVBQUMsQ0FBQztJQUMvQyxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQztJQUM3QixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDMUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDO0lBQzFCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUNyQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDMUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO0lBQ3JCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztJQUMxQixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDMUIsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDO0lBQzVCLENBQUMsTUFBTSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksRUFBQyxDQUFDO0lBQ3hDLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO0lBQ3hDLENBQUMsZ0JBQWdCLEVBQUUsRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7SUFDbEQsQ0FBQyxnQkFBZ0IsRUFBRSxXQUFXLENBQUM7SUFDL0IsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDO0NBRWhDLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7SUFDOUIsUUFBUSxDQUNKLGFBQWEsRUFDYixhQUFhLENBQ2hCLENBQUM7SUFDRixrQkFBa0IsQ0FDZCxjQUFjLENBQUMsUUFBUSxFQUN2QixhQUFhLENBQ2hCLENBQUM7SUFDRixrQkFBa0IsQ0FDZCxjQUFjLENBQUMsTUFBTSxFQUNyQixhQUFhLENBQ2hCLENBQUM7SUFDRCxrQkFBa0IsQ0FDZixjQUFjLENBQUMsZ0JBQWdCLEVBQy9CLGFBQWEsQ0FDaEIsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Rm9ybVdpZGdldFR5cGV9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7UFJPUF9BTlksIFBST1BfQk9PTEVBTiwgUFJPUF9OVU1CRVIsIFBST1BfU1RSSU5HLCByZWdpc3RlciwgcmVnaXN0ZXJGb3JtV2lkZ2V0fSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcblxuZXhwb3J0IGNvbnN0IGNoZWNrYm94UHJvcHMgPSBuZXcgTWFwKFxuICAgIFtcbiAgICAgICAgWydjYXB0aW9uJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2NsYXNzJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2NvbmRpdGlvbmFsY2xhc3MnLCBQUk9QX0FOWV0sXG4gICAgICAgIFsnY29uZGl0aW9uYWxzdHlsZScsIFBST1BfQU5ZXSxcbiAgICAgICAgWydjaGVja2VkdmFsdWUnLCB7dmFsdWU6IHRydWUsIC4uLlBST1BfU1RSSU5HfV0sXG4gICAgICAgIFsnZGF0YXZhbHVlc291cmNlJywgUFJPUF9BTlldLFxuICAgICAgICBbJ2RhdGF2YWx1ZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkaXNhYmxlZCcsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsnaGludCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydhcmlhbGFiZWwnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnbmFtZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydyZWFkb25seScsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsncmVxdWlyZWQnLCBQUk9QX0JPT0xFQU5dLFxuICAgICAgICBbJ3Nob3J0Y3V0a2V5JywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ3Nob3cnLCB7dmFsdWU6IHRydWUsIC4uLlBST1BfQk9PTEVBTn1dLFxuICAgICAgICBbJ3RhYmluZGV4Jywge3ZhbHVlOiAwLCAuLi5QUk9QX05VTUJFUn1dLFxuICAgICAgICBbJ3VuY2hlY2tlZHZhbHVlJywge3ZhbHVlOiBmYWxzZSwgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgWyd1bnNlbGVjdGVkaWNvbicsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydzZWxlY3RlZGljb24nLCBQUk9QX1NUUklOR11cblxuICAgIF1cbik7XG5cbmV4cG9ydCBjb25zdCByZWdpc3RlclByb3BzID0gKCkgPT4ge1xuICAgIHJlZ2lzdGVyKFxuICAgICAgICAnd20tY2hlY2tib3gnLFxuICAgICAgICBjaGVja2JveFByb3BzXG4gICAgKTtcbiAgICByZWdpc3RlckZvcm1XaWRnZXQoXG4gICAgICAgIEZvcm1XaWRnZXRUeXBlLkNIRUNLQk9YLFxuICAgICAgICBjaGVja2JveFByb3BzXG4gICAgKTtcbiAgICByZWdpc3RlckZvcm1XaWRnZXQoXG4gICAgICAgIEZvcm1XaWRnZXRUeXBlLlRPR0dMRSxcbiAgICAgICAgY2hlY2tib3hQcm9wc1xuICAgICk7XG4gICAgIHJlZ2lzdGVyRm9ybVdpZGdldChcbiAgICAgICAgRm9ybVdpZGdldFR5cGUuSUNPTkJVVFRPTlRPR0dMRSxcbiAgICAgICAgY2hlY2tib3hQcm9wc1xuICAgICk7XG59O1xuIl19
|
|
@@ -25,12 +25,15 @@ const checkboxProps = new Map([
|
|
|
25
25
|
['shortcutkey', PROP_STRING],
|
|
26
26
|
['show', { value: true, ...PROP_BOOLEAN }],
|
|
27
27
|
['tabindex', { value: 0, ...PROP_NUMBER }],
|
|
28
|
-
['uncheckedvalue', { value: false, ...PROP_STRING }]
|
|
28
|
+
['uncheckedvalue', { value: false, ...PROP_STRING }],
|
|
29
|
+
['unselectedicon', PROP_STRING],
|
|
30
|
+
['selectedicon', PROP_STRING]
|
|
29
31
|
]);
|
|
30
32
|
const registerProps = () => {
|
|
31
33
|
register('wm-checkbox', checkboxProps);
|
|
32
34
|
registerFormWidget(FormWidgetType.CHECKBOX, checkboxProps);
|
|
33
35
|
registerFormWidget(FormWidgetType.TOGGLE, checkboxProps);
|
|
36
|
+
registerFormWidget(FormWidgetType.ICONBUTTONTOGGLE, checkboxProps);
|
|
34
37
|
};
|
|
35
38
|
|
|
36
39
|
const DEFAULT_CLS = 'app-checkbox checkbox';
|
|
@@ -71,6 +74,12 @@ class CheckboxComponent extends BaseFormCustomComponent {
|
|
|
71
74
|
this.updatePrevDatavalue(this.datavalue);
|
|
72
75
|
}
|
|
73
76
|
constructor(inj, checkedVal, uncheckedVal, type, explicitContext) {
|
|
77
|
+
if (type === 'button') {
|
|
78
|
+
WIDGET_CONFIG.hostClass = 'app-iconbutton-toggle';
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
WIDGET_CONFIG.hostClass = DEFAULT_CLS;
|
|
82
|
+
}
|
|
74
83
|
super(inj, WIDGET_CONFIG, explicitContext);
|
|
75
84
|
this.type = type;
|
|
76
85
|
this._caption = ' ';
|
|
@@ -140,7 +149,7 @@ class CheckboxComponent extends BaseFormCustomComponent {
|
|
|
140
149
|
provideAs(CheckboxComponent, NG_VALUE_ACCESSOR, true),
|
|
141
150
|
provideAs(CheckboxComponent, NG_VALIDATORS, true),
|
|
142
151
|
provideAsWidgetRef(CheckboxComponent)
|
|
143
|
-
], viewQueries: [{ propertyName: "ngModel", first: true, predicate: NgModel, descendants: true }, { propertyName: "checkboxEl", first: true, predicate: ["checkbox"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption)}\">\n <input type=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
152
|
+
], viewQueries: [{ propertyName: "ngModel", first: true, predicate: NgModel, descendants: true }, { propertyName: "checkboxEl", first: true, predicate: ["checkbox"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: "<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption), 'icon-button-toggle': type === 'button'}\">\n <input type=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\" *ngIf=\"type != 'button' && type != 'toggle'\"></span>\n <!-- Icon toggle button -->\n <span class=\"caption fa-xs text-center\" *ngIf=\"type == 'toggle'\">\n <span name=\"unselectedIcon\" class=\"start-icon\" [ngClass]=\"unselectedicon\" *ngIf=\"!proxyModel\"></span>\n <span name=\"selectedIcon\" class=\"end-icon\" [ngClass]=\"selectedicon\" *ngIf=\"proxyModel\"></span>\n </span>\n <span class=\"toggle-icon\" [ngClass]=\"unselectedicon\" *ngIf=\"type === 'button' && !proxyModel\"></span>\n <span class=\"toggle-icon\" *ngIf=\"proxyModel && type === 'button'\" [ngClass]=\"selectedicon\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
|
|
144
153
|
}
|
|
145
154
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
146
155
|
type: Component,
|
|
@@ -148,7 +157,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
148
157
|
provideAs(CheckboxComponent, NG_VALUE_ACCESSOR, true),
|
|
149
158
|
provideAs(CheckboxComponent, NG_VALIDATORS, true),
|
|
150
159
|
provideAsWidgetRef(CheckboxComponent)
|
|
151
|
-
], template: "<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption)}\">\n <input type=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n" }]
|
|
160
|
+
], template: "<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption), 'icon-button-toggle': type === 'button'}\">\n <input type=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\" *ngIf=\"type != 'button' && type != 'toggle'\"></span>\n <!-- Icon toggle button -->\n <span class=\"caption fa-xs text-center\" *ngIf=\"type == 'toggle'\">\n <span name=\"unselectedIcon\" class=\"start-icon\" [ngClass]=\"unselectedicon\" *ngIf=\"!proxyModel\"></span>\n <span name=\"selectedIcon\" class=\"end-icon\" [ngClass]=\"selectedicon\" *ngIf=\"proxyModel\"></span>\n </span>\n <span class=\"toggle-icon\" [ngClass]=\"unselectedicon\" *ngIf=\"type === 'button' && !proxyModel\"></span>\n <span class=\"toggle-icon\" *ngIf=\"proxyModel && type === 'button'\" [ngClass]=\"selectedicon\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n" }]
|
|
152
161
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: undefined, decorators: [{
|
|
153
162
|
type: Attribute,
|
|
154
163
|
args: ['checkedvalue']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/checkbox/src/checkbox.props.ts","../../../../../projects/components/widgets/input/checkbox/src/checkbox.component.ts","../../../../../projects/components/widgets/input/checkbox/src/checkbox.component.html","../../../../../projects/components/widgets/input/checkbox/src/index.ts"],"sourcesContent":["import {FormWidgetType} from '@wm/core';\nimport {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\n\nexport const checkboxProps = new Map(\n [\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['conditionalclass', PROP_ANY],\n ['conditionalstyle', PROP_ANY],\n ['checkedvalue', {value: true, ...PROP_STRING}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING],\n ['name', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['uncheckedvalue', {value: false, ...PROP_STRING}]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-checkbox',\n checkboxProps\n );\n registerFormWidget(\n FormWidgetType.CHECKBOX,\n checkboxProps\n );\n registerFormWidget(\n FormWidgetType.TOGGLE,\n checkboxProps\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport {\n AfterViewInit,\n Attribute,\n Component,\n ElementRef,\n HostListener,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport {NG_VALIDATORS, NG_VALUE_ACCESSOR, NgModel} from '@angular/forms';\n\nimport {isDefined, toggleClass} from '@wm/core';\nimport {IWidgetConfig, provideAs, provideAsWidgetRef, styler} from '@wm/components/base';\nimport {BaseFormCustomComponent} from '@wm/components/input/base-form-custom';\n\nimport {registerProps} from './checkbox.props';\n\nconst DEFAULT_CLS = 'app-checkbox checkbox';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-checkbox',\n hostClass: DEFAULT_CLS\n};\n\n/*\n * try to convert the chekedvalue and unchecked values to boolean/number\n */\nexport const unStringify = (val, defaultVal?) => {\n if (val === null) {\n return defaultVal;\n }\n\n if (val === true || val === 'true') {\n return true;\n }\n\n if (val === false || val === 'false') {\n return false;\n }\n\n const number = parseInt(val, 10);\n if (!isNaN(number)) {\n return number;\n }\n return val;\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule],\n selector: '[wmCheckbox]',\n templateUrl: './checkbox.component.html',\n providers: [\n provideAs(CheckboxComponent, NG_VALUE_ACCESSOR, true),\n provideAs(CheckboxComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(CheckboxComponent)\n ]\n})\nexport class CheckboxComponent extends BaseFormCustomComponent implements OnInit, AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n public proxyModel: boolean;\n public disabled: boolean;\n public readonly: boolean;\n public required: boolean;\n public name: string;\n public hint: string;\n public arialabel: string;\n public shortcutkey: string;\n public tabindex: any;\n public _caption = ' ';\n private _checkedvalue;\n private _uncheckedvalue;\n\n @ViewChild(NgModel) ngModel: NgModel;\n @ViewChild('checkbox', { static: true, read: ElementRef }) checkboxEl: ElementRef;\n\n // if the checkbox is checked, return checkedvalue else return uncheckedvalue\n // @ts-ignore\n public get datavalue() {\n return isDefined(this.proxyModel) ? (this.proxyModel ? this._checkedvalue : this._uncheckedvalue) : undefined;\n }\n // when the datavalue is set, update the checked state\n // @ts-ignore\n public set datavalue(v) {\n this.proxyModel = (isDefined(v) && v !== '') ? v === this._checkedvalue : undefined;\n this.updatePrevDatavalue(this.datavalue);\n }\n\n constructor(\n inj: Injector,\n @Attribute('checkedvalue') checkedVal,\n @Attribute('uncheckedvalue') uncheckedVal,\n @Attribute('type') public type,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n super(inj, WIDGET_CONFIG, explicitContext);\n\n this._checkedvalue = unStringify(checkedVal, true);\n this._uncheckedvalue = unStringify(uncheckedVal, false);\n\n // if the type of the checkbox is toggle update the related classes on the host node\n toggleClass(this.nativeElement, 'app-toggle', type === 'toggle');\n }\n\n onPropertyChange(key, nv, ov) {\n if (key === 'tabindex') {\n return;\n }\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }\n\n if (key === 'caption') {\n if (!isDefined(nv) || nv === '') {\n this._caption = ' ';\n } else {\n this._caption = nv;\n }\n } else if (key === 'checkedvalue') {\n this._checkedvalue = unStringify(nv, true);\n } else if (key === 'uncheckedvalue') {\n this._uncheckedvalue = unStringify(nv, false);\n } else if (key === 'datavalue') {\n this.datavalue = unStringify(nv);\n this._onChange(this.datavalue);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n // change and blur events are handled from template\n protected handleEvent(node: HTMLElement, eventName: string, callback: Function, locals: any) {\n if (eventName !== 'change' && eventName !== 'blur') {\n // applying tap (Hammer event) on the label as the event handler is not getting triggered on the input.\n const $el = eventName === 'tap' ? this.nativeElement.querySelector('label') : this.checkboxEl.nativeElement;\n super.handleEvent($el, eventName, callback, locals);\n }\n }\n\n handleChange(newVal: boolean) {\n this.invokeOnChange(this.datavalue, {type: 'change'}, this.ngModel.valid);\n }\n\n @HostListener('keydown.enter', ['$event', '\"ENTER\"'])\n onKeyDown($event) {\n $event.preventDefault();\n this.checkboxEl.nativeElement.click();\n }\n\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.nativeElement.querySelector('label'), this);\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewChild references\n this.ngModel = null;\n this.checkboxEl = null;\n\n // Call parent ngOnDestroy\n super.ngOnDestroy();\n }\n}\n","<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption)}\">\n <input type=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/checkbox/src/checkbox.props.ts","../../../../../projects/components/widgets/input/checkbox/src/checkbox.component.ts","../../../../../projects/components/widgets/input/checkbox/src/checkbox.component.html","../../../../../projects/components/widgets/input/checkbox/src/index.ts"],"sourcesContent":["import {FormWidgetType} from '@wm/core';\nimport {PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget} from '@wm/components/base';\n\nexport const checkboxProps = new Map(\n [\n ['caption', PROP_STRING],\n ['class', PROP_STRING],\n ['conditionalclass', PROP_ANY],\n ['conditionalstyle', PROP_ANY],\n ['checkedvalue', {value: true, ...PROP_STRING}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['hint', PROP_STRING],\n ['arialabel', PROP_STRING],\n ['name', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['shortcutkey', PROP_STRING],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['uncheckedvalue', {value: false, ...PROP_STRING}],\n ['unselectedicon', PROP_STRING],\n ['selectedicon', PROP_STRING]\n\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-checkbox',\n checkboxProps\n );\n registerFormWidget(\n FormWidgetType.CHECKBOX,\n checkboxProps\n );\n registerFormWidget(\n FormWidgetType.TOGGLE,\n checkboxProps\n );\n registerFormWidget(\n FormWidgetType.ICONBUTTONTOGGLE,\n checkboxProps\n );\n};\n","import { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport {\n AfterViewInit,\n Attribute,\n Component,\n ElementRef,\n HostListener,\n Inject,\n Injector,\n OnDestroy,\n OnInit,\n Optional,\n ViewChild\n} from '@angular/core';\nimport {NG_VALIDATORS, NG_VALUE_ACCESSOR, NgModel} from '@angular/forms';\n\nimport {isDefined, toggleClass} from '@wm/core';\nimport {IWidgetConfig, provideAs, provideAsWidgetRef, styler} from '@wm/components/base';\nimport {BaseFormCustomComponent} from '@wm/components/input/base-form-custom';\n\nimport {registerProps} from './checkbox.props';\n\nconst DEFAULT_CLS = 'app-checkbox checkbox';\nconst WIDGET_CONFIG: IWidgetConfig = {\n widgetType: 'wm-checkbox',\n hostClass: DEFAULT_CLS\n};\n\n/*\n * try to convert the chekedvalue and unchecked values to boolean/number\n */\nexport const unStringify = (val, defaultVal?) => {\n if (val === null) {\n return defaultVal;\n }\n\n if (val === true || val === 'true') {\n return true;\n }\n\n if (val === false || val === 'false') {\n return false;\n }\n\n const number = parseInt(val, 10);\n if (!isNaN(number)) {\n return number;\n }\n return val;\n};\n\n@Component({\n standalone: true,\n imports: [CommonModule, FormsModule],\n selector: '[wmCheckbox]',\n templateUrl: './checkbox.component.html',\n providers: [\n provideAs(CheckboxComponent, NG_VALUE_ACCESSOR, true),\n provideAs(CheckboxComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(CheckboxComponent)\n ]\n})\nexport class CheckboxComponent extends BaseFormCustomComponent implements OnInit, AfterViewInit, OnDestroy {\n static initializeProps = registerProps();\n\n public proxyModel: boolean;\n public disabled: boolean;\n public readonly: boolean;\n public required: boolean;\n public name: string;\n public hint: string;\n public arialabel: string;\n public shortcutkey: string;\n public tabindex: any;\n public _caption = ' ';\n private _checkedvalue;\n private _uncheckedvalue;\n public unselectedicon;\n public selectedicon;\n\n @ViewChild(NgModel) ngModel: NgModel;\n @ViewChild('checkbox', { static: true, read: ElementRef }) checkboxEl: ElementRef;\n\n // if the checkbox is checked, return checkedvalue else return uncheckedvalue\n // @ts-ignore\n public get datavalue() {\n return isDefined(this.proxyModel) ? (this.proxyModel ? this._checkedvalue : this._uncheckedvalue) : undefined;\n }\n // when the datavalue is set, update the checked state\n // @ts-ignore\n public set datavalue(v) {\n this.proxyModel = (isDefined(v) && v !== '') ? v === this._checkedvalue : undefined;\n this.updatePrevDatavalue(this.datavalue);\n }\n\n constructor(\n inj: Injector,\n @Attribute('checkedvalue') checkedVal,\n @Attribute('uncheckedvalue') uncheckedVal,\n @Attribute('type') public type,\n @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any\n ) {\n if(type === 'button'){\n WIDGET_CONFIG.hostClass = 'app-iconbutton-toggle'\n }else{\n WIDGET_CONFIG.hostClass = DEFAULT_CLS\n }\n super(inj, WIDGET_CONFIG, explicitContext);\n\n this._checkedvalue = unStringify(checkedVal, true);\n this._uncheckedvalue = unStringify(uncheckedVal, false);\n\n // if the type of the checkbox is toggle update the related classes on the host node\n toggleClass(this.nativeElement, 'app-toggle', type === 'toggle');\n }\n\n onPropertyChange(key, nv, ov) {\n if (key === 'tabindex') {\n return;\n }\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }\n\n if (key === 'caption') {\n if (!isDefined(nv) || nv === '') {\n this._caption = ' ';\n } else {\n this._caption = nv;\n }\n } else if (key === 'checkedvalue') {\n this._checkedvalue = unStringify(nv, true);\n } else if (key === 'uncheckedvalue') {\n this._uncheckedvalue = unStringify(nv, false);\n } else if (key === 'datavalue') {\n this.datavalue = unStringify(nv);\n this._onChange(this.datavalue);\n }else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n // change and blur events are handled from template\n protected handleEvent(node: HTMLElement, eventName: string, callback: Function, locals: any) {\n if (eventName !== 'change' && eventName !== 'blur') {\n // applying tap (Hammer event) on the label as the event handler is not getting triggered on the input.\n const $el = eventName === 'tap' ? this.nativeElement.querySelector('label') : this.checkboxEl.nativeElement;\n super.handleEvent($el, eventName, callback, locals);\n }\n }\n\n handleChange(newVal: boolean) {\n this.invokeOnChange(this.datavalue, {type: 'change'}, this.ngModel.valid);\n }\n\n @HostListener('keydown.enter', ['$event', '\"ENTER\"'])\n onKeyDown($event) {\n $event.preventDefault();\n this.checkboxEl.nativeElement.click();\n }\n\n\n ngAfterViewInit() {\n super.ngAfterViewInit();\n styler(this.nativeElement.querySelector('label'), this);\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Clear ViewChild references\n this.ngModel = null;\n this.checkboxEl = null;\n\n // Call parent ngOnDestroy\n super.ngOnDestroy();\n }\n}\n","<label [ngClass]=\"{'unchecked': !proxyModel, 'disabled': (disabled || readonly), 'required': (required && _caption), 'icon-button-toggle': type === 'button'}\">\n <input type=\"checkbox\"\n #checkbox\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [(ngModel)]=\"proxyModel\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [disabled]=\"disabled || readonly\"\n [attr.accesskey]=\"shortcutkey\"\n [tabindex]=\"tabindex\"\n (blur)=\"invokeOnTouched($event)\"\n (ngModelChange)=\"handleChange($event)\">\n <span class=\"caption\" [innerHtml]=\"_caption\" *ngIf=\"type != 'button' && type != 'toggle'\"></span>\n <!-- Icon toggle button -->\n <span class=\"caption fa-xs text-center\" *ngIf=\"type == 'toggle'\">\n <span name=\"unselectedIcon\" class=\"start-icon\" [ngClass]=\"unselectedicon\" *ngIf=\"!proxyModel\"></span>\n <span name=\"selectedIcon\" class=\"end-icon\" [ngClass]=\"selectedicon\" *ngIf=\"proxyModel\"></span>\n </span>\n <span class=\"toggle-icon\" [ngClass]=\"unselectedicon\" *ngIf=\"type === 'button' && !proxyModel\"></span>\n <span class=\"toggle-icon\" *ngIf=\"proxyModel && type === 'button'\" [ngClass]=\"selectedicon\"></span>\n <img alt=\"Checkbox Image\" aria-hidden=\"true\" src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" class=\"switch\"/>\n</label>\n<input type=\"hidden\" class=\"ng-hide model-holder\" aria-hidden=\"true\" tabindex=\"-1\" [disabled]=\"disabled\" [value]=\"proxyModel\">\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -50,7 +50,8 @@
|
|
|
50
50
|
['showcount', base.PROP_BOOLEAN],
|
|
51
51
|
['showindevice', { displayType: 'inline-block', value: 'all', ...base.PROP_STRING }],
|
|
52
52
|
['tabindex', { value: 0, ...base.PROP_NUMBER }],
|
|
53
|
-
['usekeys', base.PROP_BOOLEAN]
|
|
53
|
+
['usekeys', base.PROP_BOOLEAN],
|
|
54
|
+
['layout', base.PROP_STRING]
|
|
54
55
|
]);
|
|
55
56
|
const registerProps = () => {
|
|
56
57
|
base.register('wm-checkboxset', checkboxsetProps);
|
|
@@ -118,6 +119,9 @@
|
|
|
118
119
|
this._onChange(this.datavalue);
|
|
119
120
|
return;
|
|
120
121
|
}
|
|
122
|
+
else if (key === 'layout') {
|
|
123
|
+
this.handleLayout(nv);
|
|
124
|
+
}
|
|
121
125
|
if (key === 'itemsperrow') {
|
|
122
126
|
core.setListClass(this);
|
|
123
127
|
}
|
|
@@ -125,6 +129,13 @@
|
|
|
125
129
|
super.onPropertyChange(key, nv, ov);
|
|
126
130
|
}
|
|
127
131
|
}
|
|
132
|
+
handleLayout(layout) {
|
|
133
|
+
const direction = layout === 'vertical' ? 'column' : 'row';
|
|
134
|
+
this.$element.css({
|
|
135
|
+
display: 'flex',
|
|
136
|
+
flexDirection: direction
|
|
137
|
+
});
|
|
138
|
+
}
|
|
128
139
|
ngOnDestroy() {
|
|
129
140
|
// MEMORY LEAK FIX: Remove all event listeners
|
|
130
141
|
if (this.eventListeners && this.eventListeners.size > 0) {
|
|
@@ -17,6 +17,7 @@ export declare class CheckboxsetComponent extends DatasetAwareFormComponent impl
|
|
|
17
17
|
protected handleEvent(node: HTMLElement, eventName: string, callback: Function, locals: any): void;
|
|
18
18
|
onKeyDown($event: any): void;
|
|
19
19
|
onPropertyChange(key: any, nv: any, ov?: any): void;
|
|
20
|
+
handleLayout(layout: string): void;
|
|
20
21
|
ngOnDestroy(): void;
|
|
21
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxsetComponent, [null, { optional: true; }]>;
|
|
22
23
|
static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxsetComponent, "[wmCheckboxset]", ["wmCheckboxset"], {}, {}, never, never, true, never>;
|
|
@@ -69,6 +69,9 @@ export class CheckboxsetComponent extends DatasetAwareFormComponent {
|
|
|
69
69
|
this._onChange(this.datavalue);
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
|
+
else if (key === 'layout') {
|
|
73
|
+
this.handleLayout(nv);
|
|
74
|
+
}
|
|
72
75
|
if (key === 'itemsperrow') {
|
|
73
76
|
setListClass(this);
|
|
74
77
|
}
|
|
@@ -76,6 +79,13 @@ export class CheckboxsetComponent extends DatasetAwareFormComponent {
|
|
|
76
79
|
super.onPropertyChange(key, nv, ov);
|
|
77
80
|
}
|
|
78
81
|
}
|
|
82
|
+
handleLayout(layout) {
|
|
83
|
+
const direction = layout === 'vertical' ? 'column' : 'row';
|
|
84
|
+
this.$element.css({
|
|
85
|
+
display: 'flex',
|
|
86
|
+
flexDirection: direction
|
|
87
|
+
});
|
|
88
|
+
}
|
|
79
89
|
ngOnDestroy() {
|
|
80
90
|
// MEMORY LEAK FIX: Remove all event listeners
|
|
81
91
|
if (this.eventListeners && this.eventListeners.size > 0) {
|
|
@@ -112,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
112
122
|
type: HostListener,
|
|
113
123
|
args: ['keydown.enter', ['$event', '"ENTER"']]
|
|
114
124
|
}] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2NoZWNrYm94c2V0L3NyYy9jaGVja2JveHNldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvY2hlY2tib3hzZXQvc3JjL2NoZWNrYm94c2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFhLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUN0QyxPQUFPLEVBQUUscUJBQXFCLEVBQWlCLHlCQUF5QixFQUFFLDRCQUE0QixFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqTSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7OztBQUk1QyxNQUFNLFdBQVcsR0FBRyxtQ0FBbUMsQ0FBQztBQUN4RCxNQUFNLGFBQWEsR0FBa0IsRUFBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDO0FBZTVGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx5QkFBeUI7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RSxhQUFhLEVBQUUsSUFBSSxDQUFDO1lBQ3BELGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO1NBQzNDLDhFQzFCTCw0d0lBa0ZBLDJDRGhFYyxZQUFZLDZIQUFFLG9CQUFvQixtRkFBRSxxQkFBcUIsK0lBQUUsNEJBQTRCLCtEQUFFLHlCQUF5Qjs7NEZBV25ILG9CQUFvQjtrQkFiaEMsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsNEJBQTRCLEVBQUUseUJBQXlCLENBQUMsWUFDbkgsaUJBQWlCLFlBQ2pCLGVBQWUsYUFFZDt3QkFDUCxTQUFTLHVCQUF1QixpQkFBaUIsRUFBRSxJQUFJLENBQUM7d0JBQ3hELFNBQVMsdUJBQXVCLGFBQWEsRUFBRSxJQUFJLENBQUM7d0JBQ3BELGtCQUFrQixzQkFBc0I7cUJBQzNDOzswQkFnQjJCLE1BQU07MkJBQUMsa0JBQWtCOzswQkFBRyxRQUFRO3lDQXNEaEUsU0FBUztzQkFEUixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgTkdfVkFMSURBVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtzZXRMaXN0Q2xhc3N9IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IEl0ZW1UZW1wbGF0ZURpcmVjdGl2ZSwgSVdpZGdldENvbmZpZywgUGFydGlhbENvbnRhaW5lckRpcmVjdGl2ZSwgUGFydGlhbFBhcmFtSGFuZGxlckRpcmVjdGl2ZSwgcHJvdmlkZUFzLCBwcm92aWRlQXNXaWRnZXRSZWYsIHN0eWxlciwgVGV4dENvbnRlbnREaXJlY3RpdmUgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IERhdGFzZXRBd2FyZUZvcm1Db21wb25lbnQgfSBmcm9tICdAd20vY29tcG9uZW50cy9pbnB1dC9kYXRhc2V0LWF3YXJlLWZvcm0nO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9jaGVja2JveHNldC5wcm9wcyc7XG5pbXBvcnQge2ZvckVhY2gsIGluY2x1ZGVzfSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmRlY2xhcmUgY29uc3QgJDtcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLWNoZWNrYm94c2V0IGxpc3QtZ3JvdXAgaW5saW5lJztcbmNvbnN0IFdJREdFVF9DT05GSUc6IElXaWRnZXRDb25maWcgPSB7d2lkZ2V0VHlwZTogJ3dtLWNoZWNrYm94c2V0JywgaG9zdENsYXNzOiBERUZBVUxUX0NMU307XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVGV4dENvbnRlbnREaXJlY3RpdmUsIEl0ZW1UZW1wbGF0ZURpcmVjdGl2ZSwgUGFydGlhbFBhcmFtSGFuZGxlckRpcmVjdGl2ZSwgUGFydGlhbENvbnRhaW5lckRpcmVjdGl2ZV0sXG4gICAgc2VsZWN0b3I6ICdbd21DaGVja2JveHNldF0nLFxuICAgIGV4cG9ydEFzOiAnd21DaGVja2JveHNldCcsXG4gICAgdGVtcGxhdGVVcmw6ICdjaGVja2JveHNldC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBcyhDaGVja2JveHNldENvbXBvbmVudCwgTkdfVkFMVUVfQUNDRVNTT1IsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXMoQ2hlY2tib3hzZXRDb21wb25lbnQsIE5HX1ZBTElEQVRPUlMsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoQ2hlY2tib3hzZXRDb21wb25lbnQpXG4gICAgXVxufSlcblxuZXhwb3J0IGNsYXNzIENoZWNrYm94c2V0Q29tcG9uZW50IGV4dGVuZHMgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIHB1YmxpYyBsYXlvdXQgPSAnJztcbiAgICBwdWJsaWMgY29sbGFwc2libGU6IGJvb2xlYW47XG5cbiAgICBwcm90ZWN0ZWQgbWF0Y2g6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgZGF0ZWZvcm1hdDogc3RyaW5nO1xuXG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBpdGVtc3BlcnJvdzogc3RyaW5nO1xuICAgIHByaXZhdGUgaXRlbXNQZXJSb3dDbGFzczogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoaW5qOiBJbmplY3RvciwgQEluamVjdCgnRVhQTElDSVRfQ09OVEVYVCcpIEBPcHRpb25hbCgpIGV4cGxpY2l0Q29udGV4dDogYW55KSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRywgZXhwbGljaXRDb250ZXh0KTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcyk7XG4gICAgICAgIHRoaXMubXVsdGlwbGUgPSB0cnVlO1xuICAgIH1cblxuICAgIHRyaWdnZXJJbnZva2VPbkNoYW5nZShrZXlzLCAkZXZlbnQpIHtcbiAgICAgICAgdGhpcy5tb2RlbEJ5S2V5ID0ga2V5cztcblxuICAgICAgICBpZih0aGlzLnZpZXdQYXJlbnQuY29udGFpbmVyV2lkZ2V0ICYmIHRoaXMudmlld1BhcmVudC5jb250YWluZXJXaWRnZXQudXBkYXRlRGF0YVZhbHVlKVxuICAgICAgICAgICAgdGhpcy52aWV3UGFyZW50LmNvbnRhaW5lcldpZGdldC51cGRhdGVEYXRhVmFsdWUodGhpcy5kYXRhdmFsdWUpO1xuXG4gICAgICAgIHRoaXMuaW52b2tlT25Ub3VjaGVkKCk7XG4gICAgICAgIC8vIGludm9rZSBvbiBkYXRhdmFsdWUgY2hhbmdlLlxuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCAkZXZlbnQgfHwge30sIHRydWUpO1xuICAgIH1cblxuICAgIG9uQ2hlY2tib3hMYWJlbENsaWNrKCRldmVudCwga2V5KSB7XG4gICAgICAgIGlmICghJCgkZXZlbnQudGFyZ2V0KS5pcygnaW5wdXQnKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29uc3RydWN0IHRoZSBfbW9kZWwgZnJvbSB0aGUgY2hlY2tlZCBlbGVtZW50cy5cbiAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50cyA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dDpjaGVja2VkJyk7XG4gICAgICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICAgICAgZm9yRWFjaChpbnB1dEVsZW1lbnRzLCAoJGVsKSA9PiB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBrZXlzLnB1c2goJGVsLnZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy50cmlnZ2VySW52b2tlT25DaGFuZ2Uoa2V5cywgJGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV2ZW50TGlzdGVuZXJzOiBNYXA8SFRNTEVsZW1lbnQsIEZ1bmN0aW9uPiA9IG5ldyBNYXAoKTtcblxuICAgIC8vIGNoYW5nZSBhbmQgYmx1ciBldmVudHMgYXJlIGFkZGVkIGZyb20gdGhlIHRlbXBsYXRlXG4gICAgcHJvdGVjdGVkIGhhbmRsZUV2ZW50KG5vZGU6IEhUTUxFbGVtZW50LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uLCBsb2NhbHM6IGFueSkge1xuICAgICAgICBpZiAoZXZlbnROYW1lID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gKGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoISQoZS50YXJnZXQpLmlzKCdpbnB1dCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbG9jYWxzLiRldmVudCA9IGU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBjb25zdCBkZXJlZ2lzdGVyID0gdGhpcy5ldmVudE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihub2RlLCBldmVudE5hbWUsIGhhbmRsZXIpO1xuICAgICAgICAgICAgdGhpcy5ldmVudExpc3RlbmVycy5zZXQobm9kZSwgZGVyZWdpc3Rlcik7XG4gICAgICAgIH0gZWxzZSBpZiAoIWluY2x1ZGVzKFsnY2hhbmdlJ10sIGV2ZW50TmFtZSkpIHtcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZUV2ZW50KG5vZGUsIGV2ZW50TmFtZSwgY2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnLCAnXCJFTlRFUlwiJ10pXG4gICAgb25LZXlEb3duKCRldmVudCkge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgJGV2ZW50LnRhcmdldC5jbGljaygpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3Y/KSB7XG5cbiAgICAgICAgaWYgKGtleSA9PT0gJ3RhYmluZGV4Jykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkgPT09ICdyZXF1aXJlZCcpIHtcbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoa2V5ID09PSAnaXRlbXNwZXJyb3cnKSB7XG4gICAgICAgICAgICBzZXRMaXN0Q2xhc3ModGhpcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICAvLyBNRU1PUlkgTEVBSyBGSVg6IFJlbW92ZSBhbGwgZXZlbnQgbGlzdGVuZXJzXG4gICAgICAgIGlmICh0aGlzLmV2ZW50TGlzdGVuZXJzICYmIHRoaXMuZXZlbnRMaXN0ZW5lcnMuc2l6ZSA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZGVyZWdpc3RlcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkZXJlZ2lzdGVyICYmIHR5cGVvZiBkZXJlZ2lzdGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlcmVnaXN0ZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMuY2xlYXIoKTtcbiAgICAgICAgICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCJAaWYgKCFncm91cGJ5KSB7XG4gIEBmb3IgKGl0ZW0gb2YgZGF0YXNldEl0ZW1zOyB0cmFjayBpdGVtOyBsZXQgaSA9ICRpbmRleCkge1xuICAgIDxsaSBbbmdDbGFzc109XCJbJ2NoZWNrYm94JywgJ2FwcC1jaGVja2JveCcsIGl0ZW1jbGFzcywgaXRlbXNQZXJSb3dDbGFzc11cIlxuICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgIFt3bUl0ZW1UZW1wbGF0ZV09XCJjb250ZW50XCIgW3VzZXJDb21wb25lbnRQYXJhbXNdPVwiaXRlbVwiIHBhcnRpYWxDb250YWluZXJcbiAgICAgIChjbGljayk9XCJvbkNoZWNrYm94TGFiZWxDbGljaygkZXZlbnQsIGl0ZW0ua2V5KVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIj5cbiAgICAgIDwhLS0gRGVmYXVsdCBpdGVtIHRlbXBsYXRlIC0tPlxuICAgICAgQGlmICghY29udGVudCkge1xuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhcHAtY2hlY2tib3hzZXQtbGFiZWxcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIiBbdGl0bGVdPVwiaXRlbS5sYWJlbFwiPlxuICAgICAgICAgIDxpbnB1dCBbbmFtZV09XCInY2hlY2tib3hzZXRfJyArIHdpZGdldElkXCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCIvPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJpdGVtLmxhYmVsXCI+PC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgfVxuICAgICAgPCEtLSBDdXN0b20gcGFydGlhbCB0ZW1wbGF0ZSAtLT5cbiAgICAgIEBpZiAoY29udGVudCkge1xuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhcHAtY2hlY2tib3hzZXQtbGFiZWxcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIiA+XG4gICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidjaGVja2JveHNldF8nICsgd2lkZ2V0SWRcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uIGN1c3RvbVRlbXBsYXRlXCIgcGFydGlhbC1jb250YWluZXItdGFyZ2V0Pjwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIH1cbiAgICA8L2xpPlxuICB9XG59IEBlbHNlIHtcbiAgQGZvciAoZ3JvdXBPYmogb2YgZ3JvdXBlZERhdGE7IHRyYWNrIGdyb3VwT2JqOyBsZXQgZ3JvdXBpbmRleCA9ICRpbmRleCkge1xuICAgIDxsaSBjbGFzcz1cImFwcC1saXN0LWl0ZW0tZ3JvdXBcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICA8dWwgY2xhc3M9XCJpdGVtLWdyb3VwXCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidncm91cF8nICsgd2lkZ2V0SWQgKyAnXycgKyBncm91cGluZGV4XCI+XG4gICAgICAgIDxsaSBbaWRdPVwiJ2dyb3VwXycgKyB3aWRnZXRJZCArICdfJyArIGdyb3VwaW5kZXhcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cImxpc3QtZ3JvdXAtaGVhZGVyXCIgKGNsaWNrKT1cImhhbmRsZUhlYWRlckNsaWNrKCRldmVudClcIiBbdGl0bGVdPVwiZ3JvdXBPYmoua2V5XCIgW25nQ2xhc3NdPVwieydjb2xsYXBzaWJsZS1jb250ZW50JzogY29sbGFwc2libGV9XCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiZ3JvdXAtdGl0bGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidHcm91cCAnK2dyb3VwT2JqLmtleVwiPnt7Z3JvdXBPYmoua2V5fX1cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItYWN0aW9uXCI+XG4gICAgICAgICAgICAgIEBpZiAoY29sbGFwc2libGUpIHtcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImFwcC1pY29uIHdpIGFjdGlvbiB3aS1jaGV2cm9uLXVwXCIgdGl0bGU9XCJ7e2FwcExvY2FsZS5MQUJFTF9DT0xMQVBTRX19L3t7YXBwTG9jYWxlLkxBQkVMX0VYUEFORH19XCI+PC9pPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpZiAoc2hvd2NvdW50KSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCBsYWJlbC1kZWZhdWx0XCIgW3RleHRDb250ZW50XT1cImdyb3VwT2JqLmRhdGEubGVuZ3RoXCI+PC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2g0PlxuICAgICAgICA8L2xpPlxuICAgICAgICBAZm9yIChpdGVtIG9mIGdyb3VwT2JqLmRhdGE7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgPGxpXG4gICAgICAgICAgICBbbmdDbGFzc109XCJbJ2NoZWNrYm94JywgJ2FwcC1jaGVja2JveCcsICdncm91cC1saXN0LWl0ZW0nLCBpdGVtY2xhc3MsIGl0ZW1zUGVyUm93Q2xhc3NdXCJcbiAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgICBbd21JdGVtVGVtcGxhdGVdPVwiY29udGVudFwiIFt1c2VyQ29tcG9uZW50UGFyYW1zXT1cIml0ZW1cIiBwYXJ0aWFsQ29udGFpbmVyXG4gICAgICAgICAgICAoY2xpY2spPVwib25DaGVja2JveExhYmVsQ2xpY2soJGV2ZW50LCBpdGVtKVwiPlxuICAgICAgICAgICAgPCEtLSBEZWZhdWx0IGl0ZW0gdGVtcGxhdGUgLS0+XG4gICAgICAgICAgICBAaWYgKCFjb250ZW50KSB7XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImFwcC1jaGVja2JveHNldC1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmRpc2FibGVkIHx8IHJlYWRvbmx5fVwiIFt0aXRsZV09XCJpdGVtLmxhYmVsXCI+XG4gICAgICAgICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidjaGVja2JveHNldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCIgW3RleHRDb250ZW50XT1cIml0ZW0ubGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8IS0tIEN1c3RvbSBwYXJ0aWFsIHRlbXBsYXRlIC0tPlxuICAgICAgICAgICAgQGlmIChjb250ZW50KSB7XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImFwcC1jaGVja2JveHNldC1sYWJlbFwiIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOmRpc2FibGVkIHx8IHJlYWRvbmx5fVwiID5cbiAgICAgICAgICAgICAgICA8aW5wdXQgW25hbWVdPVwiJ2NoZWNrYm94c2V0XycgKyB3aWRnZXRJZFwiIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW2F0dHIuZGF0YS1hdHRyLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiLz5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBwYXJ0aWFsLWNvbnRhaW5lci10YXJnZXQ+PC9zcGFuPlxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgIDwvdWw+XG4gICAgPC9saT5cbiAgfVxufVxuPGlucHV0IFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIGhpZGRlbiBjbGFzcz1cIm1vZGVsLWhvbGRlclwiPlxuQGlmIChyZWFkb25seSB8fCBkaXNhYmxlZCkge1xuICA8ZGl2IGNsYXNzPVwicmVhZG9ubHktd3JhcHBlclwiPjwvZGl2PlxufVxuXG48IS0tIFRoaXMgdGVtcGxhdGUgd2lsbCBiZSBkaXNwbGF5ZWQgd2hlbiBncm91cGJ5IGlzIHNwZWNpZmllZC4gLS0+XG4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hzZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2NoZWNrYm94c2V0L3NyYy9jaGVja2JveHNldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvY2hlY2tib3hzZXQvc3JjL2NoZWNrYm94c2V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFhLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUN0QyxPQUFPLEVBQUUscUJBQXFCLEVBQWlCLHlCQUF5QixFQUFFLDRCQUE0QixFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqTSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7OztBQUk1QyxNQUFNLFdBQVcsR0FBRyxtQ0FBbUMsQ0FBQztBQUN4RCxNQUFNLGFBQWEsR0FBa0IsRUFBQyxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDO0FBZTVGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx5QkFBeUI7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RSxDQUFDO2dCQUNqQixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQy9CLENBQUM7UUFFRCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0EvR1Esb0JBQW9CLDBDQWFNLGtCQUFrQjttR0FiNUMsb0JBQW9CLHVJQVBsQjtZQUNQLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUM7WUFDeEQsU0FBUyxDQUFDLG9CQUFvQixFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUM7WUFDcEQsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7U0FDM0MsOEVDMUJMLDR3SUFrRkEsMkNEaEVjLFlBQVksNkhBQUUsb0JBQW9CLG1GQUFFLHFCQUFxQiwrSUFBRSw0QkFBNEIsK0RBQUUseUJBQXlCOzs0RkFXbkgsb0JBQW9CO2tCQWJoQyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSw0QkFBNEIsRUFBRSx5QkFBeUIsQ0FBQyxZQUNuSCxpQkFBaUIsWUFDakIsZUFBZSxhQUVkO3dCQUNQLFNBQVMsdUJBQXVCLGlCQUFpQixFQUFFLElBQUksQ0FBQzt3QkFDeEQsU0FBUyx1QkFBdUIsYUFBYSxFQUFFLElBQUksQ0FBQzt3QkFDcEQsa0JBQWtCLHNCQUFzQjtxQkFDM0M7OzBCQWdCMkIsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUFHLFFBQVE7eUNBc0RoRSxTQUFTO3NCQURSLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge3NldExpc3RDbGFzc30gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgSXRlbVRlbXBsYXRlRGlyZWN0aXZlLCBJV2lkZ2V0Q29uZmlnLCBQYXJ0aWFsQ29udGFpbmVyRGlyZWN0aXZlLCBQYXJ0aWFsUGFyYW1IYW5kbGVyRGlyZWN0aXZlLCBwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZiwgc3R5bGVyLCBUZXh0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2lucHV0L2RhdGFzZXQtYXdhcmUtZm9ybSc7XG5cbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL2NoZWNrYm94c2V0LnByb3BzJztcbmltcG9ydCB7Zm9yRWFjaCwgaW5jbHVkZXN9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCAkO1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtY2hlY2tib3hzZXQgbGlzdC1ncm91cCBpbmxpbmUnO1xuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHt3aWRnZXRUeXBlOiAnd20tY2hlY2tib3hzZXQnLCBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTfTtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUZXh0Q29udGVudERpcmVjdGl2ZSwgSXRlbVRlbXBsYXRlRGlyZWN0aXZlLCBQYXJ0aWFsUGFyYW1IYW5kbGVyRGlyZWN0aXZlLCBQYXJ0aWFsQ29udGFpbmVyRGlyZWN0aXZlXSxcbiAgICBzZWxlY3RvcjogJ1t3bUNoZWNrYm94c2V0XScsXG4gICAgZXhwb3J0QXM6ICd3bUNoZWNrYm94c2V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2NoZWNrYm94c2V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKENoZWNrYm94c2V0Q29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBcyhDaGVja2JveHNldENvbXBvbmVudCwgTkdfVkFMSURBVE9SUywgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihDaGVja2JveHNldENvbXBvbmVudClcbiAgICBdXG59KVxuXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hzZXRDb21wb25lbnQgZXh0ZW5kcyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIGxheW91dCA9ICcnO1xuICAgIHB1YmxpYyBjb2xsYXBzaWJsZTogYm9vbGVhbjtcblxuICAgIHByb3RlY3RlZCBtYXRjaDogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBkYXRlZm9ybWF0OiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIGl0ZW1zcGVycm93OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBpdGVtc1BlclJvd0NsYXNzOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzKTtcbiAgICAgICAgdGhpcy5tdWx0aXBsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgdHJpZ2dlckludm9rZU9uQ2hhbmdlKGtleXMsICRldmVudCkge1xuICAgICAgICB0aGlzLm1vZGVsQnlLZXkgPSBrZXlzO1xuXG4gICAgICAgIGlmKHRoaXMudmlld1BhcmVudC5jb250YWluZXJXaWRnZXQgJiYgdGhpcy52aWV3UGFyZW50LmNvbnRhaW5lcldpZGdldC51cGRhdGVEYXRhVmFsdWUpXG4gICAgICAgICAgICB0aGlzLnZpZXdQYXJlbnQuY29udGFpbmVyV2lkZ2V0LnVwZGF0ZURhdGFWYWx1ZSh0aGlzLmRhdGF2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5pbnZva2VPblRvdWNoZWQoKTtcbiAgICAgICAgLy8gaW52b2tlIG9uIGRhdGF2YWx1ZSBjaGFuZ2UuXG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsICRldmVudCB8fCB7fSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb25DaGVja2JveExhYmVsQ2xpY2soJGV2ZW50LCBrZXkpIHtcbiAgICAgICAgaWYgKCEkKCRldmVudC50YXJnZXQpLmlzKCdpbnB1dCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb25zdHJ1Y3QgdGhlIF9tb2RlbCBmcm9tIHRoZSBjaGVja2VkIGVsZW1lbnRzLlxuICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnRzID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0OmNoZWNrZWQnKTtcbiAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICBmb3JFYWNoKGlucHV0RWxlbWVudHMsICgkZWwpID0+IHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIGtleXMucHVzaCgkZWwudmFsdWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRyaWdnZXJJbnZva2VPbkNoYW5nZShrZXlzLCAkZXZlbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZXZlbnRMaXN0ZW5lcnM6IE1hcDxIVE1MRWxlbWVudCwgRnVuY3Rpb24+ID0gbmV3IE1hcCgpO1xuXG4gICAgLy8gY2hhbmdlIGFuZCBibHVyIGV2ZW50cyBhcmUgYWRkZWQgZnJvbSB0aGUgdGVtcGxhdGVcbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXZlbnQobm9kZTogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24sIGxvY2FsczogYW55KSB7XG4gICAgICAgIGlmIChldmVudE5hbWUgPT09ICdjbGljaycpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZXIgPSAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghJChlLnRhcmdldCkuaXMoJ2lucHV0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsb2NhbHMuJGV2ZW50ID0gZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGNvbnN0IGRlcmVnaXN0ZXIgPSB0aGlzLmV2ZW50TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKG5vZGUsIGV2ZW50TmFtZSwgaGFuZGxlcik7XG4gICAgICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLnNldChub2RlLCBkZXJlZ2lzdGVyKTtcbiAgICAgICAgfSBlbHNlIGlmICghaW5jbHVkZXMoWydjaGFuZ2UnXSwgZXZlbnROYW1lKSkge1xuICAgICAgICAgICAgc3VwZXIuaGFuZGxlRXZlbnQobm9kZSwgZXZlbnROYW1lLCBjYWxsYmFjaywgbG9jYWxzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInLCBbJyRldmVudCcsICdcIkVOVEVSXCInXSlcbiAgICBvbktleURvd24oJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAkZXZlbnQudGFyZ2V0LmNsaWNrKCk7XG4gICAgfVxuXG4gICAgb25Qcm9wZXJ0eUNoYW5nZShrZXksIG52LCBvdj8pIHtcblxuICAgICAgICBpZiAoa2V5ID09PSAndGFiaW5kZXgnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGtleSA9PT0gJ3JlcXVpcmVkJykge1xuICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy5kYXRhdmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9ZWxzZSBpZihrZXkgPT09ICdsYXlvdXQnKXtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlTGF5b3V0KG52KVxuICAgICAgICB9XG4gICAgICAgIGlmIChrZXkgPT09ICdpdGVtc3BlcnJvdycpIHtcbiAgICAgICAgICAgIHNldExpc3RDbGFzcyh0aGlzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGhhbmRsZUxheW91dChsYXlvdXQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBsYXlvdXQgPT09ICd2ZXJ0aWNhbCcgPyAnY29sdW1uJyA6ICdyb3cnO1xuICAgICAgICB0aGlzLiRlbGVtZW50LmNzcyh7XG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBkaXJlY3Rpb25cbiAgICAgICAgfSk7XG4gICAgfVxuXG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgLy8gTUVNT1JZIExFQUsgRklYOiBSZW1vdmUgYWxsIGV2ZW50IGxpc3RlbmVyc1xuICAgICAgICBpZiAodGhpcy5ldmVudExpc3RlbmVycyAmJiB0aGlzLmV2ZW50TGlzdGVuZXJzLnNpemUgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGRlcmVnaXN0ZXIpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGVyZWdpc3RlciAmJiB0eXBlb2YgZGVyZWdpc3RlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICBkZXJlZ2lzdGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXJzLmNsZWFyKCk7XG4gICAgICAgICAgICB0aGlzLmV2ZW50TGlzdGVuZXJzID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIiwiQGlmICghZ3JvdXBieSkge1xuICBAZm9yIChpdGVtIG9mIGRhdGFzZXRJdGVtczsgdHJhY2sgaXRlbTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICA8bGkgW25nQ2xhc3NdPVwiWydjaGVja2JveCcsICdhcHAtY2hlY2tib3gnLCBpdGVtY2xhc3MsIGl0ZW1zUGVyUm93Q2xhc3NdXCJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICBbd21JdGVtVGVtcGxhdGVdPVwiY29udGVudFwiIFt1c2VyQ29tcG9uZW50UGFyYW1zXT1cIml0ZW1cIiBwYXJ0aWFsQ29udGFpbmVyXG4gICAgICAoY2xpY2spPVwib25DaGVja2JveExhYmVsQ2xpY2soJGV2ZW50LCBpdGVtLmtleSlcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gICAgICA8IS0tIERlZmF1bHQgaXRlbSB0ZW1wbGF0ZSAtLT5cbiAgICAgIEBpZiAoIWNvbnRlbnQpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYXBwLWNoZWNrYm94c2V0LWxhYmVsXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCIgW3RpdGxlXT1cIml0ZW0ubGFiZWxcIj5cbiAgICAgICAgICA8aW5wdXQgW25hbWVdPVwiJ2NoZWNrYm94c2V0XycgKyB3aWRnZXRJZFwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCIgW2F0dHIuZGF0YS1hdHRyLWluZGV4XT1cImlcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0ua2V5XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW2NoZWNrZWRdPVwiaXRlbS5zZWxlY3RlZFwiLz5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiaXRlbS5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgIH1cbiAgICAgIDwhLS0gQ3VzdG9tIHBhcnRpYWwgdGVtcGxhdGUgLS0+XG4gICAgICBAaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYXBwLWNoZWNrYm94c2V0LWxhYmVsXCIgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6ZGlzYWJsZWQgfHwgcmVhZG9ubHl9XCIgPlxuICAgICAgICAgIDxpbnB1dCBbbmFtZV09XCInY2hlY2tib3hzZXRfJyArIHdpZGdldElkXCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCIvPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvbiBjdXN0b21UZW1wbGF0ZVwiIHBhcnRpYWwtY29udGFpbmVyLXRhcmdldD48L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICB9XG4gICAgPC9saT5cbiAgfVxufSBAZWxzZSB7XG4gIEBmb3IgKGdyb3VwT2JqIG9mIGdyb3VwZWREYXRhOyB0cmFjayBncm91cE9iajsgbGV0IGdyb3VwaW5kZXggPSAkaW5kZXgpIHtcbiAgICA8bGkgY2xhc3M9XCJhcHAtbGlzdC1pdGVtLWdyb3VwXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgPHVsIGNsYXNzPVwiaXRlbS1ncm91cFwiIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInZ3JvdXBfJyArIHdpZGdldElkICsgJ18nICsgZ3JvdXBpbmRleFwiPlxuICAgICAgICA8bGkgW2lkXT1cIidncm91cF8nICsgd2lkZ2V0SWQgKyAnXycgKyBncm91cGluZGV4XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJsaXN0LWdyb3VwLWhlYWRlclwiIChjbGljayk9XCJoYW5kbGVIZWFkZXJDbGljaygkZXZlbnQpXCIgW3RpdGxlXT1cImdyb3VwT2JqLmtleVwiIFtuZ0NsYXNzXT1cInsnY29sbGFwc2libGUtY29udGVudCc6IGNvbGxhcHNpYmxlfVwiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImdyb3VwLXRpdGxlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInR3JvdXAgJytncm91cE9iai5rZXlcIj57e2dyb3VwT2JqLmtleX19XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWFjdGlvblwiPlxuICAgICAgICAgICAgICBAaWYgKGNvbGxhcHNpYmxlKSB7XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJhcHAtaWNvbiB3aSBhY3Rpb24gd2ktY2hldnJvbi11cFwiIHRpdGxlPVwie3thcHBMb2NhbGUuTEFCRUxfQ09MTEFQU0V9fS97e2FwcExvY2FsZS5MQUJFTF9FWFBBTkR9fVwiPjwvaT5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAaWYgKHNob3djb3VudCkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwgbGFiZWwtZGVmYXVsdFwiIFt0ZXh0Q29udGVudF09XCJncm91cE9iai5kYXRhLmxlbmd0aFwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9oND5cbiAgICAgICAgPC9saT5cbiAgICAgICAgQGZvciAoaXRlbSBvZiBncm91cE9iai5kYXRhOyB0cmFjayBpdGVtOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgICAgIDxsaVxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiWydjaGVja2JveCcsICdhcHAtY2hlY2tib3gnLCAnZ3JvdXAtbGlzdC1pdGVtJywgaXRlbWNsYXNzLCBpdGVtc1BlclJvd0NsYXNzXVwiXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgW3dtSXRlbVRlbXBsYXRlXT1cImNvbnRlbnRcIiBbdXNlckNvbXBvbmVudFBhcmFtc109XCJpdGVtXCIgcGFydGlhbENvbnRhaW5lclxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2hlY2tib3hMYWJlbENsaWNrKCRldmVudCwgaXRlbSlcIj5cbiAgICAgICAgICAgIDwhLS0gRGVmYXVsdCBpdGVtIHRlbXBsYXRlIC0tPlxuICAgICAgICAgICAgQGlmICghY29udGVudCkge1xuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhcHAtY2hlY2tib3hzZXQtbGFiZWxcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIiBbdGl0bGVdPVwiaXRlbS5sYWJlbFwiPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBbbmFtZV09XCInY2hlY2tib3hzZXRfJyArIHdpZGdldElkXCIgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBbYXR0ci5kYXRhLWF0dHItaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS5rZXlcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbY2hlY2tlZF09XCJpdGVtLnNlbGVjdGVkXCIvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJpdGVtLmxhYmVsXCI+PC9zcGFuPlxuICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPCEtLSBDdXN0b20gcGFydGlhbCB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgICAgIEBpZiAoY29udGVudCkge1xuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhcHAtY2hlY2tib3hzZXQtbGFiZWxcIiBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzpkaXNhYmxlZCB8fCByZWFkb25seX1cIiA+XG4gICAgICAgICAgICAgICAgPGlucHV0IFtuYW1lXT1cIidjaGVja2JveHNldF8nICsgd2lkZ2V0SWRcIiB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiIFthdHRyLmRhdGEtYXR0ci1pbmRleF09XCJpXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJpdGVtLmtleVwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtjaGVja2VkXT1cIml0ZW0uc2VsZWN0ZWRcIi8+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXB0aW9uXCIgcGFydGlhbC1jb250YWluZXItdGFyZ2V0Pjwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgICA8L3VsPlxuICAgIDwvbGk+XG4gIH1cbn1cbjxpbnB1dCBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIiBoaWRkZW4gY2xhc3M9XCJtb2RlbC1ob2xkZXJcIj5cbkBpZiAocmVhZG9ubHkgfHwgZGlzYWJsZWQpIHtcbiAgPGRpdiBjbGFzcz1cInJlYWRvbmx5LXdyYXBwZXJcIj48L2Rpdj5cbn1cblxuPCEtLSBUaGlzIHRlbXBsYXRlIHdpbGwgYmUgZGlzcGxheWVkIHdoZW4gZ3JvdXBieSBpcyBzcGVjaWZpZWQuIC0tPlxuIl19
|
|
@@ -26,10 +26,11 @@ export const checkboxsetProps = new Map([
|
|
|
26
26
|
['showcount', PROP_BOOLEAN],
|
|
27
27
|
['showindevice', { displayType: 'inline-block', value: 'all', ...PROP_STRING }],
|
|
28
28
|
['tabindex', { value: 0, ...PROP_NUMBER }],
|
|
29
|
-
['usekeys', PROP_BOOLEAN]
|
|
29
|
+
['usekeys', PROP_BOOLEAN],
|
|
30
|
+
['layout', PROP_STRING]
|
|
30
31
|
]);
|
|
31
32
|
export const registerProps = () => {
|
|
32
33
|
register('wm-checkboxset', checkboxsetProps);
|
|
33
34
|
registerFormWidget(FormWidgetType.CHECKBOXSET, new Map(checkboxsetProps));
|
|
34
35
|
};
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3hzZXQucHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvY2hlY2tib3hzZXQvc3JjL2NoZWNrYm94c2V0LnByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVySCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsQ0FDbkM7SUFDSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7SUFDdEIsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDO0lBQzdCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUMxQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDMUIsQ0FBQyxTQUFTLEVBQUUsRUFBQyxLQUFLLEVBQUUsOEJBQThCLEVBQUUsR0FBRyxRQUFRLEVBQUMsQ0FBQztJQUNqRSxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQztJQUM3QixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDMUIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO0lBQzNCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztJQUMxQixDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQztJQUNsQyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUM7SUFDN0IsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDO0lBQzdCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQztJQUN4QixDQUFDLFdBQVcsRUFBRSxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLEVBQUMsQ0FBQztJQUMxQyxDQUFDLGFBQWEsRUFBRSxFQUFDLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO0lBQy9ELENBQUMsV0FBVyxFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO0lBQzFDLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQztJQUN0QixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7SUFDckIsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDO0lBQ3hCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztJQUMxQixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDMUIsQ0FBQyxNQUFNLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxFQUFDLENBQUM7SUFDeEMsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDO0lBQzNCLENBQUMsY0FBYyxFQUFFLEVBQUMsV0FBVyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7SUFDN0UsQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7SUFDeEMsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDO0lBQ3pCLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQztDQUMxQixDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO0lBQzlCLFFBQVEsQ0FDSixnQkFBZ0IsRUFDaEIsZ0JBQWdCLENBQ25CLENBQUM7SUFDRixrQkFBa0IsQ0FDZCxjQUFjLENBQUMsV0FBVyxFQUMxQixJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUM1QixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybVdpZGdldFR5cGUgfSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBQUk9QX0FOWSwgUFJPUF9CT09MRUFOLCBQUk9QX05VTUJFUiwgUFJPUF9TVFJJTkcsIHJlZ2lzdGVyLCByZWdpc3RlckZvcm1XaWRnZXQgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcblxuZXhwb3J0IGNvbnN0IGNoZWNrYm94c2V0UHJvcHMgPSBuZXcgTWFwKFxuICAgIFtcbiAgICAgICAgWydjbGFzcycsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydjb2xsYXBzaWJsZScsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsnY29tcGFyZWJ5JywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2RhdGFmaWVsZCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkYXRhc2V0Jywge3ZhbHVlOiAnT3B0aW9uIDEsIE9wdGlvbiAyLCBPcHRpb24gMycsIC4uLlBST1BfQU5ZfV0sXG4gICAgICAgIFsnZGF0YXZhbHVlc291cmNlJywgUFJPUF9BTlldLFxuICAgICAgICBbJ2RhdGF2YWx1ZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkYXRlZm9ybWF0JywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2Rpc2FibGVkJywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydkaXNwbGF5ZXhwcmVzc2lvbicsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkaXNwbGF5ZmllbGQnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnZGlzcGxheVZhbHVlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2dyb3VwYnknLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnaXRlbWNsYXNzJywge3ZhbHVlOiAnJywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgWydpdGVtc3BlcnJvdycsIHt2YWx1ZTogJ3hzLTEgc20tMSBtZC0xIGxnLTEnLCAuLi5QUk9QX1NUUklOR31dLFxuICAgICAgICBbJ2xpc3RjbGFzcycsIHt2YWx1ZTogJycsIC4uLlBST1BfU1RSSU5HfV0sXG4gICAgICAgIFsnbWF0Y2gnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnbmFtZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydvcmRlcmJ5JywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ3JlYWRvbmx5JywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydyZXF1aXJlZCcsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsnc2hvdycsIHt2YWx1ZTogdHJ1ZSwgLi4uUFJPUF9CT09MRUFOfV0sXG4gICAgICAgIFsnc2hvd2NvdW50JywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydzaG93aW5kZXZpY2UnLCB7ZGlzcGxheVR5cGU6ICdpbmxpbmUtYmxvY2snLCB2YWx1ZTogJ2FsbCcsIC4uLlBST1BfU1RSSU5HfV0sXG4gICAgICAgIFsndGFiaW5kZXgnLCB7dmFsdWU6IDAsIC4uLlBST1BfTlVNQkVSfV0sXG4gICAgICAgIFsndXNla2V5cycsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsnbGF5b3V0JywgUFJPUF9TVFJJTkddXG4gICAgXVxuKTtcblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyUHJvcHMgPSAoKSA9PiB7XG4gICAgcmVnaXN0ZXIoXG4gICAgICAgICd3bS1jaGVja2JveHNldCcsXG4gICAgICAgIGNoZWNrYm94c2V0UHJvcHNcbiAgICApO1xuICAgIHJlZ2lzdGVyRm9ybVdpZGdldChcbiAgICAgICAgRm9ybVdpZGdldFR5cGUuQ0hFQ0tCT1hTRVQsXG4gICAgICAgIG5ldyBNYXAoY2hlY2tib3hzZXRQcm9wcylcbiAgICApO1xufTtcbiJdfQ==
|
|
@@ -34,7 +34,8 @@ const checkboxsetProps = new Map([
|
|
|
34
34
|
['showcount', PROP_BOOLEAN],
|
|
35
35
|
['showindevice', { displayType: 'inline-block', value: 'all', ...PROP_STRING }],
|
|
36
36
|
['tabindex', { value: 0, ...PROP_NUMBER }],
|
|
37
|
-
['usekeys', PROP_BOOLEAN]
|
|
37
|
+
['usekeys', PROP_BOOLEAN],
|
|
38
|
+
['layout', PROP_STRING]
|
|
38
39
|
]);
|
|
39
40
|
const registerProps = () => {
|
|
40
41
|
register('wm-checkboxset', checkboxsetProps);
|
|
@@ -102,6 +103,9 @@ class CheckboxsetComponent extends DatasetAwareFormComponent {
|
|
|
102
103
|
this._onChange(this.datavalue);
|
|
103
104
|
return;
|
|
104
105
|
}
|
|
106
|
+
else if (key === 'layout') {
|
|
107
|
+
this.handleLayout(nv);
|
|
108
|
+
}
|
|
105
109
|
if (key === 'itemsperrow') {
|
|
106
110
|
setListClass(this);
|
|
107
111
|
}
|
|
@@ -109,6 +113,13 @@ class CheckboxsetComponent extends DatasetAwareFormComponent {
|
|
|
109
113
|
super.onPropertyChange(key, nv, ov);
|
|
110
114
|
}
|
|
111
115
|
}
|
|
116
|
+
handleLayout(layout) {
|
|
117
|
+
const direction = layout === 'vertical' ? 'column' : 'row';
|
|
118
|
+
this.$element.css({
|
|
119
|
+
display: 'flex',
|
|
120
|
+
flexDirection: direction
|
|
121
|
+
});
|
|
122
|
+
}
|
|
112
123
|
ngOnDestroy() {
|
|
113
124
|
// MEMORY LEAK FIX: Remove all event listeners
|
|
114
125
|
if (this.eventListeners && this.eventListeners.size > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/checkboxset/src/checkboxset.props.ts","../../../../../projects/components/widgets/input/checkboxset/src/checkboxset.component.ts","../../../../../projects/components/widgets/input/checkboxset/src/checkboxset.component.html","../../../../../projects/components/widgets/input/checkboxset/src/index.ts"],"sourcesContent":["import { FormWidgetType } from '@wm/core';\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\n\nexport const checkboxsetProps = new Map(\n [\n ['class', PROP_STRING],\n ['collapsible', PROP_BOOLEAN],\n ['compareby', PROP_STRING],\n ['datafield', PROP_STRING],\n ['dataset', {value: 'Option 1, Option 2, Option 3', ...PROP_ANY}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['dateformat', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['displayexpression', PROP_STRING],\n ['displayfield', PROP_STRING],\n ['displayValue', PROP_STRING],\n ['groupby', PROP_STRING],\n ['itemclass', {value: '', ...PROP_STRING}],\n ['itemsperrow', {value: 'xs-1 sm-1 md-1 lg-1', ...PROP_STRING}],\n ['listclass', {value: '', ...PROP_STRING}],\n ['match', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showcount', PROP_BOOLEAN],\n ['showindevice', {displayType: 'inline-block', value: 'all', ...PROP_STRING}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['usekeys', PROP_BOOLEAN]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-checkboxset',\n checkboxsetProps\n );\n registerFormWidget(\n FormWidgetType.CHECKBOXSET,\n new Map(checkboxsetProps)\n );\n};\n","import { CommonModule } from '@angular/common';\nimport {Component, HostListener, Inject, Injector, OnDestroy, Optional} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport {setListClass} from '@wm/core';\nimport { ItemTemplateDirective, IWidgetConfig, PartialContainerDirective, PartialParamHandlerDirective, provideAs, provideAsWidgetRef, styler, TextContentDirective } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '@wm/components/input/dataset-aware-form';\n\nimport { registerProps } from './checkboxset.props';\nimport {forEach, includes} from \"lodash-es\";\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-checkboxset list-group inline';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-checkboxset', hostClass: DEFAULT_CLS};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective, ItemTemplateDirective, PartialParamHandlerDirective, PartialContainerDirective],\n selector: '[wmCheckboxset]',\n exportAs: 'wmCheckboxset',\n templateUrl: 'checkboxset.component.html',\n providers: [\n provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),\n provideAs(CheckboxsetComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(CheckboxsetComponent)\n ]\n})\n\nexport class CheckboxsetComponent extends DatasetAwareFormComponent implements OnDestroy {\n static initializeProps = registerProps();\n\n public layout = '';\n public collapsible: boolean;\n\n protected match: string;\n protected dateformat: string;\n\n public disabled: boolean;\n public itemsperrow: string;\n private itemsPerRowClass: string;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this);\n this.multiple = true;\n }\n\n triggerInvokeOnChange(keys, $event) {\n this.modelByKey = keys;\n\n if(this.viewParent.containerWidget && this.viewParent.containerWidget.updateDataValue)\n this.viewParent.containerWidget.updateDataValue(this.datavalue);\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\n\n onCheckboxLabelClick($event, key) {\n if (!$($event.target).is('input')) {\n return;\n }\n\n // construct the _model from the checked elements.\n const inputElements = this.nativeElement.querySelectorAll('input:checked');\n const keys = [];\n forEach(inputElements, ($el) => {\n // @ts-ignore\n keys.push($el.value);\n });\n\n this.triggerInvokeOnChange(keys, $event);\n }\n\n private eventListeners: Map<HTMLElement, Function> = new Map();\n\n // change and blur events are added from the template\n protected handleEvent(node: HTMLElement, eventName: string, callback: Function, locals: any) {\n if (eventName === 'click') {\n const handler = (e) => {\n if (!$(e.target).is('input')) {\n return;\n }\n locals.$event = e;\n return callback();\n };\n \n const deregister = this.eventManager.addEventListener(node, eventName, handler);\n this.eventListeners.set(node, deregister);\n } else if (!includes(['change'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n @HostListener('keydown.enter', ['$event', '\"ENTER\"'])\n onKeyDown($event) {\n $event.preventDefault();\n $event.target.click();\n }\n\n onPropertyChange(key, nv, ov?) {\n\n if (key === 'tabindex') {\n return;\n }\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }\n if (key === 'itemsperrow') {\n setListClass(this);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Remove all event listeners\n if (this.eventListeners && this.eventListeners.size > 0) {\n this.eventListeners.forEach((deregister) => {\n if (deregister && typeof deregister === 'function') {\n deregister();\n }\n });\n this.eventListeners.clear();\n this.eventListeners = null;\n }\n\n super.ngOnDestroy();\n }\n}\n","@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n@if (readonly || disabled) {\n <div class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;AAGO,MAAM,gBAAgB,GAAG,IAAI,GAAG,CACnC;IACI,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,8BAA8B,EAAE,GAAG,QAAQ,EAAC,CAAC;IACjE,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IAC7B,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,YAAY,EAAE,WAAW,CAAC;IAC3B,CAAC,UAAU,EAAE,YAAY,CAAC;IAC1B,CAAC,mBAAmB,EAAE,WAAW,CAAC;IAClC,CAAC,cAAc,EAAE,WAAW,CAAC;IAC7B,CAAC,cAAc,EAAE,WAAW,CAAC;IAC7B,CAAC,SAAS,EAAE,WAAW,CAAC;IACxB,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,GAAG,WAAW,EAAC,CAAC;IAC1C,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,qBAAqB,EAAE,GAAG,WAAW,EAAC,CAAC;IAC/D,CAAC,WAAW,EAAE,EAAC,KAAK,EAAE,EAAE,EAAE,GAAG,WAAW,EAAC,CAAC;IAC1C,CAAC,OAAO,EAAE,WAAW,CAAC;IACtB,CAAC,MAAM,EAAE,WAAW,CAAC;IACrB,CAAC,SAAS,EAAE,WAAW,CAAC;IACxB,CAAC,UAAU,EAAE,YAAY,CAAC;IAC1B,CAAC,UAAU,EAAE,YAAY,CAAC;IAC1B,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAC,CAAC;IACxC,CAAC,WAAW,EAAE,YAAY,CAAC;AAC3B,IAAA,CAAC,cAAc,EAAE,EAAC,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,WAAW,EAAC,CAAC;IAC7E,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,EAAC,CAAC;IACxC,CAAC,SAAS,EAAE,YAAY;AAC3B,CAAA,CACJ;AAEM,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,QAAQ,CACJ,gBAAgB,EAChB,gBAAgB,CACnB;IACD,kBAAkB,CACd,cAAc,CAAC,WAAW,EAC1B,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAC5B;AACL,CAAC;;AC9BD,MAAM,WAAW,GAAG,mCAAmC;AACvD,MAAM,aAAa,GAAkB,EAAC,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAC;AAerF,MAAO,oBAAqB,SAAQ,yBAAyB,CAAA;AACxD,IAAA,SAAA,IAAA,CAAA,eAAe,GAAG,aAAa,EAAhB,CAAmB;IAYzC,WAAA,CAAY,GAAa,EAA0C,eAAoB,EAAA;AACnF,QAAA,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,eAAe,CAAC;QAXvC,IAAA,CAAA,MAAM,GAAG,EAAE;AA2CV,QAAA,IAAA,CAAA,cAAc,GAA+B,IAAI,GAAG,EAAE;AA/B1D,QAAA,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC;AAChC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;IACxB;IAEA,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAA;AAC9B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AAEtB,QAAA,IAAG,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,eAAe;YACjF,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;QAEnE,IAAI,CAAC,eAAe,EAAE;;AAEtB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC;IAC3D;IAEA,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAA;AAC5B,QAAA,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;YAC/B;QACJ;;QAGA,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC;QAC1E,MAAM,IAAI,GAAG,EAAE;AACf,QAAA,OAAO,CAAC,aAAa,EAAE,CAAC,GAAG,KAAI;;AAE3B,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AACxB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC;IAC5C;;AAKU,IAAA,WAAW,CAAC,IAAiB,EAAE,SAAiB,EAAE,QAAkB,EAAE,MAAW,EAAA;AACvF,QAAA,IAAI,SAAS,KAAK,OAAO,EAAE;AACvB,YAAA,MAAM,OAAO,GAAG,CAAC,CAAC,KAAI;AAClB,gBAAA,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;oBAC1B;gBACJ;AACA,gBAAA,MAAM,CAAC,MAAM,GAAG,CAAC;gBACjB,OAAO,QAAQ,EAAE;AACrB,YAAA,CAAC;AAED,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC;YAC/E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;QAC7C;aAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE;YACzC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;QACxD;IACJ;AAGA,IAAA,SAAS,CAAC,MAAM,EAAA;QACZ,MAAM,CAAC,cAAc,EAAE;AACvB,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;IACzB;AAEA,IAAA,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAG,EAAA;AAEzB,QAAA,IAAI,GAAG,KAAK,UAAU,EAAE;YACpB;QACJ;AACA,QAAA,IAAI,GAAG,KAAK,UAAU,EAAE;AACpB,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;YAC9B;QACJ;AACA,QAAA,IAAI,GAAG,KAAK,aAAa,EAAE;YACvB,YAAY,CAAC,IAAI,CAAC;QACtB;aAAO;YACH,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QACvC;IACJ;IAEA,WAAW,GAAA;;AAEP,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE;YACrD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,UAAU,KAAI;AACvC,gBAAA,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AAChD,oBAAA,UAAU,EAAE;gBAChB;AACJ,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;AAC3B,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI;QAC9B;QAEA,KAAK,CAAC,WAAW,EAAE;IACvB;AArGS,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,0CAaM,kBAAkB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAb5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,SAAA,EAPlB;AACP,YAAA,SAAS,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,IAAI,CAAC;AACxD,YAAA,SAAS,CAAC,oBAAoB,EAAE,aAAa,EAAE,IAAI,CAAC;YACpD,kBAAkB,CAAC,oBAAoB;SAC1C,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1BL,4wIAkFA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDhEc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,mFAAE,qBAAqB,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,4BAA4B,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAWnH,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAbhC,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,WACP,CAAC,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,yBAAyB,CAAC,EAAA,QAAA,EACnH,iBAAiB,EAAA,QAAA,EACjB,eAAe,EAAA,SAAA,EAEd;AACP,wBAAA,SAAS,CAAA,oBAAA,EAAuB,iBAAiB,EAAE,IAAI,CAAC;AACxD,wBAAA,SAAS,CAAA,oBAAA,EAAuB,aAAa,EAAE,IAAI,CAAC;AACpD,wBAAA,kBAAkB,CAAA,oBAAA;AACrB,qBAAA,EAAA,QAAA,EAAA,4wIAAA,EAAA;;0BAgB2B,MAAM;2BAAC,kBAAkB;;0BAAG;yCAsDxD,SAAS,EAAA,CAAA;sBADR,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;;;AE/FxD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../projects/components/widgets/input/checkboxset/src/checkboxset.props.ts","../../../../../projects/components/widgets/input/checkboxset/src/checkboxset.component.ts","../../../../../projects/components/widgets/input/checkboxset/src/checkboxset.component.html","../../../../../projects/components/widgets/input/checkboxset/src/index.ts"],"sourcesContent":["import { FormWidgetType } from '@wm/core';\nimport { PROP_ANY, PROP_BOOLEAN, PROP_NUMBER, PROP_STRING, register, registerFormWidget } from '@wm/components/base';\n\nexport const checkboxsetProps = new Map(\n [\n ['class', PROP_STRING],\n ['collapsible', PROP_BOOLEAN],\n ['compareby', PROP_STRING],\n ['datafield', PROP_STRING],\n ['dataset', {value: 'Option 1, Option 2, Option 3', ...PROP_ANY}],\n ['datavaluesource', PROP_ANY],\n ['datavalue', PROP_STRING],\n ['dateformat', PROP_STRING],\n ['disabled', PROP_BOOLEAN],\n ['displayexpression', PROP_STRING],\n ['displayfield', PROP_STRING],\n ['displayValue', PROP_STRING],\n ['groupby', PROP_STRING],\n ['itemclass', {value: '', ...PROP_STRING}],\n ['itemsperrow', {value: 'xs-1 sm-1 md-1 lg-1', ...PROP_STRING}],\n ['listclass', {value: '', ...PROP_STRING}],\n ['match', PROP_STRING],\n ['name', PROP_STRING],\n ['orderby', PROP_STRING],\n ['readonly', PROP_BOOLEAN],\n ['required', PROP_BOOLEAN],\n ['show', {value: true, ...PROP_BOOLEAN}],\n ['showcount', PROP_BOOLEAN],\n ['showindevice', {displayType: 'inline-block', value: 'all', ...PROP_STRING}],\n ['tabindex', {value: 0, ...PROP_NUMBER}],\n ['usekeys', PROP_BOOLEAN],\n ['layout', PROP_STRING]\n ]\n);\n\nexport const registerProps = () => {\n register(\n 'wm-checkboxset',\n checkboxsetProps\n );\n registerFormWidget(\n FormWidgetType.CHECKBOXSET,\n new Map(checkboxsetProps)\n );\n};\n","import { CommonModule } from '@angular/common';\nimport {Component, HostListener, Inject, Injector, OnDestroy, Optional} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';\n\nimport {setListClass} from '@wm/core';\nimport { ItemTemplateDirective, IWidgetConfig, PartialContainerDirective, PartialParamHandlerDirective, provideAs, provideAsWidgetRef, styler, TextContentDirective } from '@wm/components/base';\nimport { DatasetAwareFormComponent } from '@wm/components/input/dataset-aware-form';\n\nimport { registerProps } from './checkboxset.props';\nimport {forEach, includes} from \"lodash-es\";\n\ndeclare const $;\n\nconst DEFAULT_CLS = 'app-checkboxset list-group inline';\nconst WIDGET_CONFIG: IWidgetConfig = {widgetType: 'wm-checkboxset', hostClass: DEFAULT_CLS};\n\n@Component({\n standalone: true,\n imports: [CommonModule, TextContentDirective, ItemTemplateDirective, PartialParamHandlerDirective, PartialContainerDirective],\n selector: '[wmCheckboxset]',\n exportAs: 'wmCheckboxset',\n templateUrl: 'checkboxset.component.html',\n providers: [\n provideAs(CheckboxsetComponent, NG_VALUE_ACCESSOR, true),\n provideAs(CheckboxsetComponent, NG_VALIDATORS, true),\n provideAsWidgetRef(CheckboxsetComponent)\n ]\n})\n\nexport class CheckboxsetComponent extends DatasetAwareFormComponent implements OnDestroy {\n static initializeProps = registerProps();\n\n public layout = '';\n public collapsible: boolean;\n\n protected match: string;\n protected dateformat: string;\n\n public disabled: boolean;\n public itemsperrow: string;\n private itemsPerRowClass: string;\n\n constructor(inj: Injector, @Inject('EXPLICIT_CONTEXT') @Optional() explicitContext: any) {\n super(inj, WIDGET_CONFIG, explicitContext);\n styler(this.nativeElement, this);\n this.multiple = true;\n }\n\n triggerInvokeOnChange(keys, $event) {\n this.modelByKey = keys;\n\n if(this.viewParent.containerWidget && this.viewParent.containerWidget.updateDataValue)\n this.viewParent.containerWidget.updateDataValue(this.datavalue);\n\n this.invokeOnTouched();\n // invoke on datavalue change.\n this.invokeOnChange(this.datavalue, $event || {}, true);\n }\n\n onCheckboxLabelClick($event, key) {\n if (!$($event.target).is('input')) {\n return;\n }\n\n // construct the _model from the checked elements.\n const inputElements = this.nativeElement.querySelectorAll('input:checked');\n const keys = [];\n forEach(inputElements, ($el) => {\n // @ts-ignore\n keys.push($el.value);\n });\n\n this.triggerInvokeOnChange(keys, $event);\n }\n\n private eventListeners: Map<HTMLElement, Function> = new Map();\n\n // change and blur events are added from the template\n protected handleEvent(node: HTMLElement, eventName: string, callback: Function, locals: any) {\n if (eventName === 'click') {\n const handler = (e) => {\n if (!$(e.target).is('input')) {\n return;\n }\n locals.$event = e;\n return callback();\n };\n \n const deregister = this.eventManager.addEventListener(node, eventName, handler);\n this.eventListeners.set(node, deregister);\n } else if (!includes(['change'], eventName)) {\n super.handleEvent(node, eventName, callback, locals);\n }\n }\n\n @HostListener('keydown.enter', ['$event', '\"ENTER\"'])\n onKeyDown($event) {\n $event.preventDefault();\n $event.target.click();\n }\n\n onPropertyChange(key, nv, ov?) {\n\n if (key === 'tabindex') {\n return;\n }\n if (key === 'required') {\n this._onChange(this.datavalue);\n return;\n }else if(key === 'layout'){\n this.handleLayout(nv)\n }\n if (key === 'itemsperrow') {\n setListClass(this);\n } else {\n super.onPropertyChange(key, nv, ov);\n }\n }\n handleLayout(layout: string) {\n const direction = layout === 'vertical' ? 'column' : 'row';\n this.$element.css({\n display: 'flex',\n flexDirection: direction\n });\n }\n\n\n ngOnDestroy() {\n // MEMORY LEAK FIX: Remove all event listeners\n if (this.eventListeners && this.eventListeners.size > 0) {\n this.eventListeners.forEach((deregister) => {\n if (deregister && typeof deregister === 'function') {\n deregister();\n }\n });\n this.eventListeners.clear();\n this.eventListeners = null;\n }\n\n super.ngOnDestroy();\n }\n}\n","@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n@if (readonly || disabled) {\n <div class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -127,7 +127,6 @@ export declare abstract class BaseDateTimeComponent extends BaseFormCustomCompon
|
|
|
127
127
|
/**
|
|
128
128
|
* This method is used to highlight the current date
|
|
129
129
|
*/
|
|
130
|
-
protected hightlightToday(newDate: any): void;
|
|
131
130
|
/**
|
|
132
131
|
* This method is used to find the new date is from another year or not
|
|
133
132
|
* @param newDate - newly selected date value
|
|
@@ -230,22 +230,24 @@
|
|
|
230
230
|
/**
|
|
231
231
|
* This method is used to highlight the current date
|
|
232
232
|
*/
|
|
233
|
-
hightlightToday(newDate) {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
}
|
|
233
|
+
// protected hightlightToday(newDate) {
|
|
234
|
+
// if(this.datavalue) return;
|
|
235
|
+
// const activeMonth = $(`.bs-datepicker-head .current span`).first().text().trim();
|
|
236
|
+
// const activeYear = $(".bs-datepicker-head .current").eq(1).text();
|
|
237
|
+
// const month = new Date(newDate).toLocaleString('default', { month: 'long' });
|
|
238
|
+
// const year = newDate.getFullYear().toString();
|
|
239
|
+
// if(activeMonth == month && activeYear == new Date().getFullYear() && newDate.getDate() === new Date().getDate() && newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {
|
|
240
|
+
// const toDay = new Date().getDate().toString();
|
|
241
|
+
// filter($(`span:contains(${toDay})`).not('.is-other-month'), (obj) => {
|
|
242
|
+
// if ($(obj).text() === toDay) {
|
|
243
|
+
// $(obj).addClass('current-date text-info');
|
|
244
|
+
// $(obj).off('mouseenter.dateHover').on('mouseenter.dateHover', () => {
|
|
245
|
+
// setTimeout(()=>{ this.hightlightToday(new Date())})
|
|
246
|
+
// });
|
|
247
|
+
// }
|
|
248
|
+
// });
|
|
249
|
+
// }
|
|
250
|
+
// }
|
|
249
251
|
/**
|
|
250
252
|
* This method is used to find the new date is from another year or not
|
|
251
253
|
* @param newDate - newly selected date value
|
|
@@ -320,9 +322,9 @@
|
|
|
320
322
|
this.activeDate = newDate;
|
|
321
323
|
}
|
|
322
324
|
});
|
|
323
|
-
if (newDate.
|
|
324
|
-
|
|
325
|
-
}
|
|
325
|
+
// if (newDate.getMonth() === new Date().getMonth() && newDate.getFullYear() === new Date().getFullYear()) {
|
|
326
|
+
// this.hightlightToday(new Date());
|
|
327
|
+
// }
|
|
326
328
|
});
|
|
327
329
|
}
|
|
328
330
|
getMonth(date, inc) {
|
|
@@ -857,10 +859,10 @@
|
|
|
857
859
|
this.setFocusForDate(-1);
|
|
858
860
|
}
|
|
859
861
|
var prevMon = this.getMonth(this.activeDate, -1);
|
|
860
|
-
const current = new Date();
|
|
861
|
-
if
|
|
862
|
-
|
|
863
|
-
}
|
|
862
|
+
// const current = new Date();
|
|
863
|
+
// if(prevMon.date.getMonth()===current.getMonth() && prevMon.date.getFullYear()===current.getFullYear()) {
|
|
864
|
+
// this.hightlightToday(new Date());
|
|
865
|
+
// }
|
|
864
866
|
setTimeout(() => {
|
|
865
867
|
$(".bs-datepicker-head .previous span").attr("aria-hidden", 'true');
|
|
866
868
|
$(".bs-datepicker-head .next span").attr("aria-hidden", 'true');
|
|
@@ -882,10 +884,10 @@
|
|
|
882
884
|
this.setFocusForDate(1);
|
|
883
885
|
}
|
|
884
886
|
var nextMon = this.getMonth(this.activeDate, 1);
|
|
885
|
-
const current = new Date();
|
|
886
|
-
if (nextMon.date.getMonth() === current.getMonth() && nextMon.date.getFullYear() === current.getFullYear()) {
|
|
887
|
-
|
|
888
|
-
}
|
|
887
|
+
// const current = new Date();
|
|
888
|
+
// if (nextMon.date.getMonth() === current.getMonth() && nextMon.date.getFullYear() === current.getFullYear()) {
|
|
889
|
+
// this.hightlightToday(current);
|
|
890
|
+
// }
|
|
889
891
|
setTimeout(() => {
|
|
890
892
|
$(".bs-datepicker-head .previous span").attr("aria-hidden", 'true');
|
|
891
893
|
$(".bs-datepicker-head .next span").attr("aria-hidden", 'true');
|