nira-falcon 0.1.22 → 0.1.24
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/ng-package.json +7 -0
- package/package copy.json +13 -0
- package/package.json +13 -26
- package/src/assets/images/hub-dashboard-title-bg.png +0 -0
- package/src/assets/images/iran.png +0 -0
- package/src/environments/environment.ts +7 -0
- package/src/lib/core-auto-complete/core-auto-complete.component.html +30 -0
- package/src/lib/core-auto-complete/core-auto-complete.component.scss +89 -0
- package/src/lib/core-auto-complete/core-auto-complete.component.ts +92 -0
- package/src/lib/core-btn/core-btn-bluebird.component.html +21 -0
- package/src/lib/core-btn/core-btn-bluebird.component.scss +123 -0
- package/src/lib/core-btn/core-btn-falcon.component.html +20 -0
- package/src/lib/core-btn/core-btn-falcon.component.scss +115 -0
- package/src/lib/core-btn/core-btn.component.ts +54 -0
- package/src/lib/core-card/core-card.component.html +3 -0
- package/src/lib/core-card/core-card.component.scss +0 -0
- package/src/lib/core-card/core-card.component.ts +10 -0
- package/src/lib/core-checkbox/core-checkbox.component.html +9 -0
- package/src/lib/core-checkbox/core-checkbox.component.scss +60 -0
- package/src/lib/core-checkbox/core-checkbox.component.ts +19 -0
- package/src/lib/core-confirm-dialog/core-confirm-dialog.component.html +28 -0
- package/src/lib/core-confirm-dialog/core-confirm-dialog.component.scss +131 -0
- package/src/lib/core-confirm-dialog/core-confirm-dialog.component.ts +29 -0
- package/src/lib/core-date-picker/core-date-picker-bluebird.component.html +15 -0
- package/src/lib/core-date-picker/core-date-picker-bluebird.component.scss +0 -0
- package/src/lib/core-date-picker/core-date-picker-falcon.component.html +14 -0
- package/src/lib/core-date-picker/core-date-picker-falcon.component.scss +0 -0
- package/src/lib/core-date-picker/core-date-picker.component.ts +44 -0
- package/src/lib/core-input/core-input-bluebird.component.html +95 -0
- package/src/lib/core-input/core-input-bluebird.component.scss +152 -0
- package/src/lib/core-input/core-input-falcon.component.html +90 -0
- package/src/lib/core-input/core-input-falcon.component.scss +141 -0
- package/src/lib/core-input/core-input.component.ts +112 -0
- package/src/lib/core-multi-select/core-multi-select-row/core-multi-select-row.component.html +3 -0
- package/src/lib/core-multi-select/core-multi-select-row/core-multi-select-row.component.scss +15 -0
- package/src/lib/core-multi-select/core-multi-select-row/core-multi-select-row.component.ts +19 -0
- package/src/lib/core-multi-select/core-multi-select.component.html +41 -0
- package/src/lib/core-multi-select/core-multi-select.component.scss +119 -0
- package/src/lib/core-multi-select/core-multi-select.component.ts +139 -0
- package/src/lib/core-number/core-number.component.html +3 -0
- package/src/lib/core-number/core-number.component.scss +1 -0
- package/src/lib/core-number/core-number.component.ts +45 -0
- package/src/lib/core-page-title/core-page-title.component.html +14 -0
- package/src/lib/core-page-title/core-page-title.component.scss +16 -0
- package/src/lib/core-page-title/core-page-title.component.ts +11 -0
- package/src/lib/core-radio-buttons/core-radio-buttons.component.html +17 -0
- package/src/lib/core-radio-buttons/core-radio-buttons.component.scss +46 -0
- package/src/lib/core-radio-buttons/core-radio-buttons.component.spec.ts +21 -0
- package/src/lib/core-radio-buttons/core-radio-buttons.component.ts +64 -0
- package/src/lib/core-search-box/core-search-box.component.html +14 -0
- package/src/lib/core-search-box/core-search-box.component.scss +37 -0
- package/src/lib/core-search-box/core-search-box.component.ts +15 -0
- package/src/lib/core-select/core-select-bluebird.component.html +57 -0
- package/src/lib/core-select/core-select-bluebird.component.scss +129 -0
- package/src/lib/core-select/core-select-falcon.component.html +56 -0
- package/src/lib/core-select/core-select-falcon.component.scss +123 -0
- package/src/lib/core-select/core-select.component.spec.ts +21 -0
- package/src/lib/core-select/core-select.component.ts +93 -0
- package/src/lib/core-spinner/core-spinner.component.html +14 -0
- package/src/lib/core-spinner/core-spinner.component.scss +162 -0
- package/src/lib/core-spinner/core-spinner.component.ts +13 -0
- package/src/lib/core-switch/core-switch.component.html +13 -0
- package/src/lib/core-switch/core-switch.component.scss +58 -0
- package/src/lib/core-switch/core-switch.component.spec.ts +21 -0
- package/src/lib/core-switch/core-switch.component.ts +28 -0
- package/src/lib/core-table/core-column-date-picker/core-column-date-picker.component.html +21 -0
- package/src/lib/core-table/core-column-date-picker/core-column-date-picker.component.scss +3 -0
- package/src/lib/core-table/core-column-date-picker/core-column-date-picker.component.ts +55 -0
- package/src/lib/core-table/core-column-input/core-column-input.component.html +17 -0
- package/src/lib/core-table/core-column-input/core-column-input.component.scss +21 -0
- package/src/lib/core-table/core-column-input/core-column-input.component.ts +23 -0
- package/src/lib/core-table/core-column-selector/core-column-selector.component.html +47 -0
- package/src/lib/core-table/core-column-selector/core-column-selector.component.scss +113 -0
- package/src/lib/core-table/core-column-selector/core-column-selector.component.ts +94 -0
- package/src/lib/core-table/core-row-pelak/core-row-pelak.component.html +12 -0
- package/src/lib/core-table/core-row-pelak/core-row-pelak.component.scss +21 -0
- package/src/lib/core-table/core-row-pelak/core-row-pelak.component.ts +12 -0
- package/src/lib/core-table/core-table/core-table.component.html +168 -0
- package/src/lib/core-table/core-table/core-table.component.scss +65 -0
- package/src/lib/core-table/core-table/core-table.component.ts +179 -0
- package/src/lib/core-table/core-table-action-buttons-column/core-table-action-buttons-column.component.html +10 -0
- package/src/lib/core-table/core-table-action-buttons-column/core-table-action-buttons-column.component.scss +3 -0
- package/src/lib/core-table/core-table-action-buttons-column/core-table-action-buttons-column.component.ts +24 -0
- package/src/lib/core-table/core-table-action-column/core-table-action-column.component.html +6 -0
- package/src/lib/core-table/core-table-action-column/core-table-action-column.component.scss +3 -0
- package/src/lib/core-table/core-table-action-column/core-table-action-column.component.ts +19 -0
- package/src/lib/core-table/core-table-card-manager/core-table-card-manager.component.html +94 -0
- package/src/lib/core-table/core-table-card-manager/core-table-card-manager.component.scss +0 -0
- package/src/lib/core-table/core-table-card-manager/core-table-card-manager.component.ts +58 -0
- package/src/lib/core-table/core-table-column-manager/core-table-column-manager.component.html +99 -0
- package/src/lib/core-table/core-table-column-manager/core-table-column-manager.component.scss +0 -0
- package/src/lib/core-table/core-table-column-manager/core-table-column-manager.component.ts +59 -0
- package/src/lib/core-table/core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component.html +5 -0
- package/src/lib/core-table/core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component.scss +8 -0
- package/src/lib/core-table/core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component.ts +28 -0
- package/src/lib/core-table/core-table-filter-dialog/core-table-filter-dialog/core-table-filter-dialog.component.html +24 -0
- package/src/lib/core-table/core-table-filter-dialog/core-table-filter-dialog/core-table-filter-dialog.component.scss +10 -0
- package/src/lib/core-table/core-table-filter-dialog/core-table-filter-dialog/core-table-filter-dialog.component.ts +76 -0
- package/src/lib/core-table/core-table-no-content/core-table-no-content.component.html +6 -0
- package/src/lib/core-table/core-table-no-content/core-table-no-content.component.scss +7 -0
- package/src/lib/core-table/core-table-no-content/core-table-no-content.component.ts +14 -0
- package/src/lib/core-table/core-table-no-content/core-table-no-content.label.ts +14 -0
- package/src/lib/core-table/core-table-row-selector-column/core-table-row-selector-column.component.html +5 -0
- package/src/lib/core-table/core-table-row-selector-column/core-table-row-selector-column.component.scss +0 -0
- package/src/lib/core-table/core-table-row-selector-column/core-table-row-selector-column.component.ts +60 -0
- package/src/lib/core-table/core-table-shamsi-date/core-table-shamsi-date.component.html +3 -0
- package/src/lib/core-table/core-table-shamsi-date/core-table-shamsi-date.component.scss +0 -0
- package/src/lib/core-table/core-table-shamsi-date/core-table-shamsi-date.component.ts +24 -0
- package/src/lib/core-table/core-table-status-active-column/core-table-status-active-column.component.html +3 -0
- package/src/lib/core-table/core-table-status-active-column/core-table-status-active-column.component.scss +14 -0
- package/src/lib/core-table/core-table-status-active-column/core-table-status-active-column.component.ts +14 -0
- package/src/lib/core-table/core-table-status-column/core-table-status-column.component.html +3 -0
- package/src/lib/core-table/core-table-status-column/core-table-status-column.component.scss +14 -0
- package/src/lib/core-table/core-table-status-column/core-table-status-column.component.ts +11 -0
- package/src/lib/core-textarea/core-textarea.component.html +18 -0
- package/src/lib/core-textarea/core-textarea.component.scss +62 -0
- package/src/lib/core-textarea/core-textarea.component.ts +31 -0
- package/src/lib/core-time-picker/core-time-picker.component.html +51 -0
- package/src/lib/core-time-picker/core-time-picker.component.scss +144 -0
- package/src/lib/core-time-picker/core-time-picker.component.ts +102 -0
- package/src/lib/core-time-picker/time-picker-modal/time-picker-modal.component.html +50 -0
- package/src/lib/core-time-picker/time-picker-modal/time-picker-modal.component.scss +424 -0
- package/src/lib/core-time-picker/time-picker-modal/time-picker-modal.component.spec.ts +21 -0
- package/src/lib/core-time-picker/time-picker-modal/time-picker-modal.component.ts +172 -0
- package/src/lib/falcon-lib.module.ts +157 -0
- package/src/lib/falconTypes.ts +35 -0
- package/src/lib/pipes/digit-group.pipe.ts +10 -0
- package/src/lib/pipes/form-control.pipe.ts +11 -0
- package/src/lib/pipes/persian-digits.pipe.ts +33 -0
- package/src/lib/pipes/price-format.pipe.ts +20 -0
- package/src/lib/pipes/shamsi-date.pipe.ts +24 -0
- package/src/lib/pipes/time-format.pipe.ts +21 -0
- package/src/lib/pipes/weight.pipe.ts +10 -0
- package/src/lib/wordify.ts +116 -0
- package/{public-api.d.ts → src/public-api.ts} +31 -27
- package/src/svg-icon/arrow-down-icon/arrow-down-icon.component.html +8 -0
- package/src/svg-icon/arrow-down-icon/arrow-down-icon.component.scss +0 -0
- package/src/svg-icon/arrow-down-icon/arrow-down-icon.component.ts +8 -0
- package/src/svg-icon/calendar-icon/calendar-icon.component.html +10 -0
- package/src/svg-icon/calendar-icon/calendar-icon.component.scss +0 -0
- package/src/svg-icon/calendar-icon/calendar-icon.component.ts +8 -0
- package/src/svg-icon/caret-up-icon/caret-up-icon.component.html +16 -0
- package/src/svg-icon/caret-up-icon/caret-up-icon.component.scss +0 -0
- package/src/svg-icon/caret-up-icon/caret-up-icon.component.ts +10 -0
- package/src/svg-icon/close-icon/close-icon.component.html +10 -0
- package/src/svg-icon/close-icon/close-icon.component.scss +0 -0
- package/src/svg-icon/close-icon/close-icon.component.ts +8 -0
- package/src/svg-icon/edit-square-icon/edit-square-icon.component.html +10 -0
- package/src/svg-icon/edit-square-icon/edit-square-icon.component.scss +0 -0
- package/src/svg-icon/edit-square-icon/edit-square-icon.component.ts +8 -0
- package/src/svg-icon/pelak-icon/pelak-icon.component.html +32 -0
- package/src/svg-icon/pelak-icon/pelak-icon.component.scss +0 -0
- package/src/svg-icon/pelak-icon/pelak-icon.component.ts +8 -0
- package/src/svg-icon/search-icon/search-icon.component.html +10 -0
- package/src/svg-icon/search-icon/search-icon.component.scss +0 -0
- package/src/svg-icon/search-icon/search-icon.component.spec.ts +21 -0
- package/src/svg-icon/search-icon/search-icon.component.ts +8 -0
- package/src/svg-icon/sort-down-icon/sort-down-icon.component.html +5 -0
- package/src/svg-icon/sort-down-icon/sort-down-icon.component.scss +0 -0
- package/src/svg-icon/sort-down-icon/sort-down-icon.component.ts +10 -0
- package/src/svg-icon/sort-solid-icon/sort-solid-icon.component.html +5 -0
- package/src/svg-icon/sort-solid-icon/sort-solid-icon.component.scss +0 -0
- package/src/svg-icon/sort-solid-icon/sort-solid-icon.component.ts +8 -0
- package/src/svg-icon/sort-up-icon/sort-up-icon.component.html +5 -0
- package/src/svg-icon/sort-up-icon/sort-up-icon.component.scss +0 -0
- package/src/svg-icon/sort-up-icon/sort-up-icon.component.ts +8 -0
- package/src/svg-icon/time-icon/time-icon.component.html +10 -0
- package/src/svg-icon/time-icon/time-icon.component.scss +0 -0
- package/src/svg-icon/time-icon/time-icon.component.ts +8 -0
- package/src/svg-icon/warning-icon/warning-icon.component.html +10 -0
- package/src/svg-icon/warning-icon/warning-icon.component.scss +0 -0
- package/src/svg-icon/warning-icon/warning-icon.component.ts +10 -0
- package/src/utils/constants.ts +182 -0
- package/src/utils/directives/detail-viewer-manager.directive.ts +78 -0
- package/src/utils/directives/filterTableDirective.ts +36 -0
- package/src/utils/directives/table-detail-viewer-manager.directive.ts +57 -0
- package/src/utils/interfaces.ts +0 -0
- package/src/utils/jsonparser.ts +49 -0
- package/src/utils/links.ts +67 -0
- package/src/utils/toast.ts +35 -0
- package/src/utils/types.ts +20 -0
- package/src/utils/util.ts +32 -0
- package/tsconfig.lib.json +14 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/environments/environment.d.ts +0 -4
- package/esm2022/environments/environment.mjs +0 -7
- package/esm2022/lib/core-auto-complete/core-auto-complete.component.mjs +0 -82
- package/esm2022/lib/core-btn/core-btn.component.mjs +0 -68
- package/esm2022/lib/core-card/core-card.component.mjs +0 -16
- package/esm2022/lib/core-checkbox/core-checkbox.component.mjs +0 -33
- package/esm2022/lib/core-confirm-dialog/core-confirm-dialog.component.mjs +0 -31
- package/esm2022/lib/core-date-picker/core-date-picker.component.mjs +0 -46
- package/esm2022/lib/core-input/core-input.component.mjs +0 -132
- package/esm2022/lib/core-mulite-select/core-mulite-select-row/core-mulite-select-row.component.mjs +0 -29
- package/esm2022/lib/core-mulite-select/core-mulite-select.component.mjs +0 -130
- package/esm2022/lib/core-number/core-number.component.mjs +0 -64
- package/esm2022/lib/core-page-title/core-page-title.component.mjs +0 -19
- package/esm2022/lib/core-radio-buttons/core-radio-buttons.component.mjs +0 -75
- package/esm2022/lib/core-search-box/core-search-box.component.mjs +0 -25
- package/esm2022/lib/core-select/core-select.component.mjs +0 -91
- package/esm2022/lib/core-spinner/core-spinner.component.mjs +0 -23
- package/esm2022/lib/core-switch/core-switch.component.mjs +0 -33
- package/esm2022/lib/core-table/core-column-date-picker/core-column-date-picker.component.mjs +0 -62
- package/esm2022/lib/core-table/core-column-input/core-column-input.component.mjs +0 -37
- package/esm2022/lib/core-table/core-column-selector/core-column-selector.component.mjs +0 -99
- package/esm2022/lib/core-table/core-row-pelak/core-row-pelak.component.mjs +0 -21
- package/esm2022/lib/core-table/core-table/core-table.component.mjs +0 -182
- package/esm2022/lib/core-table/core-table-action-buttons-column/core-table-action-buttons-column.component.mjs +0 -34
- package/esm2022/lib/core-table/core-table-action-column/core-table-action-column.component.mjs +0 -27
- package/esm2022/lib/core-table/core-table-card-manager/core-table-card-manager.component.mjs +0 -83
- package/esm2022/lib/core-table/core-table-column-manager/core-table-column-manager.component.mjs +0 -85
- package/esm2022/lib/core-table/core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component.mjs +0 -29
- package/esm2022/lib/core-table/core-table-filter-dialog/core-table-filter-dialog/core-table-filter-dialog.component.mjs +0 -82
- package/esm2022/lib/core-table/core-table-no-content/core-table-no-content.component.mjs +0 -23
- package/esm2022/lib/core-table/core-table-no-content/core-table-no-content.label.mjs +0 -9
- package/esm2022/lib/core-table/core-table-row-selector-column/core-table-row-selector-column.component.mjs +0 -68
- package/esm2022/lib/core-table/core-table-shamsi-date/core-table-shamsi-date.component.mjs +0 -34
- package/esm2022/lib/core-table/core-table-status-active-column/core-table-status-active-column.component.mjs +0 -20
- package/esm2022/lib/core-table/core-table-status-column/core-table-status-column.component.mjs +0 -18
- package/esm2022/lib/core-textarea/core-textarea.component.mjs +0 -47
- package/esm2022/lib/core-time-picker/core-time-picker.component.mjs +0 -118
- package/esm2022/lib/core-time-picker/time-picker-modal/time-picker-modal.component.mjs +0 -147
- package/esm2022/lib/falcon-lib.module.mjs +0 -246
- package/esm2022/lib/falconTypes.mjs +0 -9
- package/esm2022/lib/pipes/digit-group.pipe.mjs +0 -16
- package/esm2022/lib/pipes/form-control.pipe.mjs +0 -16
- package/esm2022/lib/pipes/persian-digits.pipe.mjs +0 -40
- package/esm2022/lib/pipes/price-format.pipe.mjs +0 -23
- package/esm2022/lib/pipes/shamsi-date.pipe.mjs +0 -24
- package/esm2022/lib/pipes/time-format.pipe.mjs +0 -28
- package/esm2022/lib/pipes/weight.pipe.mjs +0 -16
- package/esm2022/lib/wordify.mjs +0 -109
- package/esm2022/nira-falcon.mjs +0 -5
- package/esm2022/public-api.mjs +0 -31
- package/esm2022/svg-icon/caret-up-icon/caret-up-icon.component.mjs +0 -11
- package/esm2022/svg-icon/close-icon/close-icon.component.mjs +0 -11
- package/esm2022/svg-icon/edit-square-icon/edit-square-icon.component.mjs +0 -11
- package/esm2022/svg-icon/pelak-icon/pelak-icon.component.mjs +0 -11
- package/esm2022/svg-icon/search-icon/search-icon.component.mjs +0 -11
- package/esm2022/svg-icon/sort-down-icon/sort-down-icon.component.mjs +0 -11
- package/esm2022/svg-icon/sort-solid-icon/sort-solid-icon.component.mjs +0 -11
- package/esm2022/svg-icon/sort-up-icon/sort-up-icon.component.mjs +0 -11
- package/esm2022/svg-icon/time-icon/time-icon.component.mjs +0 -11
- package/esm2022/svg-icon/warning-icon/warning-icon.component.mjs +0 -11
- package/esm2022/utils/constants.mjs +0 -184
- package/esm2022/utils/directives/detail-viewer-manager.directive.mjs +0 -71
- package/esm2022/utils/directives/table-detail-viewer-manager.directive.mjs +0 -49
- package/esm2022/utils/util.mjs +0 -26
- package/fesm2022/nira-falcon.mjs +0 -2831
- package/fesm2022/nira-falcon.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/core-auto-complete/core-auto-complete.component.d.ts +0 -30
- package/lib/core-btn/core-btn.component.d.ts +0 -22
- package/lib/core-card/core-card.component.d.ts +0 -6
- package/lib/core-checkbox/core-checkbox.component.d.ts +0 -13
- package/lib/core-confirm-dialog/core-confirm-dialog.component.d.ts +0 -14
- package/lib/core-date-picker/core-date-picker.component.d.ts +0 -20
- package/lib/core-input/core-input.component.d.ts +0 -28
- package/lib/core-mulite-select/core-mulite-select-row/core-mulite-select-row.component.d.ts +0 -11
- package/lib/core-mulite-select/core-mulite-select.component.d.ts +0 -42
- package/lib/core-number/core-number.component.d.ts +0 -12
- package/lib/core-page-title/core-page-title.component.d.ts +0 -7
- package/lib/core-radio-buttons/core-radio-buttons.component.d.ts +0 -29
- package/lib/core-search-box/core-search-box.component.d.ts +0 -10
- package/lib/core-select/core-select.component.d.ts +0 -36
- package/lib/core-spinner/core-spinner.component.d.ts +0 -9
- package/lib/core-switch/core-switch.component.d.ts +0 -17
- package/lib/core-table/core-column-date-picker/core-column-date-picker.component.d.ts +0 -21
- package/lib/core-table/core-column-input/core-column-input.component.d.ts +0 -15
- package/lib/core-table/core-column-selector/core-column-selector.component.d.ts +0 -35
- package/lib/core-table/core-row-pelak/core-row-pelak.component.d.ts +0 -8
- package/lib/core-table/core-table/core-table.component.d.ts +0 -42
- package/lib/core-table/core-table-action-buttons-column/core-table-action-buttons-column.component.d.ts +0 -11
- package/lib/core-table/core-table-action-column/core-table-action-column.component.d.ts +0 -11
- package/lib/core-table/core-table-card-manager/core-table-card-manager.component.d.ts +0 -24
- package/lib/core-table/core-table-column-manager/core-table-column-manager.component.d.ts +0 -24
- package/lib/core-table/core-table-detail-viewer-for-report/core-table-detail-viewer-for-report.component.d.ts +0 -11
- package/lib/core-table/core-table-filter-dialog/core-table-filter-dialog/core-table-filter-dialog.component.d.ts +0 -22
- package/lib/core-table/core-table-no-content/core-table-no-content.component.d.ts +0 -9
- package/lib/core-table/core-table-no-content/core-table-no-content.label.d.ts +0 -5
- package/lib/core-table/core-table-row-selector-column/core-table-row-selector-column.component.d.ts +0 -14
- package/lib/core-table/core-table-shamsi-date/core-table-shamsi-date.component.d.ts +0 -13
- package/lib/core-table/core-table-status-active-column/core-table-status-active-column.component.d.ts +0 -8
- package/lib/core-table/core-table-status-column/core-table-status-column.component.d.ts +0 -7
- package/lib/core-textarea/core-textarea.component.d.ts +0 -13
- package/lib/core-time-picker/core-time-picker.component.d.ts +0 -26
- package/lib/core-time-picker/time-picker-modal/time-picker-modal.component.d.ts +0 -35
- package/lib/falcon-lib.module.d.ts +0 -64
- package/lib/falconTypes.d.ts +0 -23
- package/lib/pipes/digit-group.pipe.d.ts +0 -7
- package/lib/pipes/form-control.pipe.d.ts +0 -8
- package/lib/pipes/persian-digits.pipe.d.ts +0 -7
- package/lib/pipes/price-format.pipe.d.ts +0 -7
- package/lib/pipes/shamsi-date.pipe.d.ts +0 -9
- package/lib/pipes/time-format.pipe.d.ts +0 -7
- package/lib/pipes/weight.pipe.d.ts +0 -7
- package/lib/wordify.d.ts +0 -2
- package/svg-icon/caret-up-icon/caret-up-icon.component.d.ts +0 -5
- package/svg-icon/close-icon/close-icon.component.d.ts +0 -5
- package/svg-icon/edit-square-icon/edit-square-icon.component.d.ts +0 -5
- package/svg-icon/pelak-icon/pelak-icon.component.d.ts +0 -5
- package/svg-icon/search-icon/search-icon.component.d.ts +0 -5
- package/svg-icon/sort-down-icon/sort-down-icon.component.d.ts +0 -5
- package/svg-icon/sort-solid-icon/sort-solid-icon.component.d.ts +0 -5
- package/svg-icon/sort-up-icon/sort-up-icon.component.d.ts +0 -5
- package/svg-icon/time-icon/time-icon.component.d.ts +0 -5
- package/svg-icon/warning-icon/warning-icon.component.d.ts +0 -5
- package/utils/constants.d.ts +0 -70
- package/utils/directives/detail-viewer-manager.directive.d.ts +0 -18
- package/utils/directives/table-detail-viewer-manager.directive.d.ts +0 -16
- package/utils/util.d.ts +0 -11
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
.container {
|
|
2
|
+
position: relative;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
input:focus {
|
|
6
|
+
border: 2px solid blue;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
input {
|
|
10
|
+
border: 1px solid #ced4da;
|
|
11
|
+
border-radius: 0.25rem;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.highlight-background {
|
|
15
|
+
background-color: #dcf6ff !important;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.icon-style {
|
|
19
|
+
position: absolute;
|
|
20
|
+
right: 16px;
|
|
21
|
+
top: 16px;
|
|
22
|
+
cursor: pointer;
|
|
23
|
+
font-size: 16px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.icon-style-email {
|
|
27
|
+
position: absolute;
|
|
28
|
+
right: 16px;
|
|
29
|
+
top: 16px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.a-input-style {
|
|
33
|
+
height: 42px;
|
|
34
|
+
width: 100%;
|
|
35
|
+
padding: 16px;
|
|
36
|
+
outline: none;
|
|
37
|
+
caret-color: rgba(2, 2, 2, 0.7);
|
|
38
|
+
background-color: rgba(242, 244, 247, 0.15);
|
|
39
|
+
color: rgba(0, 0, 0, 0.7);
|
|
40
|
+
box-sizing: border-box;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.a-input-style:focus {
|
|
44
|
+
background-color: rgba(242, 244, 247, 0.05);
|
|
45
|
+
border-radius: 3px;
|
|
46
|
+
border: 1px solid rgba(19, 92, 175, 0.397);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.a-input-style::placeholder {
|
|
50
|
+
height: 15px;
|
|
51
|
+
font-style: normal;
|
|
52
|
+
font-weight: normal;
|
|
53
|
+
font-size: 12px;
|
|
54
|
+
line-height: 15px;
|
|
55
|
+
letter-spacing: -0.03em;
|
|
56
|
+
color: rgba(194, 194, 194, 0.7);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
input:-webkit-autofill,
|
|
60
|
+
input:-webkit-autofill:hover,
|
|
61
|
+
input:-webkit-autofill:focus {
|
|
62
|
+
-webkit-text-fill-color: #ffffff00;
|
|
63
|
+
&.have-value {
|
|
64
|
+
-webkit-text-fill-color: #181818 !important;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* Chrome, Safari, Edge, Opera */
|
|
69
|
+
input::-webkit-outer-spin-button,
|
|
70
|
+
input::-webkit-inner-spin-button {
|
|
71
|
+
-webkit-appearance: none;
|
|
72
|
+
margin: 0;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/* Firefox */
|
|
76
|
+
input[type="number"] {
|
|
77
|
+
-moz-appearance: textfield;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.label-error {
|
|
81
|
+
color: red;
|
|
82
|
+
font-size: 13px;
|
|
83
|
+
margin-block-start: 4px;
|
|
84
|
+
min-height: 21px;
|
|
85
|
+
width: 100%;
|
|
86
|
+
display: inline-block !important;
|
|
87
|
+
text-align: start;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.label-number {
|
|
91
|
+
color: #6a6a6a;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.error input {
|
|
95
|
+
border: 1px solid #fe5f5f;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.container-input {
|
|
99
|
+
background: white;
|
|
100
|
+
position: relative;
|
|
101
|
+
|
|
102
|
+
.disable-input {
|
|
103
|
+
background-color: #f7f7f7;
|
|
104
|
+
border: 1px dashed #ced4da;
|
|
105
|
+
pointer-events: none;
|
|
106
|
+
}
|
|
107
|
+
label {
|
|
108
|
+
position: absolute;
|
|
109
|
+
right: 20px;
|
|
110
|
+
top: 12px;
|
|
111
|
+
color: gray;
|
|
112
|
+
font-size: 12px;
|
|
113
|
+
padding: 0px 8px;
|
|
114
|
+
border-radius: 15px;
|
|
115
|
+
pointer-events: none;
|
|
116
|
+
transition: 0.2s;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
input {
|
|
120
|
+
&:focus + label,
|
|
121
|
+
&.have-value + label {
|
|
122
|
+
top: -10px;
|
|
123
|
+
font-size: 10px;
|
|
124
|
+
z-index: 3;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
&:focus + label::after,
|
|
128
|
+
&.have-value + label::after {
|
|
129
|
+
content: "";
|
|
130
|
+
display: block;
|
|
131
|
+
background: rgb(255, 255, 255);
|
|
132
|
+
position: absolute;
|
|
133
|
+
width: 100%;
|
|
134
|
+
height: 1px;
|
|
135
|
+
top: 10px;
|
|
136
|
+
right: 0;
|
|
137
|
+
transition: 0.3s;
|
|
138
|
+
z-index: -1;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Component,
|
|
3
|
+
EventEmitter,
|
|
4
|
+
Input,
|
|
5
|
+
Output,
|
|
6
|
+
ViewChild,
|
|
7
|
+
} from '@angular/core';
|
|
8
|
+
import { FormControl } from '@angular/forms';
|
|
9
|
+
import { environment } from '../../environments/environment';
|
|
10
|
+
type InputType = 'number' | 'password' | 'text';
|
|
11
|
+
@Component({
|
|
12
|
+
selector: 'core-input',
|
|
13
|
+
templateUrl: './core-input' + environment.tempName,
|
|
14
|
+
styleUrls: ['./core-input' + environment.styleName],
|
|
15
|
+
})
|
|
16
|
+
export class CoreInputComponent {
|
|
17
|
+
inputType!: InputType;
|
|
18
|
+
isDisable = false;
|
|
19
|
+
lastValue = '';
|
|
20
|
+
@Input() set type(value: InputType) {
|
|
21
|
+
this.inputType = value;
|
|
22
|
+
}
|
|
23
|
+
@Input() canShowWordifyFa = false;
|
|
24
|
+
@Input() canSplitNumber = false;
|
|
25
|
+
@Input() canHighlightBackground = false;
|
|
26
|
+
@Input() maxLength = 2000;
|
|
27
|
+
@Input() size = '';
|
|
28
|
+
@Input() inputFormControl: FormControl = new FormControl('', []);
|
|
29
|
+
@Input() set disable(value: boolean) {
|
|
30
|
+
this.isDisable = value;
|
|
31
|
+
if (value) {
|
|
32
|
+
this.inputFormControl.disable();
|
|
33
|
+
} else {
|
|
34
|
+
this.inputFormControl.enable();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
@Input() placeholder = '';
|
|
38
|
+
@Output() onChange: EventEmitter<string> = new EventEmitter();
|
|
39
|
+
@Output() onBlurEmit: EventEmitter<string> = new EventEmitter();
|
|
40
|
+
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
this.inputFormControl.valueChanges.subscribe((change) => {
|
|
43
|
+
if (this.lastValue !== change) {
|
|
44
|
+
this.formatPrice(change.toString());
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
change(event: any) {
|
|
49
|
+
this.formatPrice(event.srcElement.value);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
onPaste(event: any) {
|
|
53
|
+
setTimeout(() => {
|
|
54
|
+
const value = event.srcElement.value;
|
|
55
|
+
this.inputFormControl.markAsTouched();
|
|
56
|
+
this.inputFormControl.setValue(value);
|
|
57
|
+
this.lastValue = value;
|
|
58
|
+
if (this.inputType === 'number' && this.canSplitNumber) {
|
|
59
|
+
this.onChange.emit(value.replaceAll(',', ''));
|
|
60
|
+
} else {
|
|
61
|
+
if (!this.inputFormControl.errors) {
|
|
62
|
+
this.onChange.emit(value);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}, 10);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
onBlur() {
|
|
69
|
+
if (this.inputType === 'number' && this.canSplitNumber) {
|
|
70
|
+
this.onChange.emit(this.inputFormControl.value.replaceAll(',', ''));
|
|
71
|
+
} else {
|
|
72
|
+
if (!this.inputFormControl.errors) {
|
|
73
|
+
this.onChange.emit(this.inputFormControl.value);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
this.onBlurEmit.emit(this.inputFormControl.value);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
onKeyPress() {
|
|
80
|
+
if (this.inputFormControl.value.toString().length == this.maxLength) {
|
|
81
|
+
return false;
|
|
82
|
+
} else {
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
formatPrice(event: any) {
|
|
88
|
+
if (this.inputType === 'number' && this.canSplitNumber) {
|
|
89
|
+
setTimeout(() => {
|
|
90
|
+
let value = event;
|
|
91
|
+
value = Number(value.replaceAll(',', ''));
|
|
92
|
+
if (isNaN(value)) {
|
|
93
|
+
this.inputFormControl.setValue('');
|
|
94
|
+
this.lastValue = value;
|
|
95
|
+
} else {
|
|
96
|
+
const formatValue = value
|
|
97
|
+
.toString()
|
|
98
|
+
.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
|
99
|
+
this.inputFormControl.setValue(formatValue);
|
|
100
|
+
this.lastValue = formatValue;
|
|
101
|
+
}
|
|
102
|
+
if (!this.inputFormControl.errors) {
|
|
103
|
+
this.onChange.emit(this.inputFormControl.value.replaceAll(',', ''));
|
|
104
|
+
}
|
|
105
|
+
}, 10);
|
|
106
|
+
} else {
|
|
107
|
+
if (!this.inputFormControl.errors) {
|
|
108
|
+
this.onChange.emit(this.inputFormControl.value);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
@Component({
|
|
4
|
+
selector: 'app-core-multi-select-row',
|
|
5
|
+
templateUrl: './core-multi-select-row.component.html',
|
|
6
|
+
styleUrls: ['./core-multi-select-row.component.scss'],
|
|
7
|
+
})
|
|
8
|
+
export class CoreMultiSelectRowComponent {
|
|
9
|
+
@Input() set isSelected(value: boolean) {
|
|
10
|
+
this._isSelected = value;
|
|
11
|
+
}
|
|
12
|
+
@Input() item!: any;
|
|
13
|
+
@Output() onSelect: EventEmitter<boolean> = new EventEmitter();
|
|
14
|
+
_isSelected = false;
|
|
15
|
+
|
|
16
|
+
onItemSelect() {
|
|
17
|
+
this.onSelect.emit(true);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<div tabindex="-1" class="dropdown" (focusout)="focusOut()">
|
|
2
|
+
<div
|
|
3
|
+
class="select"
|
|
4
|
+
[ngClass]="{
|
|
5
|
+
'select-clicked': isOpenMenu,
|
|
6
|
+
selectError: inputFormControl.touched && inputFormControl.errors
|
|
7
|
+
}"
|
|
8
|
+
(click)="openMenuClick()"
|
|
9
|
+
>
|
|
10
|
+
<span class="placeholder-top" *ngIf="isSelectedItems">{{ label }}</span>
|
|
11
|
+
<arrow-down-icon
|
|
12
|
+
class="caret fill-secondary-text-color h-6"
|
|
13
|
+
[ngClass]="{ 'caret-rotate': isOpenMenu }"
|
|
14
|
+
></arrow-down-icon>
|
|
15
|
+
|
|
16
|
+
<span
|
|
17
|
+
class="text-content"
|
|
18
|
+
[ngClass]="[
|
|
19
|
+
label.length > 0 && !isSelectedItems ? 'placeholder' : 'selected'
|
|
20
|
+
]"
|
|
21
|
+
>{{ label.length > 0 && !isSelectedItems ? label : text }}</span
|
|
22
|
+
>
|
|
23
|
+
</div>
|
|
24
|
+
<ul class="menu" [ngClass]="{ 'menu-open': isOpenMenu }">
|
|
25
|
+
<app-core-multi-select-row
|
|
26
|
+
*ngFor="let item of newItems"
|
|
27
|
+
[item]="item"
|
|
28
|
+
[isSelected]="selectedItems[item.value] ? true : false"
|
|
29
|
+
(onSelect)="onItemSelect(item, true)"
|
|
30
|
+
>
|
|
31
|
+
</app-core-multi-select-row>
|
|
32
|
+
</ul>
|
|
33
|
+
<div class="label-error overflow-hidden">
|
|
34
|
+
<span
|
|
35
|
+
*ngIf="
|
|
36
|
+
inputFormControl.touched &&
|
|
37
|
+
inputFormControl.errors?.['required']"
|
|
38
|
+
>این فیلد خالی است</span
|
|
39
|
+
>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
@mixin userSelect {
|
|
2
|
+
-webkit-user-select: none;
|
|
3
|
+
-moz-user-select: none;
|
|
4
|
+
-ms-user-select: none;
|
|
5
|
+
user-select: none;
|
|
6
|
+
}
|
|
7
|
+
.dropdown {
|
|
8
|
+
min-width: 15em;
|
|
9
|
+
position: relative;
|
|
10
|
+
width: 100%;
|
|
11
|
+
min-width: 120px;
|
|
12
|
+
.select {
|
|
13
|
+
background: #fff;
|
|
14
|
+
color: #304050;
|
|
15
|
+
display: flex;
|
|
16
|
+
justify-content: space-between;
|
|
17
|
+
flex-direction: row-reverse;
|
|
18
|
+
align-items: center;
|
|
19
|
+
border: 1px solid #ced4da;
|
|
20
|
+
border-radius: 4px;
|
|
21
|
+
padding: 8px;
|
|
22
|
+
cursor: pointer;
|
|
23
|
+
transition: background 0.3s;
|
|
24
|
+
font-size: 12px;
|
|
25
|
+
@include userSelect();
|
|
26
|
+
&:hover {
|
|
27
|
+
background: #fbfbfb;
|
|
28
|
+
}
|
|
29
|
+
.text-content {
|
|
30
|
+
white-space: nowrap;
|
|
31
|
+
display: block;
|
|
32
|
+
width: 263px;
|
|
33
|
+
overflow: hidden;
|
|
34
|
+
word-wrap: break-word;
|
|
35
|
+
text-overflow: ellipsis;
|
|
36
|
+
}
|
|
37
|
+
.selected {
|
|
38
|
+
padding-inline: 12px;
|
|
39
|
+
font-size: 14px;
|
|
40
|
+
color: rgba(0, 0, 0, 0.7);
|
|
41
|
+
@include userSelect();
|
|
42
|
+
}
|
|
43
|
+
.placeholder-top {
|
|
44
|
+
position: absolute;
|
|
45
|
+
right: 13px;
|
|
46
|
+
background: white;
|
|
47
|
+
top: -8px;
|
|
48
|
+
padding-inline: 6px;
|
|
49
|
+
font-size: 11px;
|
|
50
|
+
color: #888;
|
|
51
|
+
}
|
|
52
|
+
.caret {
|
|
53
|
+
color: #595c5f;
|
|
54
|
+
@include userSelect();
|
|
55
|
+
}
|
|
56
|
+
.caret-rotate {
|
|
57
|
+
transform: rotate(180deg);
|
|
58
|
+
}
|
|
59
|
+
.placeholder {
|
|
60
|
+
color: #888;
|
|
61
|
+
padding-inline: 16px;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
.select-clicked {
|
|
65
|
+
border: 1px solid rgba(19, 92, 175, 0.397);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.menu {
|
|
69
|
+
list-style: none;
|
|
70
|
+
padding-inline: 0px;
|
|
71
|
+
background: #fff;
|
|
72
|
+
border: 1px #e3e8f1 solid;
|
|
73
|
+
box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.2);
|
|
74
|
+
border-radius: 0.5em;
|
|
75
|
+
color: #595c5f;
|
|
76
|
+
position: absolute;
|
|
77
|
+
top: 40px;
|
|
78
|
+
left: 50%;
|
|
79
|
+
width: 100%;
|
|
80
|
+
transform: translateX(-50%);
|
|
81
|
+
opacity: 0;
|
|
82
|
+
display: none;
|
|
83
|
+
transition: 0, 2s;
|
|
84
|
+
z-index: 10;
|
|
85
|
+
max-height: 200px;
|
|
86
|
+
overflow: auto;
|
|
87
|
+
li {
|
|
88
|
+
padding: 0.7em 0.5em;
|
|
89
|
+
margin: 0.3em 0;
|
|
90
|
+
margin-inline: 4px;
|
|
91
|
+
border-radius: 0.5em;
|
|
92
|
+
font-size: 14px;
|
|
93
|
+
text-align: start;
|
|
94
|
+
cursor: pointer;
|
|
95
|
+
&:hover {
|
|
96
|
+
background: #f6f6f6;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
.active {
|
|
100
|
+
background: #ced4da;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
.menu-open {
|
|
104
|
+
display: block;
|
|
105
|
+
opacity: 1;
|
|
106
|
+
}
|
|
107
|
+
.label-error {
|
|
108
|
+
color: red;
|
|
109
|
+
font-size: 13px;
|
|
110
|
+
margin-block-start: 4px;
|
|
111
|
+
min-height: 21px;
|
|
112
|
+
width: 100%;
|
|
113
|
+
display: inline-block !important;
|
|
114
|
+
text-align: start;
|
|
115
|
+
}
|
|
116
|
+
.selectError {
|
|
117
|
+
border: 1px solid #fe5f5f !important;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ChangeDetectorRef,
|
|
3
|
+
Component,
|
|
4
|
+
EventEmitter,
|
|
5
|
+
Input,
|
|
6
|
+
Output,
|
|
7
|
+
} from '@angular/core';
|
|
8
|
+
import { FormControl } from '@angular/forms';
|
|
9
|
+
interface ISelectedItemsDictionary {
|
|
10
|
+
[index: string]: any;
|
|
11
|
+
}
|
|
12
|
+
@Component({
|
|
13
|
+
selector: 'core-multi-select',
|
|
14
|
+
templateUrl: './core-multi-select.component.html',
|
|
15
|
+
styleUrls: ['./core-multi-select.component.scss'],
|
|
16
|
+
})
|
|
17
|
+
export class CoreMultiSelectComponent {
|
|
18
|
+
selectedItems: ISelectedItemsDictionary[] = [];
|
|
19
|
+
newItems: any[] = [];
|
|
20
|
+
isOpenMenu = false;
|
|
21
|
+
_items: any = [];
|
|
22
|
+
_defaultValue = [];
|
|
23
|
+
_titleKey!: any;
|
|
24
|
+
_valueKey!: any;
|
|
25
|
+
initCounter = 0;
|
|
26
|
+
hasTitleKey = false;
|
|
27
|
+
hasValueKey = false;
|
|
28
|
+
hasItems = false;
|
|
29
|
+
hasDefaultValue = false;
|
|
30
|
+
text = '';
|
|
31
|
+
@Input() set titleKey(data: any) {
|
|
32
|
+
this._titleKey = data;
|
|
33
|
+
this.hasTitleKey = true;
|
|
34
|
+
this.init();
|
|
35
|
+
}
|
|
36
|
+
@Input() set valueKey(data: any) {
|
|
37
|
+
this._valueKey = data;
|
|
38
|
+
this.hasValueKey = true;
|
|
39
|
+
this.init();
|
|
40
|
+
}
|
|
41
|
+
@Input() set items(data: any) {
|
|
42
|
+
this._items = data;
|
|
43
|
+
this.hasItems = true;
|
|
44
|
+
this.init();
|
|
45
|
+
}
|
|
46
|
+
@Input({ required: true }) set defaultValue(data: any) {
|
|
47
|
+
this._defaultValue = data;
|
|
48
|
+
this.hasDefaultValue = true;
|
|
49
|
+
this.init();
|
|
50
|
+
}
|
|
51
|
+
@Input() label: string = '';
|
|
52
|
+
@Input() singleSelectItems: string[] = [];
|
|
53
|
+
@Output() onItemSelected = new EventEmitter<any[]>();
|
|
54
|
+
@Input() inputFormControl: FormControl = new FormControl('', []);
|
|
55
|
+
|
|
56
|
+
get isSelectedItems() {
|
|
57
|
+
return Object.keys(this.selectedItems).length > 0 ? true : false;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
constructor(private cdr: ChangeDetectorRef) {}
|
|
61
|
+
|
|
62
|
+
init() {
|
|
63
|
+
if (
|
|
64
|
+
this.hasTitleKey &&
|
|
65
|
+
this.hasValueKey &&
|
|
66
|
+
this.hasItems &&
|
|
67
|
+
this.hasDefaultValue
|
|
68
|
+
) {
|
|
69
|
+
this.newItems = this.changeItemsType(this._items);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
ngOnInit(): void {
|
|
74
|
+
if (this._defaultValue.length == 0) return;
|
|
75
|
+
this._defaultValue.forEach((item1: any, index: number) => {
|
|
76
|
+
const value = this.newItems.find((item: any) => item.value === item1);
|
|
77
|
+
if (value) {
|
|
78
|
+
this.selectedItems[value.value] = value;
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
ngAfterViewInit(): void {
|
|
83
|
+
this.showText();
|
|
84
|
+
this.cdr.detectChanges();
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
onItemSelect(selectedItem: any, isFromUi: boolean): void {
|
|
88
|
+
if (this.selectedItems[selectedItem.value]) {
|
|
89
|
+
delete this.selectedItems[selectedItem.value];
|
|
90
|
+
} else {
|
|
91
|
+
let flag = false;
|
|
92
|
+
Object.keys(this.selectedItems).forEach((item) => {
|
|
93
|
+
if (this.singleSelectItems.find((data) => data == item)) {
|
|
94
|
+
flag = true;
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
if (
|
|
99
|
+
Object.keys(this.selectedItems).length > 0 &&
|
|
100
|
+
this.singleSelectItems.find((data) => data == selectedItem.value)
|
|
101
|
+
) {
|
|
102
|
+
} else if (!flag) this.selectedItems[selectedItem.value] = selectedItem;
|
|
103
|
+
}
|
|
104
|
+
this.showText();
|
|
105
|
+
this.onItemSelected.emit(this.selectedItems);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
showText() {
|
|
109
|
+
let text = '';
|
|
110
|
+
const items = Object.values(this.selectedItems);
|
|
111
|
+
items.forEach((item1: any, index: number) => {
|
|
112
|
+
if (index < items.length - 1) {
|
|
113
|
+
text = item1.title + ' , ' + text;
|
|
114
|
+
} else {
|
|
115
|
+
text = text + item1.title;
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
this.text = text;
|
|
119
|
+
this.inputFormControl.setValue(this.text);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
changeItemsType(items: any[]): any[] {
|
|
123
|
+
return items.map((item) => {
|
|
124
|
+
return {
|
|
125
|
+
title: item[this._titleKey],
|
|
126
|
+
value: item[this._valueKey],
|
|
127
|
+
};
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
openMenuClick() {
|
|
132
|
+
this.isOpenMenu = !this.isOpenMenu;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
focusOut() {
|
|
136
|
+
this.isOpenMenu = false;
|
|
137
|
+
this.inputFormControl.markAsTouched();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { WordifyFa } from '../wordify';
|
|
3
|
+
|
|
4
|
+
@Component({
|
|
5
|
+
selector: 'app-core-number',
|
|
6
|
+
templateUrl: './core-number.component.html',
|
|
7
|
+
styleUrls: ['./core-number.component.scss'],
|
|
8
|
+
})
|
|
9
|
+
export class CoreNumberComponent {
|
|
10
|
+
@Input() number: number | string | undefined = '';
|
|
11
|
+
@Input() type: 'number' | 'word' = 'number';
|
|
12
|
+
@Input() canSplitNumbers = false;
|
|
13
|
+
@Input() canShowWordInToolTip = false;
|
|
14
|
+
@Input() canShowIRR = false;
|
|
15
|
+
|
|
16
|
+
wordifyFa(number: string | number | undefined) {
|
|
17
|
+
if (number === undefined) {
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
if (this.type === 'number') {
|
|
21
|
+
if (this.canSplitNumbers) {
|
|
22
|
+
return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
|
23
|
+
} else {
|
|
24
|
+
return number;
|
|
25
|
+
}
|
|
26
|
+
} else {
|
|
27
|
+
const newNumber = Number(number.toString().replaceAll(',', ''));
|
|
28
|
+
if (newNumber > 10) {
|
|
29
|
+
return WordifyFa(newNumber / 10) + ' تومان ';
|
|
30
|
+
} else {
|
|
31
|
+
return WordifyFa(number);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
toolTipText(number: string | number | undefined) {
|
|
37
|
+
if (this.number === undefined) return '';
|
|
38
|
+
if (!this.canShowWordInToolTip) return '';
|
|
39
|
+
if (number && +number > 10) {
|
|
40
|
+
return WordifyFa(+number / 10) + ' تومان ';
|
|
41
|
+
} else {
|
|
42
|
+
return WordifyFa(number);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<div
|
|
2
|
+
class="container-page core-page-title flex flex-col text-right justify-center rounded-lg pt-2 pb-7 px-10 h-40 shadow-md"
|
|
3
|
+
>
|
|
4
|
+
<div class="title my-5 w-5/6">
|
|
5
|
+
<span class="title-text text-2xl font-bold">
|
|
6
|
+
{{ title }}
|
|
7
|
+
</span>
|
|
8
|
+
</div>
|
|
9
|
+
<div class="description w-5/6">
|
|
10
|
+
<p class="description-text text-base">
|
|
11
|
+
{{ description }}
|
|
12
|
+
</p>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.core-page-title {
|
|
2
|
+
background-image: url("../../assets/images/hub-dashboard-title-bg.png");
|
|
3
|
+
background-repeat: no-repeat;
|
|
4
|
+
background-position: left;
|
|
5
|
+
background-size: contain;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.description-text {
|
|
9
|
+
color: var(--default-page-title-text-color);
|
|
10
|
+
}
|
|
11
|
+
.title-text {
|
|
12
|
+
color: var(--default-page-title-text-color);
|
|
13
|
+
}
|
|
14
|
+
.container-page {
|
|
15
|
+
background-color: var(--default-page-title-background-color);
|
|
16
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
|
|
3
|
+
@Component({
|
|
4
|
+
selector: 'core-page-title',
|
|
5
|
+
templateUrl: './core-page-title.component.html',
|
|
6
|
+
styleUrls: ['./core-page-title.component.scss'],
|
|
7
|
+
})
|
|
8
|
+
export class CorePageTitleComponent {
|
|
9
|
+
@Input() title = '';
|
|
10
|
+
@Input() description = '';
|
|
11
|
+
}
|