@colijnit/sharedcomponents 1.0.56 → 1.0.58
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/README.md +8 -11
- package/bundles/colijnit-sharedcomponents.umd.js +10297 -0
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -0
- package/colijnit-sharedcomponents.d.ts +91 -0
- package/colijnit-sharedcomponents.metadata.json +1 -0
- package/esm2015/colijnit-sharedcomponents.js +92 -0
- package/esm2015/lib/assets/dictionary/text.properties.js +11 -0
- package/esm2015/lib/businessobject/build-images-and-documentation-result.js +2 -0
- package/esm2015/lib/businessobject/co-document-right.bo.js +3 -0
- package/esm2015/lib/businessobject/drag-drop-container-element.js +2 -0
- package/esm2015/lib/businessobject/drag-drop-container.js +7 -0
- package/esm2015/lib/components/activity-list/activity-list.component.js +130 -0
- package/esm2015/lib/components/activity-list/activity-list.module.js +24 -0
- package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.component.js +47 -0
- package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.module.js +20 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-base-view.component.js +61 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-day-view.component.js +36 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-event.component.js +56 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-events.component.js +47 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.js +68 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-header.component.js +243 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-cell.component.js +36 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.js +50 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view.component.js +46 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-month-view.component.js +61 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-select-event.component.js +39 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-view.component.js +35 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-week-select-view.component.js +64 -0
- package/esm2015/lib/components/date-planning/component/agenda/agenda-week-view.component.js +48 -0
- package/esm2015/lib/components/date-planning/component/agenda/view-select.component.js +42 -0
- package/esm2015/lib/components/date-planning/component/calendar/calendar-all-months.component.js +34 -0
- package/esm2015/lib/components/date-planning/component/calendar/calendar-all-years.component.js +48 -0
- package/esm2015/lib/components/date-planning/component/calendar/calendar-header.component.js +107 -0
- package/esm2015/lib/components/date-planning/component/calendar/calendar-view.component.js +178 -0
- package/esm2015/lib/components/date-planning/component/calendar/calendar.component.js +34 -0
- package/esm2015/lib/components/date-planning/date-planning.component.js +113 -0
- package/esm2015/lib/components/date-planning/date-planning.module.js +63 -0
- package/esm2015/lib/components/docsign/component/signature/signature.component.js +75 -0
- package/esm2015/lib/components/docsign/component/signatures/signatures.component.js +44 -0
- package/esm2015/lib/components/docsign/docsign.component.js +242 -0
- package/esm2015/lib/components/docsign/docsign.module.js +23 -0
- package/esm2015/lib/components/file-upload/file-upload.component.js +189 -0
- package/esm2015/lib/components/file-upload/file-upload.module.js +25 -0
- package/esm2015/lib/components/file-upload-popup/file-upload-popup.component.js +397 -0
- package/esm2015/lib/components/file-upload-popup/file-upload-popup.module.js +30 -0
- package/esm2015/lib/components/files-upload/components/base-file-upload.component.js +469 -0
- package/esm2015/lib/components/files-upload/components/drag-drop-container.component.js +115 -0
- package/esm2015/lib/components/files-upload/files-upload.component.js +131 -0
- package/esm2015/lib/components/files-upload/files-upload.module.js +47 -0
- package/esm2015/lib/components/image-display/image-display.component.js +36 -0
- package/esm2015/lib/components/image-display/image-display.module.js +23 -0
- package/esm2015/lib/components/key-pad/key-pad.component.js +200 -0
- package/esm2015/lib/components/key-pad/key-pad.module.js +22 -0
- package/esm2015/lib/components/layout-switcher/layout-switcher.component.js +74 -0
- package/esm2015/lib/components/layout-switcher/layout-switcher.module.js +21 -0
- package/esm2015/lib/components/linear-gauge/co-linear-gauge.component.js +59 -0
- package/esm2015/lib/components/linear-gauge/co-linear-gauge.module.js +19 -0
- package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.component.js +89 -0
- package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.module.js +21 -0
- package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.js +79 -0
- package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.js +21 -0
- package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.js +85 -0
- package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.js +21 -0
- package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.js +64 -0
- package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.js +26 -0
- package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.js +40 -0
- package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.js +23 -0
- package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +61 -0
- package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.js +28 -0
- package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.component.js +38 -0
- package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.module.js +21 -0
- package/esm2015/lib/components/send-method-dialog/model/email-address-viewmodel.js +7 -0
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +258 -0
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +35 -0
- package/esm2015/lib/components/send-method-dialog/send-method-params.interface.js +2 -0
- package/esm2015/lib/components/send-method-dialog/service/send-method.service.js +59 -0
- package/esm2015/lib/components/simple-tags/simple-tags.component.js +229 -0
- package/esm2015/lib/components/simple-tags/simple-tags.module.js +26 -0
- package/esm2015/lib/components/statusbar/statusbar-popup.component.js +97 -0
- package/esm2015/lib/components/statusbar/statusbar.component.js +81 -0
- package/esm2015/lib/components/statusbar/statusbar.module.js +27 -0
- package/esm2015/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.js +47 -0
- package/esm2015/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.js +47 -0
- package/esm2015/lib/components/stock/components/order-stock-history/order-stock-history.component.js +47 -0
- package/esm2015/lib/components/stock/components/order-stock-tab/order-stock-tab.component.js +47 -0
- package/esm2015/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.js +47 -0
- package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +67 -0
- package/esm2015/lib/components/stock/components/stock-history/stock-history.component.js +53 -0
- package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +240 -0
- package/esm2015/lib/components/stock/components/stock-prognose/stock-prognose.component.js +52 -0
- package/esm2015/lib/components/stock/components/stock-tab/stock-tab.component.js +41 -0
- package/esm2015/lib/components/stock/localization/translation.js +63 -0
- package/esm2015/lib/components/stock/stock-history-tabs/stock-history-tabs.component.js +33 -0
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +48 -0
- package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +457 -0
- package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +241 -0
- package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +2 -0
- package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +72 -0
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +149 -0
- package/esm2015/lib/components/stock/stock.component.js +193 -0
- package/esm2015/lib/components/stock/stock.module.js +80 -0
- package/esm2015/lib/components/stock-statusbar/stock-statusbar.component.js +23 -0
- package/esm2015/lib/components/stock-statusbar/stock-statusbar.module.js +19 -0
- package/esm2015/lib/components/tab-bar/tab-bar.component.js +88 -0
- package/esm2015/lib/components/tab-bar/tab-bar.module.js +21 -0
- package/esm2015/lib/components/tab-bar/tab.interface.js +2 -0
- package/esm2015/lib/components/tile-renderer/tile-render.component.js +80 -0
- package/esm2015/lib/components/tile-renderer/tile-render.module.js +26 -0
- package/esm2015/lib/decorator/input-boolean.decorator.js +34 -0
- package/esm2015/lib/enum/calendar-view.enum.js +9 -0
- package/esm2015/lib/enum/document-email-report.enum.js +18 -0
- package/esm2015/lib/enum/domain-multiple-name.enum.js +13 -0
- package/esm2015/lib/enum/file-type.js +14 -0
- package/esm2015/lib/enum/files-upload-config-objects.js +3 -0
- package/esm2015/lib/enum/gauge-color.enum.js +10 -0
- package/esm2015/lib/enum/icon.enum.js +44 -0
- package/esm2015/lib/enum/internal-param.enum.js +38 -0
- package/esm2015/lib/enum/keyboard-code.enum.js +32 -0
- package/esm2015/lib/enum/language-code.enum.js +8 -0
- package/esm2015/lib/enum/month.enum.js +17 -0
- package/esm2015/lib/enum/read-write-access-config-names.enum.js +2 -0
- package/esm2015/lib/enum/table-name.enum.js +86 -0
- package/esm2015/lib/enum/tag-category.enum.js +22 -0
- package/esm2015/lib/enum/tags-component-config-names.js +2 -0
- package/esm2015/lib/enum/thumb-three-way-state.js +19 -0
- package/esm2015/lib/enum/tile-size-type.js +7 -0
- package/esm2015/lib/enum/time-period.enum.js +11 -0
- package/esm2015/lib/event/co-drag-event.js +2 -0
- package/esm2015/lib/event/co-drop-event.js +2 -0
- package/esm2015/lib/interface/key-value-pair.js +2 -0
- package/esm2015/lib/interface/operation-callback-simple-function.js +4 -0
- package/esm2015/lib/localization/localization.module.js +19 -0
- package/esm2015/lib/localization/localize.pipe.js +26 -0
- package/esm2015/lib/localization/localize.service.js +30 -0
- package/esm2015/lib/localization/translation.js +3 -0
- package/esm2015/lib/model/agenda-event-per-day.model.js +6 -0
- package/esm2015/lib/model/agenda-event.model.js +8 -0
- package/esm2015/lib/model/agenda-null-objects.js +11 -0
- package/esm2015/lib/model/constant/all-months.js +17 -0
- package/esm2015/lib/model/date-range.js +5 -0
- package/esm2015/lib/model/day.model.js +7 -0
- package/esm2015/lib/model/icon-svg.js +43 -0
- package/esm2015/lib/model/month.model.js +11 -0
- package/esm2015/lib/model/send-method.js +8 -0
- package/esm2015/lib/model/settings.js +4 -0
- package/esm2015/lib/model/tag-tree-item.bo.js +16 -0
- package/esm2015/lib/model/time-window.bo.js +26 -0
- package/esm2015/lib/model/tree-object.js +15 -0
- package/esm2015/lib/model/week.model.js +6 -0
- package/esm2015/lib/model/weekday.model.js +10 -0
- package/esm2015/lib/pipe/array-number.pipe.js +15 -0
- package/esm2015/lib/pipe/file-type-image.pipe.js +51 -0
- package/esm2015/lib/pipe/master-pipes.js +9 -0
- package/esm2015/lib/pipe/ucfirst.pipe.js +16 -0
- package/esm2015/lib/service/dictionary.service.js +76 -0
- package/esm2015/lib/service/drag-drop.service.js +365 -0
- package/esm2015/lib/service/icon-cache.service.js +51 -0
- package/esm2015/lib/service/options.service.js +48 -0
- package/esm2015/lib/service/shared-connector.service.js +433 -0
- package/esm2015/lib/service/shared.service.js +60 -0
- package/esm2015/lib/service/stock.service.js +110 -0
- package/esm2015/lib/utils/array-utils.js +202 -0
- package/esm2015/lib/utils/calendar.utils.js +68 -0
- package/esm2015/lib/utils/check-precision-and-scale-result.js +2 -0
- package/esm2015/lib/utils/check-within-stepped-bounds-result.js +2 -0
- package/esm2015/lib/utils/co-document-shared-field-logic.js +50 -0
- package/esm2015/lib/utils/date-utils.js +264 -0
- package/esm2015/lib/utils/enum-utils.js +128 -0
- package/esm2015/lib/utils/function/not-nill.function.js +5 -0
- package/esm2015/lib/utils/is-nill.function.js +5 -0
- package/esm2015/lib/utils/map-utils.js +41 -0
- package/esm2015/lib/utils/number-utils.js +390 -0
- package/esm2015/lib/utils/object-utils.js +278 -0
- package/esm2015/lib/utils/ref-code-utils.js +49 -0
- package/esm2015/lib/utils/string-utils.js +93 -0
- package/esm2015/public-api.js +31 -0
- package/fesm2015/colijnit-sharedcomponents.js +10555 -0
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -0
- package/lib/assets/dictionary/text.properties.d.ts +3 -0
- package/lib/businessobject/build-images-and-documentation-result.d.ts +5 -0
- package/lib/businessobject/co-document-right.bo.d.ts +6 -0
- package/lib/businessobject/drag-drop-container-element.d.ts +6 -0
- package/lib/businessobject/drag-drop-container.d.ts +6 -0
- package/lib/components/access/read-write-access.scss +25 -0
- package/lib/components/access/style/_layout.scss +23 -0
- package/lib/components/access/style/_theme.scss +4 -0
- package/lib/components/activity-list/activity-list.component.d.ts +33 -0
- package/lib/components/activity-list/activity-list.module.d.ts +2 -0
- package/lib/components/activity-list/style/_layout.scss +68 -0
- package/lib/components/activity-list/style/_theme.scss +4 -0
- package/lib/components/app-file-dropzone/app-file-dropzone.component.d.ts +14 -0
- package/lib/components/app-file-dropzone/app-file-dropzone.module.d.ts +2 -0
- package/lib/components/app-file-dropzone/style/_layout.scss +61 -0
- package/lib/components/app-file-dropzone/style/_theme.scss +4 -0
- package/lib/components/date-planning/component/agenda/agenda-base-view.component.d.ts +21 -0
- package/lib/components/date-planning/component/agenda/agenda-day-view.component.d.ts +7 -0
- package/lib/components/date-planning/component/agenda/agenda-event.component.d.ts +18 -0
- package/lib/components/date-planning/component/agenda/agenda-events.component.d.ts +13 -0
- package/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.d.ts +18 -0
- package/lib/components/date-planning/component/agenda/agenda-header.component.d.ts +48 -0
- package/lib/components/date-planning/component/agenda/agenda-hour-cell.component.d.ts +9 -0
- package/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.d.ts +8 -0
- package/lib/components/date-planning/component/agenda/agenda-hour-view.component.d.ts +7 -0
- package/lib/components/date-planning/component/agenda/agenda-month-view.component.d.ts +10 -0
- package/lib/components/date-planning/component/agenda/agenda-select-event.component.d.ts +12 -0
- package/lib/components/date-planning/component/agenda/agenda-view.component.d.ts +12 -0
- package/lib/components/date-planning/component/agenda/agenda-week-select-view.component.d.ts +10 -0
- package/lib/components/date-planning/component/agenda/agenda-week-view.component.d.ts +9 -0
- package/lib/components/date-planning/component/agenda/view-select.component.d.ts +11 -0
- package/lib/components/date-planning/component/calendar/calendar-all-months.component.d.ts +9 -0
- package/lib/components/date-planning/component/calendar/calendar-all-years.component.d.ts +9 -0
- package/lib/components/date-planning/component/calendar/calendar-header.component.d.ts +23 -0
- package/lib/components/date-planning/component/calendar/calendar-view.component.d.ts +31 -0
- package/lib/components/date-planning/component/calendar/calendar.component.d.ts +10 -0
- package/lib/components/date-planning/date-planning.component.d.ts +28 -0
- package/lib/components/date-planning/date-planning.module.d.ts +2 -0
- package/lib/components/docsign/component/signature/signature.component.d.ts +16 -0
- package/lib/components/docsign/component/signatures/signatures.component.d.ts +12 -0
- package/lib/components/docsign/docsign.component.d.ts +94 -0
- package/lib/components/docsign/docsign.module.d.ts +2 -0
- package/lib/components/docsign/style/_material-definition.scss +12 -0
- package/lib/components/file-upload/file-upload.component.d.ts +42 -0
- package/lib/components/file-upload/file-upload.module.d.ts +2 -0
- package/lib/components/file-upload/style/_layout.scss +59 -0
- package/lib/components/file-upload/style/_material-definition.scss +2 -0
- package/lib/components/file-upload/style/_theme.scss +4 -0
- package/lib/components/file-upload/style/material.scss +4 -0
- package/lib/components/file-upload-popup/file-upload-popup.component.d.ts +75 -0
- package/lib/components/file-upload-popup/file-upload-popup.module.d.ts +2 -0
- package/lib/components/file-upload-popup/style/_layout.scss +48 -0
- package/lib/components/file-upload-popup/style/_material-definition.scss +2 -0
- package/lib/components/file-upload-popup/style/_theme.scss +5 -0
- package/lib/components/files-upload/components/base-file-upload.component.d.ts +98 -0
- package/lib/components/files-upload/components/drag-drop-container.component.d.ts +34 -0
- package/lib/components/files-upload/files-upload.component.d.ts +32 -0
- package/lib/components/files-upload/files-upload.module.d.ts +2 -0
- package/lib/components/files-upload/style/_layout.scss +49 -0
- package/lib/components/files-upload/style/_theme.scss +5 -0
- package/lib/components/files-upload/style/material.scss +4 -0
- package/lib/components/image-display/image-display.component.d.ts +14 -0
- package/lib/components/image-display/image-display.module.d.ts +2 -0
- package/lib/components/image-display/style/_layout.scss +56 -0
- package/lib/components/image-display/style/_material-definition.scss +4 -0
- package/lib/components/image-display/style/_theme.scss +6 -0
- package/lib/components/key-pad/key-pad.component.d.ts +38 -0
- package/lib/components/key-pad/key-pad.module.d.ts +2 -0
- package/lib/components/layout-switcher/layout-switcher.component.d.ts +16 -0
- package/lib/components/layout-switcher/layout-switcher.module.d.ts +2 -0
- package/lib/components/linear-gauge/co-linear-gauge.component.d.ts +11 -0
- package/lib/components/linear-gauge/co-linear-gauge.module.d.ts +2 -0
- package/lib/components/multi-property-toggler/multiple-property-toggler.component.d.ts +27 -0
- package/lib/components/multi-property-toggler/multiple-property-toggler.module.d.ts +2 -0
- package/lib/components/multi-property-toggler/style/_layout.scss +24 -0
- package/lib/components/multi-property-toggler/style/_theme.scss +4 -0
- package/lib/components/multi-property-toggler/style/material.scss +4 -0
- package/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.d.ts +19 -0
- package/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.d.ts +2 -0
- package/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.d.ts +19 -0
- package/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.d.ts +2 -0
- package/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.d.ts +14 -0
- package/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.d.ts +2 -0
- package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.d.ts +8 -0
- package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.d.ts +2 -0
- package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +13 -0
- package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.d.ts +2 -0
- package/lib/components/send-method-dialog/components/signature-button/signature-button.component.d.ts +12 -0
- package/lib/components/send-method-dialog/components/signature-button/signature-button.module.d.ts +2 -0
- package/lib/components/send-method-dialog/model/email-address-viewmodel.d.ts +5 -0
- package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +71 -0
- package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +2 -0
- package/lib/components/send-method-dialog/send-method-params.interface.d.ts +13 -0
- package/lib/components/send-method-dialog/service/send-method.service.d.ts +23 -0
- package/lib/components/simple-tags/simple-tags.component.d.ts +31 -0
- package/lib/components/simple-tags/simple-tags.module.d.ts +2 -0
- package/lib/components/simple-tags/style/material.scss +4 -0
- package/lib/components/statusbar/statusbar-popup.component.d.ts +21 -0
- package/lib/components/statusbar/statusbar.component.d.ts +26 -0
- package/lib/components/statusbar/statusbar.module.d.ts +2 -0
- package/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.d.ts +9 -0
- package/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.d.ts +9 -0
- package/lib/components/stock/components/order-stock-history/order-stock-history.component.d.ts +9 -0
- package/lib/components/stock/components/order-stock-tab/order-stock-tab.component.d.ts +11 -0
- package/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.d.ts +9 -0
- package/lib/components/stock/components/order-tab/order-tab.component.d.ts +20 -0
- package/lib/components/stock/components/stock-history/stock-history.component.d.ts +13 -0
- package/lib/components/stock/components/stock-location/stock-location.component.d.ts +50 -0
- package/lib/components/stock/components/stock-prognose/stock-prognose.component.d.ts +11 -0
- package/lib/components/stock/components/stock-tab/stock-tab.component.d.ts +9 -0
- package/lib/components/stock/localization/translation.d.ts +60 -0
- package/lib/components/stock/stock-history-tabs/stock-history-tabs.component.d.ts +7 -0
- package/lib/components/stock/stock-information/stock-information.component.d.ts +8 -0
- package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +75 -0
- package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +56 -0
- package/{projects/sharedcomponents/src/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.ts → lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts} +2 -2
- package/lib/components/stock/stock-transfer/stock-change-amount.component.d.ts +18 -0
- package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +42 -0
- package/lib/components/stock/stock.component.d.ts +57 -0
- package/lib/components/stock/stock.module.d.ts +2 -0
- package/lib/components/stock/style/material.scss +4 -0
- package/lib/components/stock-statusbar/stock-statusbar.component.d.ts +4 -0
- package/lib/components/stock-statusbar/stock-statusbar.module.d.ts +2 -0
- package/lib/components/stock-statusbar/style/_material-definition.scss +0 -0
- package/lib/components/stock-statusbar/style/_theme.scss +0 -0
- package/lib/components/stock-statusbar/style/material.scss +4 -0
- package/lib/components/tab-bar/style/_theme.scss +0 -0
- package/lib/components/tab-bar/style/material.scss +4 -0
- package/lib/components/tab-bar/tab-bar.component.d.ts +21 -0
- package/lib/components/tab-bar/tab-bar.module.d.ts +2 -0
- package/lib/components/tab-bar/tab.interface.d.ts +5 -0
- package/lib/components/tags/component/tag-join-label/style/material.scss +3 -0
- package/lib/components/tile-renderer/style/_layout.scss +90 -0
- package/lib/components/tile-renderer/style/_material-definition.scss +0 -0
- package/lib/components/tile-renderer/style/_theme.scss +4 -0
- package/lib/components/tile-renderer/style/material.scss +4 -0
- package/lib/components/tile-renderer/tile-render.component.d.ts +31 -0
- package/lib/components/tile-renderer/tile-render.module.d.ts +2 -0
- package/lib/decorator/input-boolean.decorator.d.ts +8 -0
- package/{projects/sharedcomponents/src/lib/enum/calendar-view.enum.ts → lib/enum/calendar-view.enum.d.ts} +2 -3
- package/lib/enum/document-email-report.enum.d.ts +15 -0
- package/lib/enum/domain-multiple-name.enum.d.ts +10 -0
- package/lib/enum/file-type.d.ts +7 -0
- package/lib/enum/files-upload-config-objects.d.ts +22 -0
- package/lib/enum/gauge-color.enum.d.ts +8 -0
- package/{projects/sharedcomponents/src/lib/enum/icon.enum.ts → lib/enum/icon.enum.d.ts} +8 -3
- package/lib/enum/internal-param.enum.d.ts +34 -0
- package/lib/enum/keyboard-code.enum.d.ts +30 -0
- package/lib/enum/language-code.enum.d.ts +6 -0
- package/{projects/sharedcomponents/src/lib/enum/month.enum.ts → lib/enum/month.enum.d.ts} +1 -2
- package/lib/enum/read-write-access-config-names.enum.d.ts +4 -0
- package/lib/enum/table-name.enum.d.ts +84 -0
- package/{projects/sharedcomponents/src/lib/enum/tag-category.enum.ts → lib/enum/tag-category.enum.d.ts} +1 -2
- package/lib/enum/tags-component-config-names.d.ts +4 -0
- package/lib/enum/thumb-three-way-state.d.ts +6 -0
- package/lib/enum/tile-size-type.d.ts +4 -0
- package/{projects/sharedcomponents/src/lib/enum/time-period.enum.ts → lib/enum/time-period.enum.d.ts} +1 -2
- package/lib/event/co-drag-event.d.ts +5 -0
- package/lib/event/co-drop-event.d.ts +8 -0
- package/lib/interface/key-value-pair.d.ts +4 -0
- package/lib/interface/operation-callback-simple-function.d.ts +4 -0
- package/lib/localization/localization.module.d.ts +2 -0
- package/lib/localization/localize.pipe.d.ts +7 -0
- package/lib/localization/localize.service.d.ts +7 -0
- package/lib/localization/translation.d.ts +2 -0
- package/lib/model/agenda-event-per-day.model.d.ts +5 -0
- package/lib/model/agenda-event.model.d.ts +17 -0
- package/lib/model/agenda-null-objects.d.ts +10 -0
- package/lib/model/constant/all-months.d.ts +2 -0
- package/lib/model/date-range.d.ts +7 -0
- package/lib/model/day.model.d.ts +8 -0
- package/lib/model/icon-svg.d.ts +4 -0
- package/lib/model/month.model.d.ts +5 -0
- package/lib/model/send-method.d.ts +7 -0
- package/lib/model/settings.d.ts +3 -0
- package/lib/model/tag-tree-item.bo.d.ts +18 -0
- package/lib/model/time-window.bo.d.ts +13 -0
- package/lib/model/tree-object.d.ts +8 -0
- package/lib/model/week.model.d.ts +4 -0
- package/lib/model/weekday.model.d.ts +16 -0
- package/lib/pipe/array-number.pipe.d.ts +4 -0
- package/lib/pipe/file-type-image.pipe.d.ts +12 -0
- package/lib/pipe/master-pipes.d.ts +1 -0
- package/lib/pipe/ucfirst.pipe.d.ts +4 -0
- package/lib/service/dictionary.service.d.ts +21 -0
- package/lib/service/drag-drop.service.d.ts +86 -0
- package/lib/service/icon-cache.service.d.ts +18 -0
- package/lib/service/options.service.d.ts +13 -0
- package/lib/service/shared-connector.service.d.ts +55 -0
- package/lib/service/shared.service.d.ts +18 -0
- package/lib/service/stock.service.d.ts +41 -0
- package/{projects/sharedcomponents/src/lib → lib}/style/_variables.scss +1 -1
- package/lib/utils/array-utils.d.ts +63 -0
- package/lib/utils/calendar.utils.d.ts +10 -0
- package/{projects/sharedcomponents/src/lib/utils/check-precision-and-scale-result.ts → lib/utils/check-precision-and-scale-result.d.ts} +0 -1
- package/lib/utils/co-document-shared-field-logic.d.ts +7 -0
- package/lib/utils/date-utils.d.ts +44 -0
- package/lib/utils/enum-utils.d.ts +31 -0
- package/lib/utils/function/not-nill.function.d.ts +1 -0
- package/lib/utils/is-nill.function.d.ts +1 -0
- package/lib/utils/map-utils.d.ts +16 -0
- package/lib/utils/number-utils.d.ts +125 -0
- package/lib/utils/object-utils.d.ts +40 -0
- package/lib/utils/ref-code-utils.d.ts +10 -0
- package/lib/utils/string-utils.d.ts +38 -0
- package/package.json +31 -68
- package/{projects/sharedcomponents/src/public-api.ts → public-api.d.ts} +4 -4
- package/.browserslistrc +0 -16
- package/.editorconfig +0 -16
- package/.vscode/extensions.json +0 -4
- package/.vscode/launch.json +0 -20
- package/.vscode/tasks.json +0 -42
- package/Sharedcomponents.iml +0 -11
- package/angular.json +0 -177
- package/custom-login-bundle.webpack.config.js +0 -3
- package/karma.conf.js +0 -44
- package/move-assets.js +0 -14
- package/projects/sharedcomponents/.browserslistrc +0 -16
- package/projects/sharedcomponents/README.md +0 -24
- package/projects/sharedcomponents/karma.conf.js +0 -44
- package/projects/sharedcomponents/ng-package.json +0 -17
- package/projects/sharedcomponents/package.json +0 -23
- package/projects/sharedcomponents/src/lib/assets/dictionary/text.properties.ts +0 -8
- package/projects/sharedcomponents/src/lib/assets/icons/account.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/angle_left_solid.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/angle_right_solid.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/arrow_fat_right.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_left.svg +0 -8
- package/projects/sharedcomponents/src/lib/assets/icons/arrow_point_right.svg +0 -4
- package/projects/sharedcomponents/src/lib/assets/icons/at_solid.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/bring_forward_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/check_duotone.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/check_round.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/cross_skinny.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/delete_left_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/delivery_truck.svg +0 -12
- package/projects/sharedcomponents/src/lib/assets/icons/email.svg +0 -5
- package/projects/sharedcomponents/src/lib/assets/icons/envelope_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/eye_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/file_export_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/file_export_solid.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/file_pdf_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/file_pdf_solid.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/file_signature_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/house_blank_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/lock.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/message_sms_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/message_sms_solid.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/pdf.svg +0 -15
- package/projects/sharedcomponents/src/lib/assets/icons/print.svg +0 -10
- package/projects/sharedcomponents/src/lib/assets/icons/print_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/print_solid.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/signature_field.svg +0 -9
- package/projects/sharedcomponents/src/lib/assets/icons/tag_regular.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/x_solid.svg +0 -1
- package/projects/sharedcomponents/src/lib/assets/icons/xml.svg +0 -1
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-base-view.component.ts +0 -68
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-day-view.component.ts +0 -35
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-event.component.ts +0 -73
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-events.component.ts +0 -53
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.ts +0 -81
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-header.component.ts +0 -275
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-cell.component.ts +0 -38
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.ts +0 -50
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view.component.ts +0 -46
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-month-view.component.ts +0 -65
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-select-event.component.ts +0 -39
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-view.component.ts +0 -41
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-select-view.component.ts +0 -63
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-view.component.ts +0 -50
- package/projects/sharedcomponents/src/lib/components/date-planning/component/agenda/view-select.component.ts +0 -43
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-months.component.ts +0 -37
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-years.component.ts +0 -52
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-header.component.ts +0 -123
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-view.component.ts +0 -200
- package/projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar.component.ts +0 -35
- package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.component.ts +0 -141
- package/projects/sharedcomponents/src/lib/components/date-planning/date-planning.module.ts +0 -61
- package/projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts +0 -82
- package/projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts +0 -50
- package/projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts +0 -270
- package/projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts +0 -22
- package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.component.ts +0 -216
- package/projects/sharedcomponents/src/lib/components/key-pad/key-pad.module.ts +0 -20
- package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.component.ts +0 -98
- package/projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.module.ts +0 -21
- package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.component.ts +0 -57
- package/projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.module.ts +0 -17
- package/projects/sharedcomponents/src/lib/components/login/components/login-base.component.ts +0 -98
- package/projects/sharedcomponents/src/lib/components/login/components/login-change-password.component.ts +0 -194
- package/projects/sharedcomponents/src/lib/components/login/components/login-mfa-code-entry.component.ts +0 -41
- package/projects/sharedcomponents/src/lib/components/login/components/login-mfa-code-setup.component.ts +0 -44
- package/projects/sharedcomponents/src/lib/components/login/components/login-username-password.component.ts +0 -167
- package/projects/sharedcomponents/src/lib/components/login/localization/login-translation.ts +0 -15
- package/projects/sharedcomponents/src/lib/components/login/login.component.ts +0 -137
- package/projects/sharedcomponents/src/lib/components/login/login.module.ts +0 -53
- package/projects/sharedcomponents/src/lib/components/login/service/login-adapter.service.ts +0 -58
- package/projects/sharedcomponents/src/lib/components/login/service/login.service.ts +0 -50
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/enums/field-type.enum.ts +0 -9
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Config.ts +0 -6
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Field.ts +0 -8
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Header.ts +0 -8
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Module.ts +0 -6
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/Rubric.ts +0 -10
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/ScreenConfig.ts +0 -9
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/SubCat.ts +0 -9
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/models/SubRubric.ts +0 -8
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/screen-config-generator.component.ts +0 -539
- package/projects/sharedcomponents/src/lib/components/screen-config-generator/screen-config-generator.module.ts +0 -21
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.ts +0 -91
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.ts +0 -19
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.ts +0 -84
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.ts +0 -19
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.ts +0 -63
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.ts +0 -24
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.ts +0 -38
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.ts +0 -21
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.ts +0 -60
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.ts +0 -26
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.component.ts +0 -42
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.module.ts +0 -19
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/model/email-address-viewmodel.ts +0 -9
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.component.ts +0 -325
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.module.ts +0 -32
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-params.interface.ts +0 -13
- package/projects/sharedcomponents/src/lib/components/send-method-dialog/service/send-method.service.ts +0 -63
- package/projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.component.ts +0 -243
- package/projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.module.ts +0 -24
- package/projects/sharedcomponents/src/lib/components/statusbar/statusbar-popup.component.ts +0 -100
- package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.component.ts +0 -107
- package/projects/sharedcomponents/src/lib/components/statusbar/statusbar.module.ts +0 -25
- package/projects/sharedcomponents/src/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.ts +0 -45
- package/projects/sharedcomponents/src/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.ts +0 -45
- package/projects/sharedcomponents/src/lib/components/stock/components/order-stock-history/order-stock-history.component.ts +0 -45
- package/projects/sharedcomponents/src/lib/components/stock/components/order-stock-tab/order-stock-tab.component.ts +0 -43
- package/projects/sharedcomponents/src/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.ts +0 -45
- package/projects/sharedcomponents/src/lib/components/stock/components/order-tab/order-tab.component.ts +0 -71
- package/projects/sharedcomponents/src/lib/components/stock/components/stock-history/stock-history.component.ts +0 -52
- package/projects/sharedcomponents/src/lib/components/stock/components/stock-location/stock-location.component.ts +0 -276
- package/projects/sharedcomponents/src/lib/components/stock/components/stock-prognose/stock-prognose.component.ts +0 -49
- package/projects/sharedcomponents/src/lib/components/stock/components/stock-tab/stock-tab.component.ts +0 -40
- package/projects/sharedcomponents/src/lib/components/stock/localization/translation.ts +0 -60
- package/projects/sharedcomponents/src/lib/components/stock/stock-history-tabs/stock-history-tabs.component.ts +0 -32
- package/projects/sharedcomponents/src/lib/components/stock/stock-information/stock-information.component.ts +0 -56
- package/projects/sharedcomponents/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts +0 -500
- package/projects/sharedcomponents/src/lib/components/stock/stock-tabs/stock-tabs.component.ts +0 -276
- package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-change-amount.component.ts +0 -77
- package/projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-transfer.component.ts +0 -178
- package/projects/sharedcomponents/src/lib/components/stock/stock.component.ts +0 -228
- package/projects/sharedcomponents/src/lib/components/stock/stock.module.ts +0 -97
- package/projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.component.ts +0 -23
- package/projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.module.ts +0 -17
- package/projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.component.ts +0 -106
- package/projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.module.ts +0 -20
- package/projects/sharedcomponents/src/lib/components/tab-bar/tab.interface.ts +0 -5
- package/projects/sharedcomponents/src/lib/components/tags/component/tag-join-label/tag-join-label.component.ts +0 -61
- package/projects/sharedcomponents/src/lib/components/tags/component/tag-label/tag-label.component.ts +0 -47
- package/projects/sharedcomponents/src/lib/components/tags/component/treeview/model/tree-view-node-item.ts +0 -132
- package/projects/sharedcomponents/src/lib/components/tags/component/treeview/treeview.component.ts +0 -258
- package/projects/sharedcomponents/src/lib/components/tags/tags.component.ts +0 -192
- package/projects/sharedcomponents/src/lib/components/tags/tags.module.ts +0 -27
- package/projects/sharedcomponents/src/lib/directives/click-outside.directive.ts +0 -25
- package/projects/sharedcomponents/src/lib/enum/gauge-color.enum.ts +0 -8
- package/projects/sharedcomponents/src/lib/enum/keyboard-code.enum.ts +0 -30
- package/projects/sharedcomponents/src/lib/enum/language-code.enum.ts +0 -6
- package/projects/sharedcomponents/src/lib/enum/login-component-extra-action-type.enum.ts +0 -4
- package/projects/sharedcomponents/src/lib/enum/login-component-page.type.enum.ts +0 -6
- package/projects/sharedcomponents/src/lib/enum/login-component-query-variables-name.enum.ts +0 -5
- package/projects/sharedcomponents/src/lib/enum/thumb-three-way-state.ts +0 -18
- package/projects/sharedcomponents/src/lib/localization/localization.module.ts +0 -17
- package/projects/sharedcomponents/src/lib/localization/localize.pipe.ts +0 -21
- package/projects/sharedcomponents/src/lib/localization/localize.service.ts +0 -28
- package/projects/sharedcomponents/src/lib/localization/translation.ts +0 -2
- package/projects/sharedcomponents/src/lib/model/agenda-event-per-day.model.ts +0 -6
- package/projects/sharedcomponents/src/lib/model/agenda-event.model.ts +0 -19
- package/projects/sharedcomponents/src/lib/model/agenda-null-objects.ts +0 -11
- package/projects/sharedcomponents/src/lib/model/constant/all-months.ts +0 -17
- package/projects/sharedcomponents/src/lib/model/date-range.ts +0 -10
- package/projects/sharedcomponents/src/lib/model/day.model.ts +0 -9
- package/projects/sharedcomponents/src/lib/model/icon-svg.ts +0 -37
- package/projects/sharedcomponents/src/lib/model/month.model.ts +0 -11
- package/projects/sharedcomponents/src/lib/model/send-method.ts +0 -13
- package/projects/sharedcomponents/src/lib/model/settings.ts +0 -5
- package/projects/sharedcomponents/src/lib/model/tag-tree-item.bo.ts +0 -28
- package/projects/sharedcomponents/src/lib/model/time-window.bo.ts +0 -21
- package/projects/sharedcomponents/src/lib/model/tree-object.ts +0 -13
- package/projects/sharedcomponents/src/lib/model/tree-view-default.model.ts +0 -107
- package/projects/sharedcomponents/src/lib/model/tree-view-node-default.model.ts +0 -196
- package/projects/sharedcomponents/src/lib/model/tree-view-node-item-options.model.ts +0 -12
- package/projects/sharedcomponents/src/lib/model/tree-view-node.model.ts +0 -150
- package/projects/sharedcomponents/src/lib/model/tree-view.model.ts +0 -57
- package/projects/sharedcomponents/src/lib/model/week.model.ts +0 -5
- package/projects/sharedcomponents/src/lib/model/weekday.model.ts +0 -17
- package/projects/sharedcomponents/src/lib/pipe/array-number.pipe.ts +0 -14
- package/projects/sharedcomponents/src/lib/pipe/master-pipes.ts +0 -7
- package/projects/sharedcomponents/src/lib/pipe/ucfirst.pipe.ts +0 -14
- package/projects/sharedcomponents/src/lib/service/dictionary.service.ts +0 -86
- package/projects/sharedcomponents/src/lib/service/icon-cache.service.ts +0 -51
- package/projects/sharedcomponents/src/lib/service/options.service.ts +0 -43
- package/projects/sharedcomponents/src/lib/service/shared-connector.service.ts +0 -401
- package/projects/sharedcomponents/src/lib/service/shared-initializer.service.ts +0 -29
- package/projects/sharedcomponents/src/lib/service/shared.service.ts +0 -49
- package/projects/sharedcomponents/src/lib/service/stock.service.ts +0 -124
- package/projects/sharedcomponents/src/lib/utils/array-utils.ts +0 -225
- package/projects/sharedcomponents/src/lib/utils/calendar.utils.ts +0 -75
- package/projects/sharedcomponents/src/lib/utils/css-utils.ts +0 -275
- package/projects/sharedcomponents/src/lib/utils/date-utils.ts +0 -302
- package/projects/sharedcomponents/src/lib/utils/function/not-nill.function.ts +0 -4
- package/projects/sharedcomponents/src/lib/utils/is-nill.function.ts +0 -4
- package/projects/sharedcomponents/src/lib/utils/map-utils.ts +0 -44
- package/projects/sharedcomponents/src/lib/utils/number-utils.ts +0 -439
- package/projects/sharedcomponents/src/lib/utils/object-utils.ts +0 -310
- package/projects/sharedcomponents/src/lib/utils/string-utils.ts +0 -67
- package/projects/sharedcomponents/src/lib/utils/tree-utils.ts +0 -63
- package/projects/sharedcomponents/src/test.ts +0 -27
- package/projects/sharedcomponents/tsconfig.lib.json +0 -18
- package/projects/sharedcomponents/tsconfig.lib.prod.json +0 -10
- package/projects/sharedcomponents/tsconfig.spec.json +0 -17
- package/script/create-bundle-version.js +0 -19
- package/script/merge-icons.js +0 -39
- package/src/app/app.component.scss +0 -31
- package/src/app/app.component.spec.ts +0 -31
- package/src/app/app.component.ts +0 -454
- package/src/app/app.module.ts +0 -69
- package/src/app/bundle/index.html +0 -14
- package/src/app/bundle/login/login-bundle.component.scss +0 -6
- package/src/app/bundle/login/login-bundle.component.ts +0 -111
- package/src/app/bundle/login/login-bundle.module.ts +0 -30
- package/src/app/bundle/main-login-bundle.ts +0 -11
- package/src/app/bundle/polyfills.ts +0 -63
- package/src/app/test-data.service.ts +0 -60
- package/src/environments/environment.bundle.prod.ts +0 -3
- package/src/environments/environment.prod.ts +0 -3
- package/src/environments/environment.ts +0 -16
- package/src/favicon.ico +0 -0
- package/src/index.html +0 -13
- package/src/main.ts +0 -12
- package/src/polyfills.ts +0 -53
- package/src/styles.scss +0 -54
- package/src/test.ts +0 -26
- package/tsconfig.app.json +0 -15
- package/tsconfig.bundle.json +0 -38
- package/tsconfig.json +0 -64
- package/tsconfig.spec.json +0 -18
- package/webpack.login.bundle.config.js +0 -32
- /package/{projects/sharedcomponents/src/lib/components/docsign → lib/components/access}/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/stock-statusbar → lib/components/access}/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/date-planning → lib/components/activity-list}/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/key-pad → lib/components/activity-list}/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/screen-config-generator → lib/components/app-file-dropzone}/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/stock → lib/components/app-file-dropzone}/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/agenda/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/component/calendar/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/stock-statusbar → lib/components/date-planning}/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/date-planning/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signature/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/component/signatures/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/docsign/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/tab-bar → lib/components/file-upload-popup}/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/stock-statusbar/style/_theme.scss → lib/components/files-upload/style/_material-definition.scss} +0 -0
- /package/{projects/sharedcomponents/src/lib/components/tags/component → lib/components/image-display}/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/key-pad/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/login → lib/components/key-pad}/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/layout-switcher/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/linear-gauge/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/login/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/login/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/login/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/screen-config-generator → lib/components/login}/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/tab-bar/style/_theme.scss → lib/components/multi-property-toggler/style/_material-definition.scss} +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/screen-config-generator/style/_layout.scss +0 -0
- /package/{src/assets/.gitkeep → lib/components/screen-config-generator/style/_material-definition.scss} +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/screen-config-generator/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/simple-tags → lib/components/screen-config-generator}/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/layout-selection/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/layout-selection/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/layout-selection/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/layout-selection/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/printer-selection/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/printer-selection/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/printer-selection/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/printer-selection/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-email/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-email/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-email/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-email/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-pdf/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-pdf/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-pdf/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-pdf/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-printer/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-printer/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-printer/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/send-method-printer/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/signature-button/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/signature-button/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/signature-button/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/components/signature-button/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/send-method-dialog/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/simple-tags/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/simple-tags/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/simple-tags/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/statusbar/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/stock/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/stock-statusbar/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/tab-bar/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/tab-bar/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/components/tags/component/tag-join-label → lib/components/tags/component}/style/material.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/tag-join-label/style/_layout.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/tag-join-label/style/_material-definition.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/components/tags/component/tag-join-label/style/_theme.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/style/_mixin.scss +0 -0
- /package/{projects/sharedcomponents/src/lib → lib}/style/sharedcomponents-globals.scss +0 -0
- /package/{projects/sharedcomponents/src/lib/utils/check-within-stepped-bounds-result.ts → lib/utils/check-within-stepped-bounds-result.d.ts} +0 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import { isNill } from "./is-nill.function";
|
|
2
|
+
import { notNill } from "./function/not-nill.function";
|
|
3
|
+
// Static utility function holder related to objects.
|
|
4
|
+
export class ObjectUtils {
|
|
5
|
+
/**
|
|
6
|
+
* Returns whether all given values exist: for all values it holds that they are not null nor undefined. Short-circuit check.
|
|
7
|
+
* @param {any} values Rest parameters with all objects to check existence for.
|
|
8
|
+
* @returns {boolean} True if ALL given values are not null nor undefined, otherwise false (if at least one value was null or undefined)
|
|
9
|
+
*/
|
|
10
|
+
static AllExist(...values) {
|
|
11
|
+
let allExist = true;
|
|
12
|
+
for (let i = 0, len = values.length; i < len; i++) {
|
|
13
|
+
if (isNill(values[i])) {
|
|
14
|
+
allExist = false;
|
|
15
|
+
break;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return allExist;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Copies all properties from object 'from' to object 'to'. Overwrites properties on object 'to' if property already exists.
|
|
22
|
+
* Does not copy functions, only properties.
|
|
23
|
+
* @param {Object} from The source object from which to copy all properties of to the 'to' object.
|
|
24
|
+
* @param {Object} to The object to which the properties of the 'from' object will be copied.
|
|
25
|
+
* @param {boolean} [allowUndefined = true] wether the 'to' object may be assigned null or undefined values to any of its properties.
|
|
26
|
+
*/
|
|
27
|
+
static CopyPropertiesFrom(from, to, allowUndefined = true) {
|
|
28
|
+
if (!to) {
|
|
29
|
+
to = {};
|
|
30
|
+
}
|
|
31
|
+
if (!from) {
|
|
32
|
+
return to;
|
|
33
|
+
}
|
|
34
|
+
ObjectUtils.ForOwnProperty(from, (value, key) => {
|
|
35
|
+
if (allowUndefined || notNill(value)) {
|
|
36
|
+
to[key] = value;
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
return to;
|
|
40
|
+
}
|
|
41
|
+
static DeepEquals(actual, expected) {
|
|
42
|
+
if (actual === expected) {
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
else if (actual instanceof Date && expected instanceof Date) {
|
|
46
|
+
return actual.getTime() === expected.getTime();
|
|
47
|
+
}
|
|
48
|
+
else if (!actual || !expected || typeof actual !== "object" && typeof expected !== "object") {
|
|
49
|
+
return actual === expected;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return this._objEquiv(actual, expected);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// Performs given callback function for each own property of given plain object. Also works on string enums.
|
|
56
|
+
static ForOwnProperty(plainObject, callback) {
|
|
57
|
+
if (ObjectUtils.IsPlainObject(plainObject)) {
|
|
58
|
+
for (const key in plainObject) {
|
|
59
|
+
if (plainObject.hasOwnProperty(key) && typeof plainObject[key] !== "function") {
|
|
60
|
+
const response = callback(plainObject[key], key);
|
|
61
|
+
if (response === false) {
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
// Returns the class name of given argument. The argument can be an object or a class.
|
|
69
|
+
static GetClassName(objectOrClass) {
|
|
70
|
+
if (!objectOrClass) {
|
|
71
|
+
return undefined;
|
|
72
|
+
// arg was a class (or a function..)
|
|
73
|
+
}
|
|
74
|
+
else if (objectOrClass.constructor === Function) {
|
|
75
|
+
return objectOrClass.name; // .. which has its readable name stores like this
|
|
76
|
+
// else arg was an object
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const constructorString = objectOrClass.constructor.toString();
|
|
80
|
+
return constructorString.match(/\w+/g)[1];
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// Returns a shallow clone of the given original object. The clone is a SIMPLE OBJECT with the same properties as the original.
|
|
84
|
+
static GetShallowClone(originalObject, objectClass) {
|
|
85
|
+
let clonedObject = undefined;
|
|
86
|
+
if (objectClass) {
|
|
87
|
+
clonedObject = new objectClass();
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
clonedObject = {};
|
|
91
|
+
}
|
|
92
|
+
ObjectUtils.ForOwnProperty(originalObject, (value, key) => {
|
|
93
|
+
clonedObject[key] = value;
|
|
94
|
+
});
|
|
95
|
+
return clonedObject;
|
|
96
|
+
}
|
|
97
|
+
static GetDeepClone(originalObject, circular = true) {
|
|
98
|
+
// First create an empty object with
|
|
99
|
+
// same prototype of our original source
|
|
100
|
+
let propertyIndex;
|
|
101
|
+
let descriptor;
|
|
102
|
+
let keys;
|
|
103
|
+
let current;
|
|
104
|
+
let nextSource;
|
|
105
|
+
let indexOf;
|
|
106
|
+
const copies = [{
|
|
107
|
+
source: originalObject,
|
|
108
|
+
target: Object.create(Object.getPrototypeOf(originalObject))
|
|
109
|
+
}];
|
|
110
|
+
const cloneObject = copies[0].target;
|
|
111
|
+
const sourceReferences = [originalObject];
|
|
112
|
+
const targetReferences = [cloneObject];
|
|
113
|
+
// First in, first out
|
|
114
|
+
while (current = copies.shift()) { //NOSONAR
|
|
115
|
+
keys = Object.getOwnPropertyNames(current.source);
|
|
116
|
+
for (propertyIndex = 0; propertyIndex < keys.length; propertyIndex++) {
|
|
117
|
+
// Save the source's descriptor
|
|
118
|
+
descriptor = Object.getOwnPropertyDescriptor(current.source, keys[propertyIndex]);
|
|
119
|
+
if (!descriptor.value || typeof descriptor.value !== "object") {
|
|
120
|
+
Object.defineProperty(current.target, keys[propertyIndex], descriptor);
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
nextSource = descriptor.value;
|
|
124
|
+
descriptor.value = Array.isArray(nextSource) ?
|
|
125
|
+
[] :
|
|
126
|
+
Object.create(Object.getPrototypeOf(nextSource));
|
|
127
|
+
if (circular) {
|
|
128
|
+
indexOf = sourceReferences.indexOf(nextSource);
|
|
129
|
+
if (indexOf !== -1) {
|
|
130
|
+
// The source is already referenced, just assign reference
|
|
131
|
+
descriptor.value = targetReferences[indexOf];
|
|
132
|
+
Object.defineProperty(current.target, keys[propertyIndex], descriptor);
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
sourceReferences.push(nextSource);
|
|
136
|
+
targetReferences.push(descriptor.value);
|
|
137
|
+
}
|
|
138
|
+
Object.defineProperty(current.target, keys[propertyIndex], descriptor);
|
|
139
|
+
copies.push({ source: nextSource, target: descriptor.value });
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return cloneObject;
|
|
143
|
+
}
|
|
144
|
+
static IsEmpty(obj) {
|
|
145
|
+
return isNill(obj) || Object.getOwnPropertyNames(obj).length === 0;
|
|
146
|
+
}
|
|
147
|
+
// Returns whether given object is an existing, plain object. That is, it defined, its type if 'object' and it is NOT an array or func.
|
|
148
|
+
static IsPlainObject(object) {
|
|
149
|
+
return object !== null && !Array.isArray(object) && typeof object !== "function" && typeof object === "object";
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Returns an instance of given class with data of given dataObject. Only works if that class has a default constructor without args.
|
|
153
|
+
* Does not actually create a new object if it alread is an instance of that class.
|
|
154
|
+
* @param {any} clazz A class that has a default constructor
|
|
155
|
+
* @param {any} [dataObject] The object with data to copy to the new instance of the class
|
|
156
|
+
* @returns {any} An object that is an instance of given class, with given data applied to it.
|
|
157
|
+
*/
|
|
158
|
+
static MakeInstanceOf(clazz, dataObject) {
|
|
159
|
+
// dont make a clone if given dataObject already instance of clazz
|
|
160
|
+
if (dataObject instanceof clazz) {
|
|
161
|
+
return dataObject;
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
const asClazz = new clazz();
|
|
165
|
+
ObjectUtils.CopyPropertiesFrom(dataObject, asClazz);
|
|
166
|
+
return asClazz;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Returns the value of a random own property of given object.
|
|
170
|
+
static PickRandomPropertyValue(object) {
|
|
171
|
+
if (!object) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
let result;
|
|
175
|
+
let count = 0;
|
|
176
|
+
for (const prop in object) {
|
|
177
|
+
if (object.hasOwnProperty(prop)) {
|
|
178
|
+
count++;
|
|
179
|
+
if (Math.random() < 1 / count) {
|
|
180
|
+
result = object[prop];
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return result;
|
|
185
|
+
}
|
|
186
|
+
// Returns a default if given value doesn't exist, otherwise just value.
|
|
187
|
+
static ValueOrDefault(value, defaultReturnVal = "") {
|
|
188
|
+
return notNill(value) ? value : defaultReturnVal;
|
|
189
|
+
}
|
|
190
|
+
static _isArguments(x) {
|
|
191
|
+
const supportsArgsClass = this._supportsArgumentsClass();
|
|
192
|
+
return supportsArgsClass ? this._isArgumentsWhenArgsClassSupported(x) : this._isArgumentsWhenArgsClassNotSupported(x);
|
|
193
|
+
}
|
|
194
|
+
static _isArgumentsWhenArgsClassNotSupported(object) {
|
|
195
|
+
return object &&
|
|
196
|
+
typeof object === "object" &&
|
|
197
|
+
typeof object.length === "number" &&
|
|
198
|
+
Object.prototype.hasOwnProperty.call(object, "callee") &&
|
|
199
|
+
!Object.prototype.propertyIsEnumerable.call(object, "callee") ||
|
|
200
|
+
false;
|
|
201
|
+
}
|
|
202
|
+
static _isArgumentsWhenArgsClassSupported(object) {
|
|
203
|
+
return Object.prototype.toString.call(object) === "[object Arguments]";
|
|
204
|
+
}
|
|
205
|
+
static _isBuffer(x) {
|
|
206
|
+
if (!x || typeof x !== "object" || typeof x.length !== "number") {
|
|
207
|
+
return false;
|
|
208
|
+
}
|
|
209
|
+
if (typeof x.copy !== "function" || typeof x.slice !== "function") {
|
|
210
|
+
return false;
|
|
211
|
+
}
|
|
212
|
+
return !(x.length > 0 && typeof x[0] !== "number");
|
|
213
|
+
}
|
|
214
|
+
static _isUndefinedOrNull(value) {
|
|
215
|
+
return value === null || value === undefined;
|
|
216
|
+
}
|
|
217
|
+
static _objEquiv(a, b) {
|
|
218
|
+
let i, key;
|
|
219
|
+
if (this._isUndefinedOrNull(a) || this._isUndefinedOrNull(b)) {
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
if (a.prototype !== b.prototype) {
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
if (this._isArguments(a)) {
|
|
226
|
+
if (!this._isArguments(b)) {
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
229
|
+
a = Array.prototype.slice.call(a);
|
|
230
|
+
b = Array.prototype.slice.call(b);
|
|
231
|
+
return this.DeepEquals(a, b);
|
|
232
|
+
}
|
|
233
|
+
if (this._isBuffer(a)) {
|
|
234
|
+
if (!this._isBuffer(b)) {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
if (a.length !== b.length) {
|
|
238
|
+
return false;
|
|
239
|
+
}
|
|
240
|
+
for (i = 0; i < a.length; i++) {
|
|
241
|
+
if (a[i] !== b[i]) {
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return true;
|
|
246
|
+
}
|
|
247
|
+
let ka;
|
|
248
|
+
let kb;
|
|
249
|
+
try {
|
|
250
|
+
ka = Object.keys(a);
|
|
251
|
+
kb = Object.keys(b);
|
|
252
|
+
}
|
|
253
|
+
catch (e) {
|
|
254
|
+
return false;
|
|
255
|
+
}
|
|
256
|
+
if (ka.length !== kb.length) {
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
ka.sort();
|
|
260
|
+
kb.sort();
|
|
261
|
+
for (i = ka.length - 1; i >= 0; i--) {
|
|
262
|
+
if (ka[i] !== kb[i]) {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
for (i = ka.length - 1; i >= 0; i--) {
|
|
267
|
+
key = ka[i];
|
|
268
|
+
if (!this.DeepEquals(a[key], b[key])) {
|
|
269
|
+
return false;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return typeof a === typeof b;
|
|
273
|
+
}
|
|
274
|
+
static _supportsArgumentsClass() {
|
|
275
|
+
return Object.prototype.toString.call(arguments) === "[object Arguments]";
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3V0aWxzL29iamVjdC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRXJELHFEQUFxRDtBQUNyRCxNQUFNLE9BQU8sV0FBVztJQUVwQjs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQWE7UUFDbkMsSUFBSSxRQUFRLEdBQVksSUFBSSxDQUFDO1FBQzdCLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0QsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ2pCLE1BQU07YUFDVDtTQUNKO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBSSxJQUFZLEVBQUUsRUFBSyxFQUFFLGlCQUEwQixJQUFJO1FBQ25GLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDTCxFQUFFLEdBQUcsRUFBTyxDQUFDO1NBQ2hCO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNQLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFDRCxXQUFXLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQVUsRUFBRSxHQUFXLEVBQUUsRUFBRTtZQUN6RCxJQUFJLGNBQWMsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ2xDLEVBQUUsQ0FB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QUFDLENBQUMsRUFBRTtnQkFDbEMsT0FBTyxLQUFLLENBQUM7YUFDaEI7U0FDSjtRQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVPLE1BQU0sQ0FBQyx1QkFBdUI7UUFDbEMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssb0JBQW9CLENBQUM7SUFDOUUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc05pbGx9IGZyb20gXCIuL2lzLW5pbGwuZnVuY3Rpb25cIjtcclxuaW1wb3J0IHtub3ROaWxsfSBmcm9tIFwiLi9mdW5jdGlvbi9ub3QtbmlsbC5mdW5jdGlvblwiO1xyXG5cclxuLy8gU3RhdGljIHV0aWxpdHkgZnVuY3Rpb24gaG9sZGVyIHJlbGF0ZWQgdG8gb2JqZWN0cy5cclxuZXhwb3J0IGNsYXNzIE9iamVjdFV0aWxzIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgd2hldGhlciBhbGwgZ2l2ZW4gdmFsdWVzIGV4aXN0OiBmb3IgYWxsIHZhbHVlcyBpdCBob2xkcyB0aGF0IHRoZXkgYXJlIG5vdCBudWxsIG5vciB1bmRlZmluZWQuIFNob3J0LWNpcmN1aXQgY2hlY2suXHJcbiAgICAgKiBAcGFyYW0ge2FueX0gdmFsdWVzIFJlc3QgcGFyYW1ldGVycyB3aXRoIGFsbCBvYmplY3RzIHRvIGNoZWNrIGV4aXN0ZW5jZSBmb3IuXHJcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiBBTEwgZ2l2ZW4gdmFsdWVzIGFyZSBub3QgbnVsbCBub3IgdW5kZWZpbmVkLCBvdGhlcndpc2UgZmFsc2UgKGlmIGF0IGxlYXN0IG9uZSB2YWx1ZSB3YXMgbnVsbCBvciB1bmRlZmluZWQpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgQWxsRXhpc3QoLi4udmFsdWVzOiBhbnlbXSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGxldCBhbGxFeGlzdDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMCwgbGVuOiBudW1iZXIgPSB2YWx1ZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGlzTmlsbCh2YWx1ZXNbaV0pKSB7XHJcbiAgICAgICAgICAgICAgICBhbGxFeGlzdCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGFsbEV4aXN0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29waWVzIGFsbCBwcm9wZXJ0aWVzIGZyb20gb2JqZWN0ICdmcm9tJyB0byBvYmplY3QgJ3RvJy4gT3ZlcndyaXRlcyBwcm9wZXJ0aWVzIG9uIG9iamVjdCAndG8nIGlmIHByb3BlcnR5IGFscmVhZHkgZXhpc3RzLlxyXG4gICAgICogRG9lcyBub3QgY29weSBmdW5jdGlvbnMsIG9ubHkgcHJvcGVydGllcy5cclxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBmcm9tIFRoZSBzb3VyY2Ugb2JqZWN0IGZyb20gd2hpY2ggdG8gY29weSBhbGwgcHJvcGVydGllcyBvZiB0byB0aGUgJ3RvJyBvYmplY3QuXHJcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gdG8gVGhlIG9iamVjdCB0byB3aGljaCB0aGUgcHJvcGVydGllcyBvZiB0aGUgJ2Zyb20nIG9iamVjdCB3aWxsIGJlIGNvcGllZC5cclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2FsbG93VW5kZWZpbmVkID0gdHJ1ZV0gd2V0aGVyIHRoZSAndG8nIG9iamVjdCBtYXkgYmUgYXNzaWduZWQgbnVsbCBvciB1bmRlZmluZWQgdmFsdWVzIHRvIGFueSBvZiBpdHMgcHJvcGVydGllcy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBDb3B5UHJvcGVydGllc0Zyb208VD4oZnJvbTogT2JqZWN0LCB0bzogVCwgYWxsb3dVbmRlZmluZWQ6IGJvb2xlYW4gPSB0cnVlKTogVCB7XHJcbiAgICAgICAgaWYgKCF0bykge1xyXG4gICAgICAgICAgICB0byA9IHt9IGFzIFQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghZnJvbSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIE9iamVjdFV0aWxzLkZvck93blByb3BlcnR5KGZyb20sICh2YWx1ZTogYW55LCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICBpZiAoYWxsb3dVbmRlZmluZWQgfHwgbm90TmlsbCh2YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIHRvW2tleV0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiB0bztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIERlZXBFcXVhbHMoYWN0dWFsOiBhbnksIGV4cGVjdGVkOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoYWN0dWFsID09PSBleHBlY3RlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2UgaWYgKGFjdHVhbCBpbnN0YW5jZW9mIERhdGUgJiYgZXhwZWN0ZWQgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBhY3R1YWwuZ2V0VGltZSgpID09PSBleHBlY3RlZC5nZXRUaW1lKCk7XHJcbiAgICAgICAgfSBlbHNlIGlmICghYWN0dWFsIHx8ICFleHBlY3RlZCB8fCB0eXBlb2YgYWN0dWFsICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBleHBlY3RlZCAhPT0gXCJvYmplY3RcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gYWN0dWFsID09PSBleHBlY3RlZDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fb2JqRXF1aXYoYWN0dWFsLCBleHBlY3RlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFBlcmZvcm1zIGdpdmVuIGNhbGxiYWNrIGZ1bmN0aW9uIGZvciBlYWNoIG93biBwcm9wZXJ0eSBvZiBnaXZlbiBwbGFpbiBvYmplY3QuIEFsc28gd29ya3Mgb24gc3RyaW5nIGVudW1zLlxyXG4gICAgcHVibGljIHN0YXRpYyBGb3JPd25Qcm9wZXJ0eShwbGFpbk9iamVjdDogYW55LCBjYWxsYmFjazogKHByb3BWYWw6IGFueSwga2V5OiBzdHJpbmcpID0+IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChPYmplY3RVdGlscy5Jc1BsYWluT2JqZWN0KHBsYWluT2JqZWN0KSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBwbGFpbk9iamVjdCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHBsYWluT2JqZWN0Lmhhc093blByb3BlcnR5KGtleSkgJiYgdHlwZW9mIHBsYWluT2JqZWN0W2tleV0gIT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlOiBib29sZWFuID0gY2FsbGJhY2socGxhaW5PYmplY3Rba2V5XSwga2V5KTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXR1cm5zIHRoZSBjbGFzcyBuYW1lIG9mIGdpdmVuIGFyZ3VtZW50LiBUaGUgYXJndW1lbnQgY2FuIGJlIGFuIG9iamVjdCBvciBhIGNsYXNzLlxyXG4gICAgcHVibGljIHN0YXRpYyBHZXRDbGFzc05hbWUob2JqZWN0T3JDbGFzczogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIW9iamVjdE9yQ2xhc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgLy8gYXJnIHdhcyBhIGNsYXNzIChvciBhIGZ1bmN0aW9uLi4pXHJcbiAgICAgICAgfSBlbHNlIGlmIChvYmplY3RPckNsYXNzLmNvbnN0cnVjdG9yID09PSBGdW5jdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0T3JDbGFzcy5uYW1lOyAvLyAuLiB3aGljaCBoYXMgaXRzIHJlYWRhYmxlIG5hbWUgc3RvcmVzIGxpa2UgdGhpc1xyXG4gICAgICAgICAgICAvLyBlbHNlIGFyZyB3YXMgYW4gb2JqZWN0XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgY29uc3RydWN0b3JTdHJpbmc6IHN0cmluZyA9IG9iamVjdE9yQ2xhc3MuY29uc3RydWN0b3IudG9TdHJpbmcoKTtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yU3RyaW5nLm1hdGNoKC9cXHcrL2cpWzFdO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXR1cm5zIGEgc2hhbGxvdyBjbG9uZSBvZiB0aGUgZ2l2ZW4gb3JpZ2luYWwgb2JqZWN0LiBUaGUgY2xvbmUgaXMgYSBTSU1QTEUgT0JKRUNUIHdpdGggdGhlIHNhbWUgcHJvcGVydGllcyBhcyB0aGUgb3JpZ2luYWwuXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldFNoYWxsb3dDbG9uZShvcmlnaW5hbE9iamVjdDogYW55LCBvYmplY3RDbGFzcz86IGFueSk6IGFueSB7XHJcbiAgICAgICAgbGV0IGNsb25lZE9iamVjdDogYW55ID0gdW5kZWZpbmVkO1xyXG5cclxuICAgICAgICBpZiAob2JqZWN0Q2xhc3MpIHtcclxuICAgICAgICAgICAgY2xvbmVkT2JqZWN0ID0gbmV3IG9iamVjdENsYXNzKCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY2xvbmVkT2JqZWN0ID0ge307XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBPYmplY3RVdGlscy5Gb3JPd25Qcm9wZXJ0eShvcmlnaW5hbE9iamVjdCwgKHZhbHVlOiBhbnksIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGNsb25lZE9iamVjdFtrZXldID0gdmFsdWU7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBjbG9uZWRPYmplY3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBHZXREZWVwQ2xvbmUob3JpZ2luYWxPYmplY3Q6IGFueSwgY2lyY3VsYXI6IGJvb2xlYW4gPSB0cnVlKTogYW55IHtcclxuICAgICAgICAvLyBGaXJzdCBjcmVhdGUgYW4gZW1wdHkgb2JqZWN0IHdpdGhcclxuICAgICAgICAvLyBzYW1lIHByb3RvdHlwZSBvZiBvdXIgb3JpZ2luYWwgc291cmNlXHJcblxyXG4gICAgICAgIGxldCBwcm9wZXJ0eUluZGV4OiBudW1iZXI7XHJcbiAgICAgICAgbGV0IGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcjtcclxuICAgICAgICBsZXQga2V5czogc3RyaW5nW107XHJcbiAgICAgICAgbGV0IGN1cnJlbnQ6IGFueTtcclxuICAgICAgICBsZXQgbmV4dFNvdXJjZTogYW55O1xyXG4gICAgICAgIGxldCBpbmRleE9mOiBudW1iZXI7XHJcbiAgICAgICAgY29uc3QgY29waWVzOiBhbnlbXSA9IFt7XHJcbiAgICAgICAgICAgIHNvdXJjZTogb3JpZ2luYWxPYmplY3QsXHJcbiAgICAgICAgICAgIHRhcmdldDogT2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yob3JpZ2luYWxPYmplY3QpKVxyXG4gICAgICAgIH1dO1xyXG4gICAgICAgIGNvbnN0IGNsb25lT2JqZWN0OiBhbnkgPSBjb3BpZXNbMF0udGFyZ2V0O1xyXG4gICAgICAgIGNvbnN0IHNvdXJjZVJlZmVyZW5jZXM6IGFueVtdID0gW29yaWdpbmFsT2JqZWN0XTtcclxuICAgICAgICBjb25zdCB0YXJnZXRSZWZlcmVuY2VzOiBhbnlbXSA9IFtjbG9uZU9iamVjdF07XHJcblxyXG4gICAgICAgIC8vIEZpcnN0IGluLCBmaXJzdCBvdXRcclxuICAgICAgICB3aGlsZSAoY3VycmVudCA9IGNvcGllcy5zaGlmdCgpKSB7IC8vTk9TT05BUlxyXG4gICAgICAgICAgICBrZXlzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoY3VycmVudC5zb3VyY2UpO1xyXG5cclxuICAgICAgICAgICAgZm9yIChwcm9wZXJ0eUluZGV4ID0gMDsgcHJvcGVydHlJbmRleCA8IGtleXMubGVuZ3RoOyBwcm9wZXJ0eUluZGV4KyspIHtcclxuICAgICAgICAgICAgICAgIC8vIFNhdmUgdGhlIHNvdXJjZSdzIGRlc2NyaXB0b3JcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGN1cnJlbnQuc291cmNlLCBrZXlzW3Byb3BlcnR5SW5kZXhdKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoIWRlc2NyaXB0b3IudmFsdWUgfHwgdHlwZW9mIGRlc2NyaXB0b3IudmFsdWUgIT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY3VycmVudC50YXJnZXQsIGtleXNbcHJvcGVydHlJbmRleF0sIGRlc2NyaXB0b3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIG5leHRTb3VyY2UgPSBkZXNjcmlwdG9yLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IEFycmF5LmlzQXJyYXkobmV4dFNvdXJjZSkgP1xyXG4gICAgICAgICAgICAgICAgICAgIFtdIDpcclxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZihuZXh0U291cmNlKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGNpcmN1bGFyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaW5kZXhPZiA9IHNvdXJjZVJlZmVyZW5jZXMuaW5kZXhPZihuZXh0U291cmNlKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4T2YgIT09IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBzb3VyY2UgaXMgYWxyZWFkeSByZWZlcmVuY2VkLCBqdXN0IGFzc2lnbiByZWZlcmVuY2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRvci52YWx1ZSA9IHRhcmdldFJlZmVyZW5jZXNbaW5kZXhPZl07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjdXJyZW50LnRhcmdldCwga2V5c1twcm9wZXJ0eUluZGV4XSwgZGVzY3JpcHRvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgc291cmNlUmVmZXJlbmNlcy5wdXNoKG5leHRTb3VyY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFJlZmVyZW5jZXMucHVzaChkZXNjcmlwdG9yLnZhbHVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY3VycmVudC50YXJnZXQsIGtleXNbcHJvcGVydHlJbmRleF0sIGRlc2NyaXB0b3IpO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvcGllcy5wdXNoKHtzb3VyY2U6IG5leHRTb3VyY2UsIHRhcmdldDogZGVzY3JpcHRvci52YWx1ZX0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gY2xvbmVPYmplY3Q7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBJc0VtcHR5KG9iajogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGlzTmlsbChvYmopIHx8IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikubGVuZ3RoID09PSAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJldHVybnMgd2hldGhlciBnaXZlbiBvYmplY3QgaXMgYW4gZXhpc3RpbmcsIHBsYWluIG9iamVjdC4gVGhhdCBpcywgaXQgZGVmaW5lZCwgaXRzIHR5cGUgaWYgJ29iamVjdCcgYW5kIGl0IGlzIE5PVCBhbiBhcnJheSBvciBmdW5jLlxyXG4gICAgcHVibGljIHN0YXRpYyBJc1BsYWluT2JqZWN0KG9iamVjdDogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdCAhPT0gbnVsbCAmJiAhQXJyYXkuaXNBcnJheShvYmplY3QpICYmIHR5cGVvZiBvYmplY3QgIT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2Ygb2JqZWN0ID09PSBcIm9iamVjdFwiO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhbiBpbnN0YW5jZSBvZiBnaXZlbiBjbGFzcyB3aXRoIGRhdGEgb2YgZ2l2ZW4gZGF0YU9iamVjdC4gT25seSB3b3JrcyBpZiB0aGF0IGNsYXNzIGhhcyBhIGRlZmF1bHQgY29uc3RydWN0b3Igd2l0aG91dCBhcmdzLlxyXG4gICAgICogRG9lcyBub3QgYWN0dWFsbHkgY3JlYXRlIGEgbmV3IG9iamVjdCBpZiBpdCBhbHJlYWQgaXMgYW4gaW5zdGFuY2Ugb2YgdGhhdCBjbGFzcy5cclxuICAgICAqIEBwYXJhbSB7YW55fSBjbGF6eiBBIGNsYXNzIHRoYXQgaGFzIGEgZGVmYXVsdCBjb25zdHJ1Y3RvclxyXG4gICAgICogQHBhcmFtIHthbnl9IFtkYXRhT2JqZWN0XSBUaGUgb2JqZWN0IHdpdGggZGF0YSB0byBjb3B5IHRvIHRoZSBuZXcgaW5zdGFuY2Ugb2YgdGhlIGNsYXNzXHJcbiAgICAgKiBAcmV0dXJucyB7YW55fSBBbiBvYmplY3QgdGhhdCBpcyBhbiBpbnN0YW5jZSBvZiBnaXZlbiBjbGFzcywgd2l0aCBnaXZlbiBkYXRhIGFwcGxpZWQgdG8gaXQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgTWFrZUluc3RhbmNlT2YoY2xheno6IGFueSwgZGF0YU9iamVjdD86IGFueSk6IGFueSB7XHJcbiAgICAgICAgLy8gZG9udCBtYWtlIGEgY2xvbmUgaWYgZ2l2ZW4gZGF0YU9iamVjdCBhbHJlYWR5IGluc3RhbmNlIG9mIGNsYXp6XHJcbiAgICAgICAgaWYgKGRhdGFPYmplY3QgaW5zdGFuY2VvZiBjbGF6eikge1xyXG4gICAgICAgICAgICByZXR1cm4gZGF0YU9iamVjdDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBhc0NsYXp6OiBhbnkgPSBuZXcgY2xhenooKTtcclxuICAgICAgICAgICAgT2JqZWN0VXRpbHMuQ29weVByb3BlcnRpZXNGcm9tKGRhdGFPYmplY3QsIGFzQ2xhenopO1xyXG4gICAgICAgICAgICByZXR1cm4gYXNDbGF6ejtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmV0dXJucyB0aGUgdmFsdWUgb2YgYSByYW5kb20gb3duIHByb3BlcnR5IG9mIGdpdmVuIG9iamVjdC5cclxuICAgIHB1YmxpYyBzdGF0aWMgUGlja1JhbmRvbVByb3BlcnR5VmFsdWUob2JqZWN0OiBhbnkpOiBhbnkge1xyXG4gICAgICAgIGlmICghb2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCByZXN1bHQ6IGFueTtcclxuICAgICAgICBsZXQgY291bnQ6IG51bWJlciA9IDA7XHJcbiAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIG9iamVjdCkge1xyXG4gICAgICAgICAgICBpZiAob2JqZWN0Lmhhc093blByb3BlcnR5KHByb3ApKSB7XHJcbiAgICAgICAgICAgICAgICBjb3VudCsrO1xyXG4gICAgICAgICAgICAgICAgaWYgKE1hdGgucmFuZG9tKCkgPCAxIC8gY291bnQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBvYmplY3RbcHJvcF07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXR1cm5zIGEgZGVmYXVsdCBpZiBnaXZlbiB2YWx1ZSBkb2Vzbid0IGV4aXN0LCBvdGhlcndpc2UganVzdCB2YWx1ZS5cclxuICAgIHB1YmxpYyBzdGF0aWMgVmFsdWVPckRlZmF1bHQodmFsdWU6IGFueSwgZGVmYXVsdFJldHVyblZhbDogYW55ID0gXCJcIik6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIG5vdE5pbGwodmFsdWUpID8gdmFsdWUgOiBkZWZhdWx0UmV0dXJuVmFsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc3RhdGljIF9pc0FyZ3VtZW50cyh4OiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBzdXBwb3J0c0FyZ3NDbGFzczogYm9vbGVhbiA9IHRoaXMuX3N1cHBvcnRzQXJndW1lbnRzQ2xhc3MoKTtcclxuICAgICAgICByZXR1cm4gc3VwcG9ydHNBcmdzQ2xhc3MgPyB0aGlzLl9pc0FyZ3VtZW50c1doZW5BcmdzQ2xhc3NTdXBwb3J0ZWQoeCkgOiB0aGlzLl9pc0FyZ3VtZW50c1doZW5BcmdzQ2xhc3NOb3RTdXBwb3J0ZWQoeCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX2lzQXJndW1lbnRzV2hlbkFyZ3NDbGFzc05vdFN1cHBvcnRlZChvYmplY3Q6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBvYmplY3QgJiZcclxuICAgICAgICAgICAgdHlwZW9mIG9iamVjdCA9PT0gXCJvYmplY3RcIiAmJlxyXG4gICAgICAgICAgICB0eXBlb2Ygb2JqZWN0Lmxlbmd0aCA9PT0gXCJudW1iZXJcIiAmJlxyXG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBcImNhbGxlZVwiKSAmJlxyXG4gICAgICAgICAgICAhT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKG9iamVjdCwgXCJjYWxsZWVcIikgfHxcclxuICAgICAgICAgICAgZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX2lzQXJndW1lbnRzV2hlbkFyZ3NDbGFzc1N1cHBvcnRlZChvYmplY3Q6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqZWN0KSA9PT0gXCJbb2JqZWN0IEFyZ3VtZW50c11cIjtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfaXNCdWZmZXIoeDogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCF4IHx8IHR5cGVvZiB4ICE9PSBcIm9iamVjdFwiIHx8IHR5cGVvZiB4Lmxlbmd0aCAhPT0gXCJudW1iZXJcIikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgeC5jb3B5ICE9PSBcImZ1bmN0aW9uXCIgfHwgdHlwZW9mIHguc2xpY2UgIT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAhKHgubGVuZ3RoID4gMCAmJiB0eXBlb2YgeFswXSAhPT0gXCJudW1iZXJcIik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX2lzVW5kZWZpbmVkT3JOdWxsKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHN0YXRpYyBfb2JqRXF1aXYoYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgaTogbnVtYmVyLCBrZXk6IHN0cmluZztcclxuICAgICAgICBpZiAodGhpcy5faXNVbmRlZmluZWRPck51bGwoYSkgfHwgdGhpcy5faXNVbmRlZmluZWRPck51bGwoYikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGEucHJvdG90eXBlICE9PSBiLnByb3RvdHlwZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5faXNBcmd1bWVudHMoYSkpIHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLl9pc0FyZ3VtZW50cyhiKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhKTtcclxuICAgICAgICAgICAgYiA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGIpO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5EZWVwRXF1YWxzKGEsIGIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5faXNCdWZmZXIoYSkpIHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLl9pc0J1ZmZlcihiKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGFbaV0gIT09IGJbaV0pIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBrYTogc3RyaW5nW107XHJcbiAgICAgICAgbGV0IGtiOiBzdHJpbmdbXTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBrYSA9IE9iamVjdC5rZXlzKGEpO1xyXG4gICAgICAgICAgICBrYiA9IE9iamVjdC5rZXlzKGIpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGthLmxlbmd0aCAhPT0ga2IubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGthLnNvcnQoKTtcclxuICAgICAgICBrYi5zb3J0KCk7XHJcblxyXG4gICAgICAgIGZvciAoaSA9IGthLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgICAgICAgIGlmIChrYVtpXSAhPT0ga2JbaV0pIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChpID0ga2EubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcclxuICAgICAgICAgICAga2V5ID0ga2FbaV07XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5EZWVwRXF1YWxzKGFba2V5XSwgYltrZXldKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0eXBlb2YgYSA9PT0gdHlwZW9mIGI7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX3N1cHBvcnRzQXJndW1lbnRzQ2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhcmd1bWVudHMpID09PSBcIltvYmplY3QgQXJndW1lbnRzXVwiO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Static utility function holder related to ref codes and string enums (as in our string enum representations of the db table REF_CODE).
|
|
2
|
+
import { NumberUtils } from "./number-utils";
|
|
3
|
+
export class RefCodeUtils {
|
|
4
|
+
// Returns true if given valueToCheck is a composition of the second numeric argument. Usesul for checking user rights, for instance.
|
|
5
|
+
static Check(valueToCheck, powTwoNumToCheckAgainst) {
|
|
6
|
+
return NumberUtils.NumIsComposedOfOtherPowTwoNum(valueToCheck, powTwoNumToCheckAgainst);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Returns true if given number value is a composition of at least one of the rest numeric arguments. Usesul for checking user rights,
|
|
10
|
+
* for instance, or any other numerical composite refcode.
|
|
11
|
+
*/
|
|
12
|
+
static CheckAny(valueToCheck, ...powTwoNumsToCheckAgainst) {
|
|
13
|
+
const len = powTwoNumsToCheckAgainst.length;
|
|
14
|
+
for (let i = 0; i < len; i++) {
|
|
15
|
+
if (RefCodeUtils.Check(valueToCheck, powTwoNumsToCheckAgainst[i])) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
static GetMultiRefCodeChoices(multiRefCode) {
|
|
22
|
+
const choices = [];
|
|
23
|
+
// magic number 22 was chosen as a 'high' power of two, i.e. we don't expect multi ref codes with more than 21 options
|
|
24
|
+
let powTwoExponent = 22;
|
|
25
|
+
let powTwoVal = Math.pow(2, powTwoExponent);
|
|
26
|
+
let remainder = multiRefCode;
|
|
27
|
+
while (remainder > 0) {
|
|
28
|
+
if (remainder - powTwoVal >= 0) {
|
|
29
|
+
choices.push(powTwoVal);
|
|
30
|
+
remainder -= powTwoVal;
|
|
31
|
+
}
|
|
32
|
+
powTwoExponent--;
|
|
33
|
+
powTwoVal = Math.pow(2, powTwoExponent);
|
|
34
|
+
}
|
|
35
|
+
choices.reverse();
|
|
36
|
+
return choices;
|
|
37
|
+
}
|
|
38
|
+
static GetNumbersArraySum(numbersArray) {
|
|
39
|
+
if (!Array.isArray(numbersArray) || numbersArray.length === 0) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
let sum = 0;
|
|
43
|
+
numbersArray.forEach((num) => {
|
|
44
|
+
sum += num;
|
|
45
|
+
});
|
|
46
|
+
return sum;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLWNvZGUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvdXRpbHMvcmVmLWNvZGUtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEseUlBQXlJO0FBQ3pJLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLE9BQU8sWUFBWTtJQUVyQixxSUFBcUk7SUFDOUgsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFvQixFQUFFLHVCQUErQjtRQUNyRSxPQUFPLFdBQVcsQ0FBQyw2QkFBNkIsQ0FBQyxZQUFZLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFvQixFQUFFLEdBQUcsd0JBQWtDO1FBQzlFLE1BQU0sR0FBRyxHQUFXLHdCQUF3QixDQUFDLE1BQU0sQ0FBQztRQUNwRCxLQUFLLElBQUksQ0FBQyxHQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDL0QsT0FBTyxJQUFJLENBQUM7YUFDZjtTQUNKO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxZQUFvQjtRQUNyRCxNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFFN0Isc0hBQXNIO1FBQ3RILElBQUksY0FBYyxHQUFXLEVBQUUsQ0FBQztRQUNoQyxJQUFJLFNBQVMsR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNwRCxJQUFJLFNBQVMsR0FBVyxZQUFZLENBQUM7UUFFckMsT0FBTyxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLElBQUksU0FBUyxHQUFHLFNBQVMsSUFBSSxDQUFDLEVBQUU7Z0JBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3hCLFNBQVMsSUFBSSxTQUFTLENBQUM7YUFDMUI7WUFFRCxjQUFjLEVBQUUsQ0FBQztZQUNqQixTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDM0M7UUFFRCxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEIsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxZQUFzQjtRQUNuRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMzRCxPQUFPO1NBQ1Y7UUFFRCxJQUFJLEdBQUcsR0FBVyxDQUFDLENBQUM7UUFDcEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQ2pDLEdBQUcsSUFBSSxHQUFHLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG4vLyBTdGF0aWMgdXRpbGl0eSBmdW5jdGlvbiBob2xkZXIgcmVsYXRlZCB0byByZWYgY29kZXMgYW5kIHN0cmluZyBlbnVtcyAoYXMgaW4gb3VyIHN0cmluZyBlbnVtIHJlcHJlc2VudGF0aW9ucyBvZiB0aGUgZGIgdGFibGUgUkVGX0NPREUpLlxyXG5pbXBvcnQge051bWJlclV0aWxzfSBmcm9tIFwiLi9udW1iZXItdXRpbHNcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBSZWZDb2RlVXRpbHMge1xyXG5cclxuICAgIC8vIFJldHVybnMgdHJ1ZSBpZiBnaXZlbiB2YWx1ZVRvQ2hlY2sgaXMgYSBjb21wb3NpdGlvbiBvZiB0aGUgc2Vjb25kIG51bWVyaWMgYXJndW1lbnQuIFVzZXN1bCBmb3IgY2hlY2tpbmcgdXNlciByaWdodHMsIGZvciBpbnN0YW5jZS5cclxuICAgIHB1YmxpYyBzdGF0aWMgQ2hlY2sodmFsdWVUb0NoZWNrOiBudW1iZXIsIHBvd1R3b051bVRvQ2hlY2tBZ2FpbnN0OiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gTnVtYmVyVXRpbHMuTnVtSXNDb21wb3NlZE9mT3RoZXJQb3dUd29OdW0odmFsdWVUb0NoZWNrLCBwb3dUd29OdW1Ub0NoZWNrQWdhaW5zdCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgZ2l2ZW4gbnVtYmVyIHZhbHVlIGlzIGEgY29tcG9zaXRpb24gb2YgYXQgbGVhc3Qgb25lIG9mIHRoZSByZXN0IG51bWVyaWMgYXJndW1lbnRzLiBVc2VzdWwgZm9yIGNoZWNraW5nIHVzZXIgcmlnaHRzLFxyXG4gICAgICogZm9yIGluc3RhbmNlLCBvciBhbnkgb3RoZXIgbnVtZXJpY2FsIGNvbXBvc2l0ZSByZWZjb2RlLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIENoZWNrQW55KHZhbHVlVG9DaGVjazogbnVtYmVyLCAuLi5wb3dUd29OdW1zVG9DaGVja0FnYWluc3Q6IG51bWJlcltdKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgbGVuOiBudW1iZXIgPSBwb3dUd29OdW1zVG9DaGVja0FnYWluc3QubGVuZ3RoO1xyXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICBpZiAoUmVmQ29kZVV0aWxzLkNoZWNrKHZhbHVlVG9DaGVjaywgcG93VHdvTnVtc1RvQ2hlY2tBZ2FpbnN0W2ldKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0TXVsdGlSZWZDb2RlQ2hvaWNlcyhtdWx0aVJlZkNvZGU6IG51bWJlcik6IG51bWJlcltdIHtcclxuICAgICAgICBjb25zdCBjaG9pY2VzOiBudW1iZXJbXSA9IFtdO1xyXG5cclxuICAgICAgICAvLyBtYWdpYyBudW1iZXIgMjIgd2FzIGNob3NlbiBhcyBhICdoaWdoJyBwb3dlciBvZiB0d28sIGkuZS4gd2UgZG9uJ3QgZXhwZWN0IG11bHRpIHJlZiBjb2RlcyB3aXRoIG1vcmUgdGhhbiAyMSBvcHRpb25zXHJcbiAgICAgICAgbGV0IHBvd1R3b0V4cG9uZW50OiBudW1iZXIgPSAyMjtcclxuICAgICAgICBsZXQgcG93VHdvVmFsOiBudW1iZXIgPSBNYXRoLnBvdygyLCBwb3dUd29FeHBvbmVudCk7XHJcbiAgICAgICAgbGV0IHJlbWFpbmRlcjogbnVtYmVyID0gbXVsdGlSZWZDb2RlO1xyXG5cclxuICAgICAgICB3aGlsZSAocmVtYWluZGVyID4gMCkge1xyXG4gICAgICAgICAgICBpZiAocmVtYWluZGVyIC0gcG93VHdvVmFsID49IDApIHtcclxuICAgICAgICAgICAgICAgIGNob2ljZXMucHVzaChwb3dUd29WYWwpO1xyXG4gICAgICAgICAgICAgICAgcmVtYWluZGVyIC09IHBvd1R3b1ZhbDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcG93VHdvRXhwb25lbnQtLTtcclxuICAgICAgICAgICAgcG93VHdvVmFsID0gTWF0aC5wb3coMiwgcG93VHdvRXhwb25lbnQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY2hvaWNlcy5yZXZlcnNlKCk7XHJcbiAgICAgICAgcmV0dXJuIGNob2ljZXM7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBHZXROdW1iZXJzQXJyYXlTdW0obnVtYmVyc0FycmF5OiBudW1iZXJbXSk6IG51bWJlciB7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KG51bWJlcnNBcnJheSkgfHwgbnVtYmVyc0FycmF5Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgc3VtOiBudW1iZXIgPSAwO1xyXG4gICAgICAgIG51bWJlcnNBcnJheS5mb3JFYWNoKChudW06IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICBzdW0gKz0gbnVtO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBzdW07XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// Static utility functions holder related to strings.
|
|
2
|
+
export class StringUtils {
|
|
3
|
+
/**
|
|
4
|
+
* Returns a new string where given placeholder in given source string are replaced by given replacement texts.
|
|
5
|
+
*
|
|
6
|
+
* Example usage:
|
|
7
|
+
*
|
|
8
|
+
* source = "ABCDABCD"
|
|
9
|
+
* placeholder = "BC"
|
|
10
|
+
* replacementTexts = "Z", "Z" (REST arguments)
|
|
11
|
+
* OUTPUT = "AZDAZD"
|
|
12
|
+
*
|
|
13
|
+
* @param {string} source
|
|
14
|
+
* @param {string} placeholder
|
|
15
|
+
* @param {string} replacementTexts If only one is given, this function replaces all placeholders with that single replacementText.
|
|
16
|
+
* If more are given, placeholders without a corresponding replacementText will remain their original placeholder characters.
|
|
17
|
+
*/
|
|
18
|
+
static ReplaceOccurrencesIn(source, placeholder, ...replacementTexts) {
|
|
19
|
+
// parameter guards
|
|
20
|
+
if (!(source)) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
if (!placeholder || replacementTexts.length === 0) {
|
|
24
|
+
return source;
|
|
25
|
+
}
|
|
26
|
+
let outString = source;
|
|
27
|
+
// one replacementText means replace for all
|
|
28
|
+
if (replacementTexts.length === 1) {
|
|
29
|
+
// "g" is the g flag to replace globally
|
|
30
|
+
outString = outString.replace(placeholder, replacementTexts[0]);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// replace occurence i by replacementTexts[i], one at a time in loop (there might be a faster way..)
|
|
34
|
+
for (let i = 0, len = replacementTexts.length; i < len; i++) {
|
|
35
|
+
outString = outString.replace(placeholder, replacementTexts[i]);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return outString;
|
|
39
|
+
}
|
|
40
|
+
// Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.
|
|
41
|
+
static ParseString(arg, defaultValue = "") {
|
|
42
|
+
if (!StringUtils.IsString(arg)) {
|
|
43
|
+
if (arg && typeof arg.toString === "function") {
|
|
44
|
+
arg = arg.toString();
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
arg = defaultValue;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return arg;
|
|
51
|
+
}
|
|
52
|
+
static IsString(str) {
|
|
53
|
+
return typeof str === 'string';
|
|
54
|
+
}
|
|
55
|
+
// Returns whether given str is a string and has a length > 0.
|
|
56
|
+
static IsStringWithLength(str) {
|
|
57
|
+
return str && StringUtils.IsString(str) && str.length > 0;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Example usage:
|
|
61
|
+
* str = 'File is to large to upload. Maximum file size is {0} Mb'
|
|
62
|
+
* format = [FileUtils.MaxUploadSizeInMb]
|
|
63
|
+
* output = File is to large to upload. Maximum file size is 3 Mb
|
|
64
|
+
*
|
|
65
|
+
* str = '{0} is way better than {1}'
|
|
66
|
+
* format = ['Angular2','Angular1']
|
|
67
|
+
* output = Angular2 is way better than Angular1
|
|
68
|
+
*
|
|
69
|
+
* @param str The string that contains {0} and {1} etc, for replacement by given format data
|
|
70
|
+
* @param format The format replacement data
|
|
71
|
+
* @returns {string}
|
|
72
|
+
*/
|
|
73
|
+
static Format(str, format) {
|
|
74
|
+
const args = Array.prototype.slice.call(format);
|
|
75
|
+
return str.replace(/{(\d+)}/g, function (match, number) {
|
|
76
|
+
return typeof args[number] !== "undefined" ? (args[number] !== null ? args[number] : "") : "";
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
// Returns a new string string with N amount of characters removed from the end of it.
|
|
80
|
+
static RemoveLastChars(str, amount) {
|
|
81
|
+
if (str) {
|
|
82
|
+
return str.slice(0, -1 * amount);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
return str;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Returns given string, escaped for use as string literal in regular expressions.
|
|
89
|
+
static _escapeRegExp(str) {
|
|
90
|
+
return str; // .replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^$\|]/g, "\\$&");
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3V0aWxzL3N0cmluZy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsTUFBTSxPQUFPLFdBQVc7SUFFdEI7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSSxNQUFNLENBQUMsb0JBQW9CLENBQUMsTUFBYyxFQUFFLFdBQW1CLEVBQUUsR0FBRyxnQkFBMEI7UUFDbkcsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2IsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxJQUFJLENBQUMsV0FBVyxJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDakQsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUNELElBQUksU0FBUyxHQUFXLE1BQU0sQ0FBQztRQUMvQiw0Q0FBNEM7UUFDNUMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2pDLHdDQUF3QztZQUN4QyxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqRTthQUFNO1lBQ0wsb0dBQW9HO1lBQ3BHLEtBQUssSUFBSSxDQUFDLEdBQVcsQ0FBQyxFQUFFLEdBQUcsR0FBVyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDM0UsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDakU7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCx5SEFBeUg7SUFDbEgsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFRLEVBQUUsZUFBdUIsRUFBRTtRQUMzRCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM5QixJQUFJLEdBQUcsSUFBSSxPQUFPLEdBQUcsQ0FBQyxRQUFRLEtBQUssVUFBVSxFQUFFO2dCQUM3QyxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3RCO2lCQUFNO2dCQUNMLEdBQUcsR0FBRyxZQUFZLENBQUM7YUFDcEI7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBUTtRQUM3QixPQUFPLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsOERBQThEO0lBQ3ZELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFXO1FBQzFDLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQVcsRUFBRSxNQUFhO1FBQzdDLE1BQU0sSUFBSSxHQUFRLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsS0FBVSxFQUFFLE1BQVc7WUFDOUQsT0FBTyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hHLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHNGQUFzRjtJQUMvRSxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVcsRUFBRSxNQUFjO1FBQ3ZELElBQUksR0FBRyxFQUFFO1lBQ1AsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztTQUNsQzthQUFNO1lBQ0wsT0FBTyxHQUFHLENBQUM7U0FDWjtJQUNILENBQUM7SUFFRCxrRkFBa0Y7SUFDMUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFXO1FBQ3RDLE9BQU8sR0FBRyxDQUFDLENBQUEsMERBQTBEO0lBQ3ZFLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFN0YXRpYyB1dGlsaXR5IGZ1bmN0aW9ucyBob2xkZXIgcmVsYXRlZCB0byBzdHJpbmdzLlxyXG5leHBvcnQgY2xhc3MgU3RyaW5nVXRpbHMge1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIGEgbmV3IHN0cmluZyB3aGVyZSBnaXZlbiBwbGFjZWhvbGRlciBpbiBnaXZlbiBzb3VyY2Ugc3RyaW5nIGFyZSByZXBsYWNlZCBieSBnaXZlbiByZXBsYWNlbWVudCB0ZXh0cy5cclxuICAgKlxyXG4gICAqIEV4YW1wbGUgdXNhZ2U6XHJcbiAgICpcclxuICAgKiBzb3VyY2UgPSBcIkFCQ0RBQkNEXCJcclxuICAgKiBwbGFjZWhvbGRlciA9IFwiQkNcIlxyXG4gICAqIHJlcGxhY2VtZW50VGV4dHMgPSBcIlpcIiwgXCJaXCIgKFJFU1QgYXJndW1lbnRzKVxyXG4gICAqIE9VVFBVVCA9IFwiQVpEQVpEXCJcclxuICAgKlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2VcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGxhY2Vob2xkZXJcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVwbGFjZW1lbnRUZXh0cyBJZiBvbmx5IG9uZSBpcyBnaXZlbiwgdGhpcyBmdW5jdGlvbiByZXBsYWNlcyBhbGwgcGxhY2Vob2xkZXJzIHdpdGggdGhhdCBzaW5nbGUgcmVwbGFjZW1lbnRUZXh0LlxyXG4gICAqIElmIG1vcmUgYXJlIGdpdmVuLCBwbGFjZWhvbGRlcnMgd2l0aG91dCBhIGNvcnJlc3BvbmRpbmcgcmVwbGFjZW1lbnRUZXh0IHdpbGwgcmVtYWluIHRoZWlyIG9yaWdpbmFsIHBsYWNlaG9sZGVyIGNoYXJhY3RlcnMuXHJcbiAgICovXHJcbiAgcHVibGljIHN0YXRpYyBSZXBsYWNlT2NjdXJyZW5jZXNJbihzb3VyY2U6IHN0cmluZywgcGxhY2Vob2xkZXI6IHN0cmluZywgLi4ucmVwbGFjZW1lbnRUZXh0czogc3RyaW5nW10pOiBzdHJpbmcge1xyXG4gICAgLy8gcGFyYW1ldGVyIGd1YXJkc1xyXG4gICAgaWYgKCEoc291cmNlKSkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgaWYgKCFwbGFjZWhvbGRlciB8fCByZXBsYWNlbWVudFRleHRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gc291cmNlO1xyXG4gICAgfVxyXG4gICAgbGV0IG91dFN0cmluZzogc3RyaW5nID0gc291cmNlO1xyXG4gICAgLy8gb25lIHJlcGxhY2VtZW50VGV4dCBtZWFucyByZXBsYWNlIGZvciBhbGxcclxuICAgIGlmIChyZXBsYWNlbWVudFRleHRzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAvLyBcImdcIiBpcyB0aGUgZyBmbGFnIHRvIHJlcGxhY2UgZ2xvYmFsbHlcclxuICAgICAgb3V0U3RyaW5nID0gb3V0U3RyaW5nLnJlcGxhY2UocGxhY2Vob2xkZXIsIHJlcGxhY2VtZW50VGV4dHNbMF0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gcmVwbGFjZSBvY2N1cmVuY2UgaSBieSByZXBsYWNlbWVudFRleHRzW2ldLCBvbmUgYXQgYSB0aW1lIGluIGxvb3AgKHRoZXJlIG1pZ2h0IGJlIGEgZmFzdGVyIHdheS4uKVxyXG4gICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwLCBsZW46IG51bWJlciA9IHJlcGxhY2VtZW50VGV4dHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICBvdXRTdHJpbmcgPSBvdXRTdHJpbmcucmVwbGFjZShwbGFjZWhvbGRlciwgcmVwbGFjZW1lbnRUZXh0c1tpXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBvdXRTdHJpbmc7XHJcbiAgfVxyXG5cclxuICAvLyBSZXR1cm5zIHRoZSBnaXZlbiBhcmd1bWVudCBhcyBhIHN0cmluZy4gUmV0dXJucyBnaXZlbiBkZWZhdWx0VmFsdWUgaWYgY29udmVyc2lvbiBvZiBhcmd1bWVudCB0byBzdHJpbmcgd2FzIGltcG9zc2libGUuXHJcbiAgcHVibGljIHN0YXRpYyBQYXJzZVN0cmluZyhhcmc6IGFueSwgZGVmYXVsdFZhbHVlOiBzdHJpbmcgPSBcIlwiKTogc3RyaW5nIHtcclxuICAgIGlmICghU3RyaW5nVXRpbHMuSXNTdHJpbmcoYXJnKSkge1xyXG4gICAgICBpZiAoYXJnICYmIHR5cGVvZiBhcmcudG9TdHJpbmcgPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgIGFyZyA9IGFyZy50b1N0cmluZygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGFyZyA9IGRlZmF1bHRWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFyZztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgSXNTdHJpbmcoc3RyOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2Ygc3RyID09PSAnc3RyaW5nJztcclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgd2hldGhlciBnaXZlbiBzdHIgaXMgYSBzdHJpbmcgYW5kIGhhcyBhIGxlbmd0aCA+IDAuXHJcbiAgcHVibGljIHN0YXRpYyBJc1N0cmluZ1dpdGhMZW5ndGgoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBzdHIgJiYgU3RyaW5nVXRpbHMuSXNTdHJpbmcoc3RyKSAmJiBzdHIubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4YW1wbGUgdXNhZ2U6XHJcbiAgICogc3RyID0gJ0ZpbGUgaXMgdG8gbGFyZ2UgdG8gdXBsb2FkLiBNYXhpbXVtIGZpbGUgc2l6ZSBpcyB7MH0gTWInXHJcbiAgICogZm9ybWF0ID0gW0ZpbGVVdGlscy5NYXhVcGxvYWRTaXplSW5NYl1cclxuICAgKiBvdXRwdXQgPSBGaWxlIGlzIHRvIGxhcmdlIHRvIHVwbG9hZC4gTWF4aW11bSBmaWxlIHNpemUgaXMgMyBNYlxyXG4gICAqXHJcbiAgICogc3RyID0gJ3swfSBpcyB3YXkgYmV0dGVyIHRoYW4gezF9J1xyXG4gICAqIGZvcm1hdCA9IFsnQW5ndWxhcjInLCdBbmd1bGFyMSddXHJcbiAgICogb3V0cHV0ID0gQW5ndWxhcjIgaXMgd2F5IGJldHRlciB0aGFuIEFuZ3VsYXIxXHJcbiAgICpcclxuICAgKiBAcGFyYW0gc3RyIFRoZSBzdHJpbmcgdGhhdCBjb250YWlucyB7MH0gYW5kIHsxfSBldGMsIGZvciByZXBsYWNlbWVudCBieSBnaXZlbiBmb3JtYXQgZGF0YVxyXG4gICAqIEBwYXJhbSBmb3JtYXQgVGhlIGZvcm1hdCByZXBsYWNlbWVudCBkYXRhXHJcbiAgICogQHJldHVybnMge3N0cmluZ31cclxuICAgKi9cclxuICBwdWJsaWMgc3RhdGljIEZvcm1hdChzdHI6IHN0cmluZywgZm9ybWF0OiBhbnlbXSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBhcmdzOiBhbnkgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChmb3JtYXQpO1xyXG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC97KFxcZCspfS9nLCBmdW5jdGlvbiAobWF0Y2g6IGFueSwgbnVtYmVyOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgICByZXR1cm4gdHlwZW9mIGFyZ3NbbnVtYmVyXSAhPT0gXCJ1bmRlZmluZWRcIiA/IChhcmdzW251bWJlcl0gIT09IG51bGwgPyBhcmdzW251bWJlcl0gOiBcIlwiKSA6IFwiXCI7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIFJldHVybnMgYSBuZXcgc3RyaW5nIHN0cmluZyB3aXRoIE4gYW1vdW50IG9mIGNoYXJhY3RlcnMgcmVtb3ZlZCBmcm9tIHRoZSBlbmQgb2YgaXQuXHJcbiAgcHVibGljIHN0YXRpYyBSZW1vdmVMYXN0Q2hhcnMoc3RyOiBzdHJpbmcsIGFtb3VudDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmIChzdHIpIHtcclxuICAgICAgcmV0dXJuIHN0ci5zbGljZSgwLCAtMSAqIGFtb3VudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUmV0dXJucyBnaXZlbiBzdHJpbmcsIGVzY2FwZWQgZm9yIHVzZSBhcyBzdHJpbmcgbGl0ZXJhbCBpbiByZWd1bGFyIGV4cHJlc3Npb25zLlxyXG4gIHByaXZhdGUgc3RhdGljIF9lc2NhcGVSZWdFeHAoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHN0cjsvLyAucmVwbGFjZSgvW1xcLVxcW1xcXVxcL1xce1xcfVxcKFxcKVxcKlxcK1xcP1xcLlxcXFxcXF4kXFx8XS9nLCBcIlxcXFwkJlwiKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of sharedcomponents
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/components/docsign/docsign.component';
|
|
5
|
+
export * from './lib/components/docsign/docsign.module';
|
|
6
|
+
export * from './lib/components/stock/stock.component';
|
|
7
|
+
export * from './lib/components/stock/stock.module';
|
|
8
|
+
export * from './lib/components/stock/localization/translation';
|
|
9
|
+
export * from './lib/components/send-method-dialog/send-method-dialog.component';
|
|
10
|
+
export * from './lib/components/send-method-dialog/send-method-dialog.module';
|
|
11
|
+
export * from './lib/components/key-pad/key-pad.component';
|
|
12
|
+
export * from './lib/components/key-pad/key-pad.module';
|
|
13
|
+
export * from './lib/components/layout-switcher/layout-switcher.component';
|
|
14
|
+
export * from './lib/components/layout-switcher/layout-switcher.module';
|
|
15
|
+
export * from './lib/components/linear-gauge/co-linear-gauge.component';
|
|
16
|
+
export * from './lib/components/linear-gauge/co-linear-gauge.module';
|
|
17
|
+
export * from './lib/components/statusbar/statusbar.component';
|
|
18
|
+
export * from './lib/components/statusbar/statusbar.module';
|
|
19
|
+
export * from './lib/components/date-planning/date-planning.component';
|
|
20
|
+
export * from './lib/components/date-planning/date-planning.module';
|
|
21
|
+
export * from './lib/components/simple-tags/simple-tags.component';
|
|
22
|
+
export * from './lib/components/simple-tags/simple-tags.module';
|
|
23
|
+
export * from './lib/components/files-upload/files-upload.component';
|
|
24
|
+
export * from './lib/components/files-upload/files-upload.module';
|
|
25
|
+
export * from './lib/components/activity-list/activity-list.component';
|
|
26
|
+
export * from './lib/components/activity-list/activity-list.module';
|
|
27
|
+
export * from './lib/service/shared.service';
|
|
28
|
+
export * from './lib/enum/calendar-view.enum';
|
|
29
|
+
export * from './lib/model/agenda-event-per-day.model';
|
|
30
|
+
export * from './lib/model/agenda-event.model';
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzaGFyZWRjb21wb25lbnRzXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kb2NzaWduL2RvY3NpZ24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kb2NzaWduL2RvY3NpZ24ubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdG9jay9zdG9jay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N0b2NrL3N0b2NrLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RvY2svbG9jYWxpemF0aW9uL3RyYW5zbGF0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvc2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL3NlbmQtbWV0aG9kLWRpYWxvZy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2tleS1wYWQva2V5LXBhZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2tleS1wYWQva2V5LXBhZC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xheW91dC1zd2l0Y2hlci9sYXlvdXQtc3dpdGNoZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXlvdXQtc3dpdGNoZXIvbGF5b3V0LXN3aXRjaGVyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGluZWFyLWdhdWdlL2NvLWxpbmVhci1nYXVnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xpbmVhci1nYXVnZS9jby1saW5lYXItZ2F1Z2UubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdGF0dXNiYXIvc3RhdHVzYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3RhdHVzYmFyL3N0YXR1c2Jhci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvZGF0ZS1wbGFubmluZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGUtcGxhbm5pbmcvZGF0ZS1wbGFubmluZy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NpbXBsZS10YWdzL3NpbXBsZS10YWdzLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2ltcGxlLXRhZ3Mvc2ltcGxlLXRhZ3MubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9maWxlcy11cGxvYWQvZmlsZXMtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmlsZXMtdXBsb2FkL2ZpbGVzLXVwbG9hZC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LWxpc3QvYWN0aXZpdHktbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FjdGl2aXR5LWxpc3QvYWN0aXZpdHktbGlzdC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL3NoYXJlZC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW51bS9jYWxlbmRhci12aWV3LmVudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbC9hZ2VuZGEtZXZlbnQtcGVyLWRheS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsL2FnZW5kYS1ldmVudC5tb2RlbCc7XHJcbiJdfQ==
|