angular-slickgrid 4.2.0 → 4.2.3
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/LICENSE +20 -20
- package/{dist/app → app}/modules/angular-slickgrid/components/angular-slickgrid.component.d.ts +2 -2
- package/{dist/app → app}/modules/angular-slickgrid/constants.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/extensions/index.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/extensions/slickRowDetailView.d.ts +0 -2
- package/{dist/app → app}/modules/angular-slickgrid/global-grid-options.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/index.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/models/angularComponentOutput.interface.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/models/angularGridInstance.interface.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/models/externalTestingDependencies.interface.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/models/gridOption.interface.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/models/index.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/models/rowDetailView.interface.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/models/slickGrid.interface.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/modules/angular-slickgrid.module.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/services/angularUtil.service.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/services/bsDropdown.service.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/services/container.service.d.ts +1 -0
- package/{dist/app → app}/modules/angular-slickgrid/services/index.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/services/translater.service.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/services/utilities.d.ts +0 -0
- package/{dist/app → app}/modules/angular-slickgrid/slickgrid-config.d.ts +0 -0
- package/docs/assets/lib/multiple-select/README.md +17 -0
- package/{dist/esm2020 → esm2020}/angular-slickgrid.mjs +0 -0
- package/esm2020/app/modules/angular-slickgrid/components/angular-slickgrid.component.mjs +1170 -0
- package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/constants.mjs +1 -1
- package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/extensions/index.mjs +1 -1
- package/esm2020/app/modules/angular-slickgrid/extensions/slickRowDetailView.mjs +298 -0
- package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/global-grid-options.mjs +1 -1
- package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/index.mjs +1 -1
- package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/models/angularComponentOutput.interface.mjs +1 -1
- package/esm2020/app/modules/angular-slickgrid/models/angularGridInstance.interface.mjs +2 -0
- package/esm2020/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.mjs +2 -0
- package/esm2020/app/modules/angular-slickgrid/models/gridOption.interface.mjs +2 -0
- package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/models/index.mjs +1 -1
- package/esm2020/app/modules/angular-slickgrid/models/rowDetailView.interface.mjs +2 -0
- package/esm2020/app/modules/angular-slickgrid/models/slickGrid.interface.mjs +2 -0
- package/esm2020/app/modules/angular-slickgrid/modules/angular-slickgrid.module.mjs +43 -0
- package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/angularUtil.service.mjs +4 -4
- package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/bsDropdown.service.mjs +4 -4
- package/esm2020/app/modules/angular-slickgrid/services/container.service.mjs +29 -0
- package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/index.mjs +1 -1
- package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/translater.service.mjs +4 -4
- package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/services/utilities.mjs +1 -1
- package/{dist/esm2020 → esm2020}/app/modules/angular-slickgrid/slickgrid-config.mjs +1 -1
- package/{dist/esm2020 → esm2020}/public_api.mjs +1 -1
- package/{dist/fesm2015 → fesm2015}/angular-slickgrid.mjs +48 -51
- package/fesm2015/angular-slickgrid.mjs.map +1 -0
- package/{dist/fesm2020 → fesm2020}/angular-slickgrid.mjs +48 -51
- package/fesm2020/angular-slickgrid.mjs.map +1 -0
- package/{dist/i18n → i18n}/en.json +89 -89
- package/{dist/i18n → i18n}/fr.json +90 -90
- package/{dist/angular-slickgrid.d.ts → index.d.ts} +0 -0
- package/package.json +33 -118
- package/{dist/public_api.d.ts → public_api.d.ts} +0 -0
- package/test/cypress/node_modules/@cypress/request/README.md +1038 -0
- package/test/cypress/node_modules/@cypress/xvfb/README.md +48 -0
- package/test/cypress/node_modules/@cypress/xvfb/node_modules/debug/README.md +437 -0
- package/test/cypress/node_modules/@types/node/README.md +16 -0
- package/test/cypress/node_modules/@types/sinonjs__fake-timers/README.md +16 -0
- package/test/cypress/node_modules/@types/sizzle/README.md +16 -0
- package/test/cypress/node_modules/@types/yauzl/README.md +16 -0
- package/test/cypress/node_modules/@types/yauzl/node_modules/@types/node/README.md +16 -0
- package/test/cypress/node_modules/aggregate-error/README.md +61 -0
- package/test/cypress/node_modules/ansi-colors/README.md +315 -0
- package/test/cypress/node_modules/ansi-escapes/README.md +245 -0
- package/test/cypress/node_modules/ansi-regex/README.md +78 -0
- package/test/cypress/node_modules/ansi-styles/README.md +152 -0
- package/test/cypress/node_modules/arch/README.md +71 -0
- package/test/cypress/node_modules/asn1/README.md +50 -0
- package/test/cypress/node_modules/assert-plus/README.md +162 -0
- package/test/cypress/node_modules/astral-regex/README.md +46 -0
- package/test/cypress/node_modules/async/README.md +60 -0
- package/test/cypress/node_modules/asynckit/README.md +233 -0
- package/test/cypress/node_modules/at-least-node/README.md +25 -0
- package/test/cypress/node_modules/aws-sign2/README.md +4 -0
- package/test/cypress/node_modules/aws4/README.md +183 -0
- package/test/cypress/node_modules/balanced-match/README.md +91 -0
- package/test/cypress/node_modules/base64-js/README.md +34 -0
- package/test/cypress/node_modules/bcrypt-pbkdf/README.md +45 -0
- package/test/cypress/node_modules/blob-util/README.md +623 -0
- package/test/cypress/node_modules/bluebird/README.md +57 -0
- package/test/cypress/node_modules/brace-expansion/README.md +129 -0
- package/test/cypress/node_modules/buffer/README.md +410 -0
- package/test/cypress/node_modules/buffer-crc32/README.md +47 -0
- package/test/cypress/node_modules/cachedir/README.md +27 -0
- package/test/cypress/node_modules/caseless/README.md +45 -0
- package/test/cypress/node_modules/chalk/README.md +293 -0
- package/test/cypress/node_modules/chalk/node_modules/supports-color/README.md +76 -0
- package/test/cypress/node_modules/check-more-types/README.md +952 -0
- package/test/cypress/node_modules/ci-info/README.md +114 -0
- package/test/cypress/node_modules/clean-stack/README.md +76 -0
- package/test/cypress/node_modules/cli-cursor/README.md +55 -0
- package/test/cypress/node_modules/cli-table3/README.md +218 -0
- package/test/cypress/node_modules/cli-truncate/README.md +139 -0
- package/test/cypress/node_modules/color-convert/README.md +68 -0
- package/test/cypress/node_modules/color-name/README.md +11 -0
- package/test/cypress/node_modules/colorette/README.md +102 -0
- package/test/cypress/node_modules/colors/README.md +221 -0
- package/test/cypress/node_modules/combined-stream/README.md +138 -0
- package/test/cypress/node_modules/commander/README.md +737 -0
- package/test/cypress/node_modules/common-tags/README.md +687 -0
- package/test/cypress/node_modules/core-util-is/README.md +3 -0
- package/test/cypress/node_modules/cross-spawn/README.md +96 -0
- package/test/cypress/node_modules/cypress/README.md +25 -0
- package/test/cypress/node_modules/cypress/mount-utils/README.md +14 -0
- package/test/cypress/node_modules/cypress/react/README.md +414 -0
- package/test/cypress/node_modules/cypress/vue/README.md +678 -0
- package/test/cypress/node_modules/cypress/vue2/README.md +693 -0
- package/test/cypress/node_modules/dashdash/README.md +574 -0
- package/test/cypress/node_modules/dayjs/README.md +128 -0
- package/test/cypress/node_modules/debug/README.md +455 -0
- package/test/cypress/node_modules/delayed-stream/README.md +141 -0
- package/test/cypress/node_modules/ecc-jsbn/README.md +8 -0
- package/test/cypress/node_modules/emoji-regex/README.md +73 -0
- package/test/cypress/node_modules/end-of-stream/README.md +54 -0
- package/test/cypress/node_modules/enquirer/README.md +1752 -0
- package/test/cypress/node_modules/escape-string-regexp/README.md +27 -0
- package/test/cypress/node_modules/eventemitter2/README.md +809 -0
- package/test/cypress/node_modules/execa/README.md +656 -0
- package/test/cypress/node_modules/executable/README.md +64 -0
- package/test/cypress/node_modules/extend/README.md +81 -0
- package/test/cypress/node_modules/extract-zip/README.md +57 -0
- package/test/cypress/node_modules/extract-zip/node_modules/debug/README.md +455 -0
- package/test/cypress/node_modules/extsprintf/README.md +46 -0
- package/test/cypress/node_modules/fd-slicer/README.md +199 -0
- package/test/cypress/node_modules/figures/README.md +139 -0
- package/test/cypress/node_modules/forever-agent/README.md +4 -0
- package/test/cypress/node_modules/form-data/README.md +234 -0
- package/test/cypress/node_modules/fs-extra/README.md +264 -0
- package/test/cypress/node_modules/fs.realpath/README.md +33 -0
- package/test/cypress/node_modules/get-stream/README.md +124 -0
- package/test/cypress/node_modules/getos/README.md +79 -0
- package/test/cypress/node_modules/getpass/README.md +32 -0
- package/test/cypress/node_modules/glob/README.md +375 -0
- package/test/cypress/node_modules/global-dirs/README.md +72 -0
- package/test/cypress/node_modules/graceful-fs/README.md +133 -0
- package/test/cypress/node_modules/has-flag/README.md +89 -0
- package/test/cypress/node_modules/http-signature/README.md +80 -0
- package/test/cypress/node_modules/human-signals/README.md +155 -0
- package/test/cypress/node_modules/ieee754/README.md +51 -0
- package/test/cypress/node_modules/indent-string/README.md +70 -0
- package/test/cypress/node_modules/inflight/README.md +37 -0
- package/test/cypress/node_modules/inherits/README.md +42 -0
- package/test/cypress/node_modules/ini/README.md +102 -0
- package/test/cypress/node_modules/is-ci/README.md +50 -0
- package/test/cypress/node_modules/is-fullwidth-code-point/README.md +39 -0
- package/test/cypress/node_modules/is-installed-globally/README.md +31 -0
- package/test/cypress/node_modules/is-path-inside/README.md +63 -0
- package/test/cypress/node_modules/is-stream/README.md +57 -0
- package/test/cypress/node_modules/is-typedarray/README.md +16 -0
- package/test/cypress/node_modules/isexe/README.md +51 -0
- package/test/cypress/node_modules/isstream/README.md +66 -0
- package/test/cypress/node_modules/jsbn/README.md +175 -0
- package/test/cypress/node_modules/json-schema/README.md +3 -0
- package/test/cypress/node_modules/json-stringify-safe/README.md +52 -0
- package/test/cypress/node_modules/jsonfile/README.md +205 -0
- package/test/cypress/node_modules/jsonfile/node_modules/universalify/README.md +76 -0
- package/test/cypress/node_modules/jsprim/README.md +287 -0
- package/test/cypress/node_modules/lazy-ass/README.md +269 -0
- package/test/cypress/node_modules/listr2/README.md +17 -0
- package/test/cypress/node_modules/lodash/README.md +39 -0
- package/test/cypress/node_modules/lodash.once/README.md +18 -0
- package/test/cypress/node_modules/log-symbols/README.md +51 -0
- package/test/cypress/node_modules/log-update/README.md +97 -0
- package/test/cypress/node_modules/log-update/node_modules/slice-ansi/README.md +66 -0
- package/test/cypress/node_modules/log-update/node_modules/wrap-ansi/README.md +97 -0
- package/test/cypress/node_modules/lru-cache/README.md +166 -0
- package/test/cypress/node_modules/merge-stream/README.md +78 -0
- package/test/cypress/node_modules/mime-db/README.md +102 -0
- package/test/cypress/node_modules/mime-types/README.md +123 -0
- package/test/cypress/node_modules/mimic-fn/README.md +69 -0
- package/test/cypress/node_modules/minimatch/README.md +209 -0
- package/test/cypress/node_modules/ms/README.md +60 -0
- package/test/cypress/node_modules/npm-run-path/README.md +115 -0
- package/test/cypress/node_modules/once/README.md +79 -0
- package/test/cypress/node_modules/onetime/README.md +94 -0
- package/test/cypress/node_modules/ospath/README.md +53 -0
- package/test/cypress/node_modules/p-map/README.md +89 -0
- package/test/cypress/node_modules/path-is-absolute/README.md +59 -0
- package/test/cypress/node_modules/path-key/README.md +61 -0
- package/test/cypress/node_modules/pend/README.md +41 -0
- package/test/cypress/node_modules/performance-now/README.md +30 -0
- package/test/cypress/node_modules/pify/README.md +119 -0
- package/test/cypress/node_modules/pretty-bytes/README.md +131 -0
- package/test/cypress/node_modules/proxy-from-env/README.md +131 -0
- package/test/cypress/node_modules/psl/README.md +215 -0
- package/test/cypress/node_modules/pump/README.md +65 -0
- package/test/cypress/node_modules/punycode/README.md +122 -0
- package/test/cypress/node_modules/qs/README.md +475 -0
- package/test/cypress/node_modules/request-progress/README.md +78 -0
- package/test/cypress/node_modules/restore-cursor/README.md +26 -0
- package/test/cypress/node_modules/rimraf/README.md +101 -0
- package/test/cypress/node_modules/rxjs/README.md +147 -0
- package/test/cypress/node_modules/rxjs/_esm2015/README.md +147 -0
- package/test/cypress/node_modules/rxjs/_esm5/README.md +147 -0
- package/test/cypress/node_modules/rxjs/src/README.md +147 -0
- package/test/cypress/node_modules/safe-buffer/README.md +584 -0
- package/test/cypress/node_modules/safer-buffer/README.md +156 -0
- package/test/cypress/node_modules/semver/README.md +566 -0
- package/test/cypress/node_modules/shebang-command/README.md +34 -0
- package/test/cypress/node_modules/shebang-regex/README.md +33 -0
- package/test/cypress/node_modules/signal-exit/README.md +39 -0
- package/test/cypress/node_modules/slice-ansi/README.md +72 -0
- package/test/cypress/node_modules/sshpk/README.md +804 -0
- package/test/cypress/node_modules/string-width/README.md +50 -0
- package/test/cypress/node_modules/strip-ansi/README.md +46 -0
- package/test/cypress/node_modules/strip-final-newline/README.md +30 -0
- package/test/cypress/node_modules/supports-color/README.md +77 -0
- package/test/cypress/node_modules/throttleit/README.md +32 -0
- package/test/cypress/node_modules/tmp/README.md +365 -0
- package/test/cypress/node_modules/tough-cookie/README.md +527 -0
- package/test/cypress/node_modules/tslib/README.md +142 -0
- package/test/cypress/node_modules/tunnel-agent/README.md +4 -0
- package/test/cypress/node_modules/tweetnacl/README.md +459 -0
- package/test/cypress/node_modules/type-fest/README.md +760 -0
- package/test/cypress/node_modules/universalify/README.md +76 -0
- package/test/cypress/node_modules/untildify/README.md +30 -0
- package/test/cypress/node_modules/uuid/README.md +505 -0
- package/test/cypress/node_modules/verror/README.md +528 -0
- package/test/cypress/node_modules/verror/node_modules/extsprintf/README.md +46 -0
- package/test/cypress/node_modules/which/README.md +54 -0
- package/test/cypress/node_modules/wrap-ansi/README.md +91 -0
- package/test/cypress/node_modules/wrappy/README.md +36 -0
- package/test/cypress/node_modules/yallist/README.md +204 -0
- package/test/cypress/node_modules/yauzl/README.md +658 -0
- package/.browserslistrc +0 -12
- package/.codecov.yml +0 -17
- package/.editorconfig +0 -18
- package/.eslintrc.json +0 -50
- package/.github/CODE_OF_CONDUCT.md +0 -76
- package/.github/FUNDING.yml +0 -8
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -54
- package/.github/ISSUE_TEMPLATE/config.yml +0 -5
- package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -44
- package/.github/renovate.json5 +0 -26
- package/.github/stale.yml +0 -7
- package/.github/workflows/main.yml +0 -83
- package/.vscode/extensions.json +0 -9
- package/.vscode/launch.json +0 -72
- package/.vscode/settings.json +0 -7
- package/.vscode/tasks.json +0 -77
- package/CHANGELOG.md +0 -1172
- package/angular.json +0 -148
- package/dist/LICENSE +0 -20
- package/dist/README.md +0 -182
- package/dist/esm2020/app/modules/angular-slickgrid/components/angular-slickgrid.component.mjs +0 -1171
- package/dist/esm2020/app/modules/angular-slickgrid/extensions/slickRowDetailView.mjs +0 -300
- package/dist/esm2020/app/modules/angular-slickgrid/models/angularGridInstance.interface.mjs +0 -2
- package/dist/esm2020/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.mjs +0 -2
- package/dist/esm2020/app/modules/angular-slickgrid/models/gridOption.interface.mjs +0 -2
- package/dist/esm2020/app/modules/angular-slickgrid/models/rowDetailView.interface.mjs +0 -2
- package/dist/esm2020/app/modules/angular-slickgrid/models/slickGrid.interface.mjs +0 -2
- package/dist/esm2020/app/modules/angular-slickgrid/modules/angular-slickgrid.module.mjs +0 -46
- package/dist/esm2020/app/modules/angular-slickgrid/services/container.service.mjs +0 -26
- package/dist/fesm2015/angular-slickgrid.mjs.map +0 -1
- package/dist/fesm2020/angular-slickgrid.mjs.map +0 -1
- package/dist/package.json +0 -79
- package/global.d.ts +0 -1
- package/ngcc.config.js +0 -13
- package/screenshots/column-picker.png +0 -0
- package/screenshots/composite-editor.png +0 -0
- package/screenshots/draggable-grouping.png +0 -0
- package/screenshots/editors.png +0 -0
- package/screenshots/export-to-file.png +0 -0
- package/screenshots/filter_and_sort.png +0 -0
- package/screenshots/formatters.png +0 -0
- package/screenshots/frozen.png +0 -0
- package/screenshots/multipleSelectFilter.png +0 -0
- package/screenshots/pagination.png +0 -0
- package/screenshots/selectFilter.png +0 -0
- package/screenshots/singleFilter.png +0 -0
- package/src/app/app-routing.module.ts +0 -83
- package/src/app/app.component.html +0 -160
- package/src/app/app.component.scss +0 -65
- package/src/app/app.component.ts +0 -10
- package/src/app/app.module.ts +0 -175
- package/src/app/examples/custom-angularComponentEditor.ts +0 -184
- package/src/app/examples/custom-angularComponentFilter.ts +0 -126
- package/src/app/examples/custom-inputEditor.ts +0 -124
- package/src/app/examples/custom-inputFilter.ts +0 -142
- package/src/app/examples/custom-titleFormatter.component.ts +0 -8
- package/src/app/examples/editor-ng-select.component.ts +0 -37
- package/src/app/examples/filter-ng-select.component.ts +0 -32
- package/src/app/examples/grid-additem.component.html +0 -48
- package/src/app/examples/grid-additem.component.ts +0 -272
- package/src/app/examples/grid-angular.component.html +0 -79
- package/src/app/examples/grid-angular.component.scss +0 -28
- package/src/app/examples/grid-angular.component.ts +0 -370
- package/src/app/examples/grid-autoheight.component.html +0 -52
- package/src/app/examples/grid-autoheight.component.ts +0 -147
- package/src/app/examples/grid-basic.component.html +0 -29
- package/src/app/examples/grid-basic.component.ts +0 -82
- package/src/app/examples/grid-clientside.component.html +0 -51
- package/src/app/examples/grid-clientside.component.ts +0 -293
- package/src/app/examples/grid-colspan.component.html +0 -39
- package/src/app/examples/grid-colspan.component.scss +0 -11
- package/src/app/examples/grid-colspan.component.ts +0 -155
- package/src/app/examples/grid-composite-editor.component.html +0 -79
- package/src/app/examples/grid-composite-editor.component.scss +0 -19
- package/src/app/examples/grid-composite-editor.component.ts +0 -948
- package/src/app/examples/grid-contextmenu.component.html +0 -62
- package/src/app/examples/grid-contextmenu.component.scss +0 -44
- package/src/app/examples/grid-contextmenu.component.ts +0 -473
- package/src/app/examples/grid-custom-tooltip.component.html +0 -25
- package/src/app/examples/grid-custom-tooltip.component.scss +0 -77
- package/src/app/examples/grid-custom-tooltip.component.ts +0 -483
- package/src/app/examples/grid-draggrouping.component.html +0 -93
- package/src/app/examples/grid-draggrouping.component.ts +0 -397
- package/src/app/examples/grid-editor.component.html +0 -88
- package/src/app/examples/grid-editor.component.ts +0 -699
- package/src/app/examples/grid-formatter.component.html +0 -26
- package/src/app/examples/grid-formatter.component.ts +0 -162
- package/src/app/examples/grid-frozen.component.html +0 -65
- package/src/app/examples/grid-frozen.component.scss +0 -11
- package/src/app/examples/grid-frozen.component.ts +0 -303
- package/src/app/examples/grid-graphql-nopage.component.html +0 -33
- package/src/app/examples/grid-graphql-nopage.component.scss +0 -9
- package/src/app/examples/grid-graphql-nopage.component.ts +0 -242
- package/src/app/examples/grid-graphql.component.html +0 -87
- package/src/app/examples/grid-graphql.component.ts +0 -304
- package/src/app/examples/grid-grouping.component.html +0 -80
- package/src/app/examples/grid-grouping.component.ts +0 -313
- package/src/app/examples/grid-headerbutton.component.html +0 -31
- package/src/app/examples/grid-headerbutton.component.scss +0 -10
- package/src/app/examples/grid-headerbutton.component.ts +0 -233
- package/src/app/examples/grid-headermenu.component.html +0 -31
- package/src/app/examples/grid-headermenu.component.scss +0 -25
- package/src/app/examples/grid-headermenu.component.ts +0 -159
- package/src/app/examples/grid-localization.component.html +0 -54
- package/src/app/examples/grid-localization.component.ts +0 -293
- package/src/app/examples/grid-menu.component.html +0 -37
- package/src/app/examples/grid-menu.component.scss +0 -28
- package/src/app/examples/grid-menu.component.ts +0 -229
- package/src/app/examples/grid-odata.component.html +0 -116
- package/src/app/examples/grid-odata.component.ts +0 -441
- package/src/app/examples/grid-range.component.html +0 -74
- package/src/app/examples/grid-range.component.ts +0 -291
- package/src/app/examples/grid-remote.component.html +0 -37
- package/src/app/examples/grid-remote.component.ts +0 -153
- package/src/app/examples/grid-resize-by-content.component.html +0 -62
- package/src/app/examples/grid-resize-by-content.component.scss +0 -19
- package/src/app/examples/grid-resize-by-content.component.ts +0 -780
- package/src/app/examples/grid-rowdetail.component.html +0 -35
- package/src/app/examples/grid-rowdetail.component.ts +0 -205
- package/src/app/examples/grid-rowmove.component.html +0 -49
- package/src/app/examples/grid-rowmove.component.ts +0 -234
- package/src/app/examples/grid-rowselection.component.html +0 -76
- package/src/app/examples/grid-rowselection.component.ts +0 -267
- package/src/app/examples/grid-state.component.html +0 -36
- package/src/app/examples/grid-state.component.ts +0 -259
- package/src/app/examples/grid-tabs.component.html +0 -35
- package/src/app/examples/grid-tabs.component.ts +0 -115
- package/src/app/examples/grid-trading.component.html +0 -58
- package/src/app/examples/grid-trading.component.scss +0 -49
- package/src/app/examples/grid-trading.component.ts +0 -319
- package/src/app/examples/grid-tree-data-hierarchical.component.html +0 -79
- package/src/app/examples/grid-tree-data-hierarchical.component.scss +0 -47
- package/src/app/examples/grid-tree-data-hierarchical.component.ts +0 -311
- package/src/app/examples/grid-tree-data-parent-child.component.html +0 -108
- package/src/app/examples/grid-tree-data-parent-child.component.scss +0 -10
- package/src/app/examples/grid-tree-data-parent-child.component.ts +0 -351
- package/src/app/examples/home.component.html +0 -41
- package/src/app/examples/home.component.ts +0 -9
- package/src/app/examples/rowdetail-preload.component.ts +0 -10
- package/src/app/examples/rowdetail-view.component.html +0 -36
- package/src/app/examples/rowdetail-view.component.ts +0 -54
- package/src/app/examples/swt-common-grid-pagination.component.ts +0 -156
- package/src/app/examples/swt-common-grid-test.component.html +0 -30
- package/src/app/examples/swt-common-grid-test.component.ts +0 -219
- package/src/app/examples/swt-common-grid.component.ts +0 -436
- package/src/app/examples/swt-logger.service.ts +0 -165
- package/src/app/modules/angular-slickgrid/components/angular-slickgrid.component.html +0 -4
- package/src/app/modules/angular-slickgrid/components/angular-slickgrid.component.ts +0 -1395
- package/src/app/modules/angular-slickgrid/constants.ts +0 -97
- package/src/app/modules/angular-slickgrid/extensions/index.ts +0 -1
- package/src/app/modules/angular-slickgrid/extensions/slickRowDetailView.ts +0 -375
- package/src/app/modules/angular-slickgrid/global-grid-options.ts +0 -245
- package/src/app/modules/angular-slickgrid/index.ts +0 -11
- package/src/app/modules/angular-slickgrid/models/angularComponentOutput.interface.ts +0 -6
- package/src/app/modules/angular-slickgrid/models/angularGridInstance.interface.ts +0 -68
- package/src/app/modules/angular-slickgrid/models/externalTestingDependencies.interface.ts +0 -37
- package/src/app/modules/angular-slickgrid/models/gridOption.interface.ts +0 -12
- package/src/app/modules/angular-slickgrid/models/index.ts +0 -6
- package/src/app/modules/angular-slickgrid/models/rowDetailView.interface.ts +0 -33
- package/src/app/modules/angular-slickgrid/models/slickGrid.interface.ts +0 -7
- package/src/app/modules/angular-slickgrid/modules/angular-slickgrid.module.ts +0 -37
- package/src/app/modules/angular-slickgrid/services/angularUtil.service.ts +0 -48
- package/src/app/modules/angular-slickgrid/services/bsDropdown.service.ts +0 -142
- package/src/app/modules/angular-slickgrid/services/container.service.ts +0 -24
- package/src/app/modules/angular-slickgrid/services/index.ts +0 -5
- package/src/app/modules/angular-slickgrid/services/translater.service.ts +0 -38
- package/src/app/modules/angular-slickgrid/services/utilities.ts +0 -19
- package/src/app/modules/angular-slickgrid/slickgrid-config.ts +0 -10
- package/src/app/slickgrid-custom-variables.scss +0 -10
- package/src/assets/.gitkeep +0 -0
- package/src/assets/data/collection_100_numbers.json +0 -12
- package/src/assets/data/collection_500_numbers.json +0 -52
- package/src/assets/data/countries.json +0 -245
- package/src/assets/data/country_names.json +0 -245
- package/src/assets/data/customers_100.json +0 -102
- package/src/assets/i18n/en.json +0 -90
- package/src/assets/i18n/fr.json +0 -91
- package/src/environments/environment.prod.ts +0 -3
- package/src/environments/environment.ts +0 -8
- package/src/favicon.ico +0 -0
- package/src/index.html +0 -18
- package/src/main.ts +0 -13
- package/src/polyfills.ts +0 -52
- package/src/public_api.ts +0 -1
- package/src/styles.scss +0 -66
- package/src/typings.d.ts +0 -10
- package/tsconfig.app.json +0 -25
- package/tsconfig.json +0 -40
- package/tsconfig.spec.json +0 -23
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
<div class="container-fluid">
|
|
2
|
-
<h2>
|
|
3
|
-
{{title}}
|
|
4
|
-
<span class="float-end">
|
|
5
|
-
<a style="font-size: 18px"
|
|
6
|
-
target="_blank"
|
|
7
|
-
href="https://github.com/ghiscoding/Angular-Slickgrid/blob/master/src/app/examples/grid-contextmenu.component.ts">
|
|
8
|
-
<span class="fa fa-link"></span> code
|
|
9
|
-
</a>
|
|
10
|
-
</span>
|
|
11
|
-
</h2>
|
|
12
|
-
<div class="subtitle" [innerHTML]="subTitle"></div>
|
|
13
|
-
|
|
14
|
-
<div class="row mb-1">
|
|
15
|
-
<div class="col-12">
|
|
16
|
-
<span class="context-menu">
|
|
17
|
-
<strong>Context Menu:</strong>
|
|
18
|
-
<button class="btn btn-outline-secondary btn-xs" (click)="showContextCommandsAndOptions(false)"
|
|
19
|
-
data-test="context-menu-priority-only-button">
|
|
20
|
-
Show Priority Options Only
|
|
21
|
-
</button>
|
|
22
|
-
<button class="btn btn-outline-secondary btn-xs" (click)="showContextCommandsAndOptions(true)"
|
|
23
|
-
data-test="context-menu-commands-and-priority-button">
|
|
24
|
-
Show Commands & Priority Options
|
|
25
|
-
</button>
|
|
26
|
-
</span>
|
|
27
|
-
|
|
28
|
-
<span class="cell-menu">
|
|
29
|
-
<strong>Cell Menu:</strong>
|
|
30
|
-
<button class="btn btn-outline-secondary btn-xs" (click)="showCellMenuCommandsAndOptions(false)"
|
|
31
|
-
data-test="cell-menu-commands-and-options-false-button">
|
|
32
|
-
Show Action Commands Only
|
|
33
|
-
</button>
|
|
34
|
-
<button class="btn btn-outline-secondary btn-xs" (click)="showCellMenuCommandsAndOptions(true)"
|
|
35
|
-
data-test="cell-menu-commands-and-options-true-button">
|
|
36
|
-
Show Actions Commands & Completed Options
|
|
37
|
-
</button>
|
|
38
|
-
</span>
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
<div class="row locale">
|
|
42
|
-
<div class="col-12">
|
|
43
|
-
<button class="btn btn-outline-secondary btn-xs" (click)="switchLanguage()" data-test="language-button">
|
|
44
|
-
<i class="fa fa-language"></i>
|
|
45
|
-
Switch Language
|
|
46
|
-
</button>
|
|
47
|
-
<b>Locale:</b>
|
|
48
|
-
<span style="font-style: italic" data-test="selected-locale">
|
|
49
|
-
{{selectedLanguage + '.json'}}
|
|
50
|
-
</span>
|
|
51
|
-
</div>
|
|
52
|
-
</div>
|
|
53
|
-
|
|
54
|
-
<div class="col-sm-12">
|
|
55
|
-
<angular-slickgrid gridId="grid26"
|
|
56
|
-
[columnDefinitions]="columnDefinitions"
|
|
57
|
-
[gridOptions]="gridOptions"
|
|
58
|
-
[dataset]="dataset"
|
|
59
|
-
(onAngularGridCreated)="angularGridReady($event.detail)">
|
|
60
|
-
</angular-slickgrid>
|
|
61
|
-
</div>
|
|
62
|
-
</div>
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
.bold {
|
|
2
|
-
font-weight: bold;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.italic {
|
|
6
|
-
font-style: italic;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.grey {
|
|
10
|
-
color: grey;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.orange {
|
|
14
|
-
color: orange;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.red {
|
|
18
|
-
color: red;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.yellow {
|
|
22
|
-
color: rgb(255, 235, 52);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.pointer {
|
|
26
|
-
cursor: pointer;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.disabled {
|
|
30
|
-
color: #ccc;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.fake-hyperlink {
|
|
34
|
-
cursor: pointer;
|
|
35
|
-
color: #08c;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.row.locale {
|
|
39
|
-
margin-top: 5px;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
span.cell-menu {
|
|
43
|
-
margin-left: 15px;
|
|
44
|
-
}
|
|
@@ -1,473 +0,0 @@
|
|
|
1
|
-
import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
3
|
-
import { ExcelExportService } from '@slickgrid-universal/excel-export';
|
|
4
|
-
import { Subscription } from 'rxjs';
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
AngularGridInstance,
|
|
8
|
-
Column,
|
|
9
|
-
ContextMenu,
|
|
10
|
-
ExtensionName,
|
|
11
|
-
FieldType,
|
|
12
|
-
Filters,
|
|
13
|
-
Formatter,
|
|
14
|
-
Formatters,
|
|
15
|
-
GridOption,
|
|
16
|
-
unsubscribeAllObservables,
|
|
17
|
-
} from './../modules/angular-slickgrid';
|
|
18
|
-
|
|
19
|
-
const actionFormatter: Formatter = (row, cell, value, columnDef, dataContext) => {
|
|
20
|
-
if (dataContext.priority === 3) { // option 3 is High
|
|
21
|
-
return `<div class="fake-hyperlink">Action <i class="fa fa-caret-down"></i></div>`;
|
|
22
|
-
}
|
|
23
|
-
return `<div class="disabled">Action <i class="fa fa-caret-down"></i></div>`;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const priorityFormatter: Formatter = (row, cell, value, columnDef, dataContext) => {
|
|
27
|
-
if (!value) {
|
|
28
|
-
return '';
|
|
29
|
-
}
|
|
30
|
-
let output = '';
|
|
31
|
-
const count = +(value >= 3 ? 3 : value);
|
|
32
|
-
const color = count === 3 ? 'red' : (count === 2 ? 'orange' : 'yellow');
|
|
33
|
-
const icon = `<i class="fa fa-star ${color}" aria-hidden="true"></i>`;
|
|
34
|
-
|
|
35
|
-
for (let i = 1; i <= count; i++) {
|
|
36
|
-
output += icon;
|
|
37
|
-
}
|
|
38
|
-
return output;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
const priorityExportFormatter: Formatter = (row, cell, value, columnDef, dataContext, grid) => {
|
|
42
|
-
if (!value) {
|
|
43
|
-
return '';
|
|
44
|
-
}
|
|
45
|
-
const gridOptions = ((grid && typeof grid.getOptions === 'function') ? grid.getOptions() : {}) as GridOption;
|
|
46
|
-
const translate = gridOptions.i18n;
|
|
47
|
-
const count = +(value >= 3 ? 3 : value);
|
|
48
|
-
const key = count === 3 ? 'HIGH' : (count === 2 ? 'MEDIUM' : 'LOW');
|
|
49
|
-
|
|
50
|
-
return translate && translate.instant && translate.instant(key);
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
const taskTranslateFormatter: Formatter = (row, cell, value, columnDef, dataContext, grid) => {
|
|
54
|
-
const gridOptions = grid?.getOptions?.() as GridOption;
|
|
55
|
-
const translate = gridOptions.i18n;
|
|
56
|
-
|
|
57
|
-
return translate && translate.instant && translate.instant('TASK_X', { x: value });
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
@Component({
|
|
61
|
-
templateUrl: './grid-contextmenu.component.html',
|
|
62
|
-
styleUrls: ['./grid-contextmenu.component.scss'],
|
|
63
|
-
encapsulation: ViewEncapsulation.None
|
|
64
|
-
})
|
|
65
|
-
export class GridContextMenuComponent implements OnInit, OnDestroy {
|
|
66
|
-
title = 'Example 26: Cell Menu & Context Menu Plugins';
|
|
67
|
-
subTitle = `Add Cell Menu and Context Menu
|
|
68
|
-
<ul>
|
|
69
|
-
<li>This example demonstrates 2 SlickGrid plugins
|
|
70
|
-
<ol>
|
|
71
|
-
<li>Using the <b>Slick.Plugins.CellMenu</b> plugin, often used for an Action Menu(s), 1 or more per grid
|
|
72
|
-
(<a href="https://github.com/ghiscoding/Angular-Slickgrid/wiki/Cell-Menu" target="_blank">Wiki docs</a>).
|
|
73
|
-
</li>
|
|
74
|
-
<li>Using the <b>Slick.Plugins.ContextMenu</b> plugin, shown after a mouse right+click, only 1 per grid.
|
|
75
|
-
(<a href="https://github.com/ghiscoding/Angular-Slickgrid/wiki/Context-Menu" target="_blank">Wiki docs</a>).
|
|
76
|
-
</li>
|
|
77
|
-
</ol>
|
|
78
|
-
<li>It will also "autoAdjustDrop" (bottom/top) and "autoAlignSide" (left/right) by default but could be turned off</li>
|
|
79
|
-
<li>Both plugins have 2 sections, 1st section can have an array of Options (to change value of a field) and 2nd section an array of Commands (execute a command)</li>
|
|
80
|
-
<li>There are 2 ways to execute a Command/Option</li>
|
|
81
|
-
<ol>
|
|
82
|
-
<li>via onCommand/onOptionSelected (use a switch/case to parse command/option and do something with it)</li>
|
|
83
|
-
<li>via action callback (that can be defined on each command/option)</li>
|
|
84
|
-
</ol>
|
|
85
|
-
<li>Use override callback functions to change the properties of show/hide, enable/disable the menu or certain item(s) from the list</li>
|
|
86
|
-
<ol>
|
|
87
|
-
<li>These callbacks are: "menuUsabilityOverride", "itemVisibilityOverride", "itemUsabilityOverride"</li>
|
|
88
|
-
<li>... e.g. in the demo, the "Action" Cell Menu is only available when Priority is set to "High" via "menuUsabilityOverride"</li>
|
|
89
|
-
<li>... e.g. in the demo, the Context Menu is only available on the first 20 Tasks via "menuUsabilityOverride"</li>
|
|
90
|
-
</ol>
|
|
91
|
-
</ul>`;
|
|
92
|
-
|
|
93
|
-
private subscriptions: Subscription[] = [];
|
|
94
|
-
angularGrid!: AngularGridInstance;
|
|
95
|
-
columnDefinitions!: Column[];
|
|
96
|
-
gridOptions!: GridOption;
|
|
97
|
-
dataset!: any[];
|
|
98
|
-
selectedLanguage: string;
|
|
99
|
-
|
|
100
|
-
constructor(private translate: TranslateService) {
|
|
101
|
-
// always start with English for Cypress E2E tests to be consistent
|
|
102
|
-
const defaultLang = 'en';
|
|
103
|
-
this.translate.use(defaultLang);
|
|
104
|
-
this.selectedLanguage = defaultLang;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
angularGridReady(angularGrid: AngularGridInstance) {
|
|
108
|
-
this.angularGrid = angularGrid;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
get cellMenuInstance() {
|
|
112
|
-
return this.angularGrid?.extensionService?.getExtensionInstanceByName(ExtensionName.cellMenu);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
get contextMenuInstance() {
|
|
116
|
-
return this.angularGrid?.extensionService?.getExtensionInstanceByName(ExtensionName.contextMenu);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
ngOnInit() {
|
|
120
|
-
this.prepareGrid();
|
|
121
|
-
this.dataset = this.getData(1000);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
ngOnDestroy() {
|
|
125
|
-
// also unsubscribe all Angular Subscriptions
|
|
126
|
-
this.subscriptions = unsubscribeAllObservables(this.subscriptions);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
prepareGrid() {
|
|
130
|
-
this.columnDefinitions = [
|
|
131
|
-
{ id: 'id', name: '#', field: 'id', maxWidth: 45, sortable: true, filterable: true },
|
|
132
|
-
{
|
|
133
|
-
id: 'title', name: 'Title', field: 'id', nameKey: 'TITLE', minWidth: 100,
|
|
134
|
-
formatter: taskTranslateFormatter,
|
|
135
|
-
sortable: true,
|
|
136
|
-
filterable: true,
|
|
137
|
-
params: { useFormatterOuputToFilter: true }
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
id: 'percentComplete', nameKey: 'PERCENT_COMPLETE', field: 'percentComplete', minWidth: 100,
|
|
141
|
-
exportWithFormatter: false,
|
|
142
|
-
sortable: true, filterable: true,
|
|
143
|
-
filter: { model: Filters.slider, operator: '>=' },
|
|
144
|
-
formatter: Formatters.percentCompleteBar, type: FieldType.number,
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
id: 'start', name: 'Start', field: 'start', nameKey: 'START', minWidth: 100,
|
|
148
|
-
formatter: Formatters.dateIso, outputType: FieldType.dateIso, type: FieldType.date,
|
|
149
|
-
filterable: true, filter: { model: Filters.compoundDate }
|
|
150
|
-
},
|
|
151
|
-
{ id: 'finish', name: 'Finish', field: 'finish', nameKey: 'FINISH', formatter: Formatters.dateIso, outputType: FieldType.dateIso, type: FieldType.date, minWidth: 100, filterable: true, filter: { model: Filters.compoundDate } },
|
|
152
|
-
{
|
|
153
|
-
id: 'priority', nameKey: 'PRIORITY', field: 'priority',
|
|
154
|
-
exportCustomFormatter: priorityExportFormatter,
|
|
155
|
-
formatter: priorityFormatter,
|
|
156
|
-
sortable: true, filterable: true,
|
|
157
|
-
filter: {
|
|
158
|
-
collection: [{ value: '', label: '' }, { value: 1, labelKey: 'LOW' }, { value: 2, labelKey: 'MEDIUM' }, { value: 3, labelKey: 'HIGH' }],
|
|
159
|
-
model: Filters.singleSelect,
|
|
160
|
-
enableTranslateLabel: true,
|
|
161
|
-
filterOptions: {
|
|
162
|
-
autoDropWidth: true
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
id: 'completed', nameKey: 'COMPLETED', field: 'completed',
|
|
168
|
-
exportCustomFormatter: Formatters.translateBoolean,
|
|
169
|
-
formatter: Formatters.checkmark,
|
|
170
|
-
sortable: true, filterable: true,
|
|
171
|
-
filter: {
|
|
172
|
-
collection: [{ value: '', label: '' }, { value: true, labelKey: 'TRUE' }, { value: false, labelKey: 'FALSE' }],
|
|
173
|
-
model: Filters.singleSelect,
|
|
174
|
-
enableTranslateLabel: true,
|
|
175
|
-
filterOptions: {
|
|
176
|
-
autoDropWidth: true
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
id: 'action', name: 'Action', field: 'action', width: 110, maxWidth: 200,
|
|
182
|
-
excludeFromExport: true,
|
|
183
|
-
formatter: actionFormatter,
|
|
184
|
-
cellMenu: {
|
|
185
|
-
hideCloseButton: false,
|
|
186
|
-
// you can override the logic of when the menu is usable
|
|
187
|
-
// for example say that we want to show a menu only when then Priority is set to 'High'.
|
|
188
|
-
// Note that this ONLY overrides the usability itself NOT the text displayed in the cell,
|
|
189
|
-
// if you wish to change the cell text (or hide it)
|
|
190
|
-
// then you SHOULD use it in combination with a custom formatter (actionFormatter) and use the same logic in that formatter
|
|
191
|
-
menuUsabilityOverride: (args) => {
|
|
192
|
-
return (args.dataContext.priority === 3); // option 3 is High
|
|
193
|
-
},
|
|
194
|
-
|
|
195
|
-
// when using Translate Service, every translation will have the suffix "Key"
|
|
196
|
-
// else use title without the suffix, for example "commandTitle" (no translations) or "commandTitleKey" (with translations)
|
|
197
|
-
commandTitleKey: 'COMMANDS', // optional title, use "commandTitle" when not using Translate
|
|
198
|
-
commandItems: [
|
|
199
|
-
// array of command item objects, you can also use the "positionOrder" that will be used to sort the items in the list
|
|
200
|
-
{
|
|
201
|
-
command: 'command2', title: 'Command 2', positionOrder: 62,
|
|
202
|
-
// you can use the "action" callback and/or use "onCallback" callback from the grid options, they both have the same arguments
|
|
203
|
-
action: (e, args) => {
|
|
204
|
-
console.log(args.dataContext, args.column);
|
|
205
|
-
// action callback.. do something
|
|
206
|
-
},
|
|
207
|
-
// only enable command when the task is not completed
|
|
208
|
-
itemUsabilityOverride: (args) => {
|
|
209
|
-
return !args.dataContext.completed;
|
|
210
|
-
}
|
|
211
|
-
},
|
|
212
|
-
{ command: 'command1', title: 'Command 1', cssClass: 'orange', positionOrder: 61 },
|
|
213
|
-
{
|
|
214
|
-
command: 'delete-row', titleKey: 'DELETE_ROW', positionOrder: 64,
|
|
215
|
-
iconCssClass: 'fa fa-times', cssClass: 'red', textCssClass: 'bold',
|
|
216
|
-
// only show command to 'Delete Row' when the task is not completed
|
|
217
|
-
itemVisibilityOverride: (args) => {
|
|
218
|
-
return !args.dataContext.completed;
|
|
219
|
-
}
|
|
220
|
-
},
|
|
221
|
-
// you can pass divider as a string or an object with a boolean (if sorting by position, then use the object)
|
|
222
|
-
// note you should use the "divider" string only when items array is already sorted and positionOrder are not specified
|
|
223
|
-
{ divider: true, command: '', positionOrder: 63 },
|
|
224
|
-
// 'divider',
|
|
225
|
-
|
|
226
|
-
{
|
|
227
|
-
command: 'help',
|
|
228
|
-
titleKey: 'HELP', // use "title" without translation and "titleKey" with TranslateService
|
|
229
|
-
iconCssClass: 'fa fa-question-circle',
|
|
230
|
-
positionOrder: 66,
|
|
231
|
-
},
|
|
232
|
-
{ command: 'something', titleKey: 'DISABLED_COMMAND', disabled: true, positionOrder: 67, }
|
|
233
|
-
],
|
|
234
|
-
optionTitleKey: 'CHANGE_COMPLETED_FLAG',
|
|
235
|
-
optionItems: [
|
|
236
|
-
{ option: true, titleKey: 'TRUE', iconCssClass: 'fa fa-check-square-o' },
|
|
237
|
-
{ option: false, titleKey: 'FALSE', iconCssClass: 'fa fa-square-o' },
|
|
238
|
-
{
|
|
239
|
-
option: null, title: 'null', cssClass: 'italic',
|
|
240
|
-
// you can use the "action" callback and/or use "onCallback" callback from the grid options, they both have the same arguments
|
|
241
|
-
action: (e, args) => {
|
|
242
|
-
// action callback.. do something
|
|
243
|
-
},
|
|
244
|
-
// only enable Action menu when the Priority is set to High
|
|
245
|
-
itemUsabilityOverride: (args) => {
|
|
246
|
-
return (args.dataContext.priority === 3);
|
|
247
|
-
},
|
|
248
|
-
// only show command to 'Delete Row' when the task is not completed
|
|
249
|
-
itemVisibilityOverride: (args) => {
|
|
250
|
-
return !args.dataContext.completed;
|
|
251
|
-
}
|
|
252
|
-
},
|
|
253
|
-
]
|
|
254
|
-
}
|
|
255
|
-
},
|
|
256
|
-
];
|
|
257
|
-
|
|
258
|
-
this.gridOptions = {
|
|
259
|
-
autoResize: {
|
|
260
|
-
container: '#demo-container',
|
|
261
|
-
rightPadding: 10
|
|
262
|
-
},
|
|
263
|
-
enableCellNavigation: true,
|
|
264
|
-
enableFiltering: true,
|
|
265
|
-
enableSorting: true,
|
|
266
|
-
enableTranslate: true,
|
|
267
|
-
enableExcelExport: true,
|
|
268
|
-
excelExportOptions: {
|
|
269
|
-
exportWithFormatter: true,
|
|
270
|
-
customColumnWidth: 15,
|
|
271
|
-
|
|
272
|
-
// you can customize how the header titles will be styled (defaults to Bold)
|
|
273
|
-
columnHeaderStyle: { font: { bold: true, italic: true } }
|
|
274
|
-
},
|
|
275
|
-
i18n: this.translate,
|
|
276
|
-
registerExternalResources: [new ExcelExportService()],
|
|
277
|
-
|
|
278
|
-
enableContextMenu: true,
|
|
279
|
-
enableCellMenu: true,
|
|
280
|
-
|
|
281
|
-
// when using the cellMenu, you can change some of the default options and all use some of the callback methods
|
|
282
|
-
cellMenu: {
|
|
283
|
-
// all the Cell Menu callback methods (except the action callback)
|
|
284
|
-
// are available under the grid options as shown below
|
|
285
|
-
onCommand: (e, args) => this.executeCommand(e, args),
|
|
286
|
-
onOptionSelected: (e, args) => {
|
|
287
|
-
// change "Completed" property with new option selected from the Cell Menu
|
|
288
|
-
const dataContext = args && args.dataContext;
|
|
289
|
-
if (dataContext && dataContext.hasOwnProperty('completed')) {
|
|
290
|
-
dataContext.completed = args.item.option;
|
|
291
|
-
this.angularGrid.gridService.updateItem(dataContext);
|
|
292
|
-
}
|
|
293
|
-
},
|
|
294
|
-
onBeforeMenuShow: ((e, args) => {
|
|
295
|
-
// for example, you could select the row that the click originated
|
|
296
|
-
// this.angularGrid.gridService.setSelectedRows([args.row]);
|
|
297
|
-
console.log('Before the Cell Menu is shown', args);
|
|
298
|
-
}),
|
|
299
|
-
onBeforeMenuClose: ((e, args) => console.log('Cell Menu is closing', args)),
|
|
300
|
-
},
|
|
301
|
-
|
|
302
|
-
// load Context Menu structure
|
|
303
|
-
contextMenu: this.getContextMenuOptions(),
|
|
304
|
-
};
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
executeCommand(e: Event, args: any) {
|
|
308
|
-
const columnDef = args.column;
|
|
309
|
-
const command = args.command;
|
|
310
|
-
const dataContext = args.dataContext;
|
|
311
|
-
|
|
312
|
-
switch (command) {
|
|
313
|
-
case 'command1':
|
|
314
|
-
alert('Command 1');
|
|
315
|
-
break;
|
|
316
|
-
case 'command2':
|
|
317
|
-
alert('Command 2');
|
|
318
|
-
break;
|
|
319
|
-
case 'help':
|
|
320
|
-
alert('Please help!');
|
|
321
|
-
break;
|
|
322
|
-
case 'delete-row':
|
|
323
|
-
if (confirm(`Do you really want to delete row ${args.row + 1} with ${this.translate.instant('TASK_X', { x: dataContext.id })}`)) {
|
|
324
|
-
this.angularGrid.dataView.deleteItem(dataContext.id);
|
|
325
|
-
}
|
|
326
|
-
break;
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
getData(count: number) {
|
|
331
|
-
// mock a dataset
|
|
332
|
-
const tmpData = [];
|
|
333
|
-
for (let i = 0; i < count; i++) {
|
|
334
|
-
const randomYear = 2000 + Math.floor(Math.random() * 30);
|
|
335
|
-
const randomMonth = Math.floor(Math.random() * 11);
|
|
336
|
-
const randomDay = Math.floor((Math.random() * 29));
|
|
337
|
-
|
|
338
|
-
tmpData[i] = {
|
|
339
|
-
id: i,
|
|
340
|
-
duration: Math.floor(Math.random() * 25) + ' days',
|
|
341
|
-
percentComplete: Math.floor(Math.random() * 100),
|
|
342
|
-
start: new Date(randomYear, randomMonth, randomDay),
|
|
343
|
-
finish: new Date(randomYear, (randomMonth + 1), randomDay),
|
|
344
|
-
priority: i % 3 ? 2 : (i % 5 ? 3 : 1),
|
|
345
|
-
completed: (i % 4 === 0),
|
|
346
|
-
};
|
|
347
|
-
}
|
|
348
|
-
return tmpData;
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
getContextMenuOptions(): ContextMenu {
|
|
352
|
-
return {
|
|
353
|
-
hideCloseButton: false,
|
|
354
|
-
// optionally and conditionally define when the the menu is usable,
|
|
355
|
-
// this should be used with a custom formatter to show/hide/disable the menu
|
|
356
|
-
menuUsabilityOverride: (args) => {
|
|
357
|
-
const dataContext = args && args.dataContext;
|
|
358
|
-
return (dataContext.id < 21); // say we want to display the menu only from Task 0 to 20
|
|
359
|
-
},
|
|
360
|
-
// which column to show the command list? when not defined it will be shown over all columns
|
|
361
|
-
commandShownOverColumnIds: ['id', 'title', 'percentComplete', 'start', 'finish', 'completed' /*, 'priority', 'action' */],
|
|
362
|
-
commandTitleKey: 'COMMANDS', // this title is optional, you could also use "commandTitle" when not using Translate
|
|
363
|
-
commandItems: [
|
|
364
|
-
{ divider: true, command: '', positionOrder: 61 },
|
|
365
|
-
{ command: 'delete-row', titleKey: 'DELETE_ROW', iconCssClass: 'fa fa-times', cssClass: 'red', textCssClass: 'bold', positionOrder: 62 },
|
|
366
|
-
// you can pass divider as a string or an object with a boolean (if sorting by position, then use the object)
|
|
367
|
-
// note you should use the "divider" string only when items array is already sorted and positionOrder are not specified
|
|
368
|
-
// 'divider',
|
|
369
|
-
{ divider: true, command: '', positionOrder: 63 },
|
|
370
|
-
{
|
|
371
|
-
command: 'help', titleKey: 'HELP', iconCssClass: 'fa fa-question-circle', positionOrder: 64,
|
|
372
|
-
// you can use the 'action' callback and/or subscribe to the 'onCallback' event, they both have the same arguments
|
|
373
|
-
action: (e, args) => {
|
|
374
|
-
// action callback.. do something
|
|
375
|
-
},
|
|
376
|
-
// only show command to 'Help' when the task is Not Completed
|
|
377
|
-
itemVisibilityOverride: (args) => {
|
|
378
|
-
const dataContext = args && args.dataContext;
|
|
379
|
-
return (!dataContext.completed);
|
|
380
|
-
}
|
|
381
|
-
},
|
|
382
|
-
{ command: 'something', titleKey: 'DISABLED_COMMAND', disabled: true, positionOrder: 65 },
|
|
383
|
-
],
|
|
384
|
-
|
|
385
|
-
// Options allows you to edit a column from an option chose a list
|
|
386
|
-
// for example, changing the Priority value
|
|
387
|
-
// you can also optionally define an array of column ids that you wish to display this option list (when not defined it will show over all columns)
|
|
388
|
-
optionTitleKey: 'CHANGE_PRIORITY',
|
|
389
|
-
optionShownOverColumnIds: ['priority'], // optional, when defined it will only show over the columns (column id) defined in the array
|
|
390
|
-
optionItems: [
|
|
391
|
-
{
|
|
392
|
-
option: 0, title: 'n/a', textCssClass: 'italic',
|
|
393
|
-
// only enable this option when the task is Not Completed
|
|
394
|
-
itemUsabilityOverride: (args) => {
|
|
395
|
-
const dataContext = args && args.dataContext;
|
|
396
|
-
return (!dataContext.completed);
|
|
397
|
-
},
|
|
398
|
-
// you can use the 'action' callback and/or subscribe to the 'onCallback' event, they both have the same arguments
|
|
399
|
-
action: (e, args) => {
|
|
400
|
-
// action callback.. do something
|
|
401
|
-
},
|
|
402
|
-
},
|
|
403
|
-
{ option: 1, iconCssClass: 'fa fa-star-o yellow', titleKey: 'LOW' },
|
|
404
|
-
{ option: 2, iconCssClass: 'fa fa-star-half-o orange', titleKey: 'MEDIUM' },
|
|
405
|
-
{ option: 3, iconCssClass: 'fa fa-star red', titleKey: 'HIGH' },
|
|
406
|
-
// you can pass divider as a string or an object with a boolean (if sorting by position, then use the object)
|
|
407
|
-
// note you should use the "divider" string only when items array is already sorted and positionOrder are not specified
|
|
408
|
-
'divider',
|
|
409
|
-
// { divider: true, option: '', positionOrder: 3 },
|
|
410
|
-
{
|
|
411
|
-
option: 4, title: 'Extreme', iconCssClass: 'fa fa-fire', disabled: true,
|
|
412
|
-
// only shown when the task is Not Completed
|
|
413
|
-
itemVisibilityOverride: (args) => {
|
|
414
|
-
const dataContext = args && args.dataContext;
|
|
415
|
-
return (!dataContext.completed);
|
|
416
|
-
}
|
|
417
|
-
},
|
|
418
|
-
],
|
|
419
|
-
// subscribe to Context Menu
|
|
420
|
-
onBeforeMenuShow: ((e, args) => {
|
|
421
|
-
// for example, you could select the row it was clicked with
|
|
422
|
-
// grid.setSelectedRows([args.row]); // select the entire row
|
|
423
|
-
this.angularGrid.slickGrid.setActiveCell(args.row, args.cell, false); // select the cell that the click originated
|
|
424
|
-
console.log('Before the global Context Menu is shown', args);
|
|
425
|
-
}),
|
|
426
|
-
onBeforeMenuClose: ((e, args) => console.log('Global Context Menu is closing', args)),
|
|
427
|
-
|
|
428
|
-
// subscribe to Context Menu onCommand event (or use the action callback on each command)
|
|
429
|
-
onCommand: ((e, args) => this.executeCommand(e, args)),
|
|
430
|
-
|
|
431
|
-
// subscribe to Context Menu onOptionSelected event (or use the action callback on each option)
|
|
432
|
-
onOptionSelected: ((e, args) => {
|
|
433
|
-
// change Priority
|
|
434
|
-
const dataContext = args && args.dataContext;
|
|
435
|
-
if (dataContext?.hasOwnProperty('priority')) {
|
|
436
|
-
dataContext.priority = args.item.option;
|
|
437
|
-
this.angularGrid.gridService.updateItem(dataContext);
|
|
438
|
-
}
|
|
439
|
-
}),
|
|
440
|
-
};
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
showContextCommandsAndOptions(showBothList: boolean) {
|
|
444
|
-
// when showing both Commands/Options, we can just pass an empty array to show over all columns
|
|
445
|
-
// else show on all columns except Priority
|
|
446
|
-
const showOverColumnIds = showBothList ? [] : ['id', 'title', 'complete', 'start', 'finish', 'completed', 'action'];
|
|
447
|
-
this.contextMenuInstance?.setOptions({
|
|
448
|
-
commandShownOverColumnIds: showOverColumnIds,
|
|
449
|
-
// hideCommandSection: !showBothList
|
|
450
|
-
});
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
showCellMenuCommandsAndOptions(showBothList: boolean) {
|
|
454
|
-
// change via the plugin setOptions
|
|
455
|
-
this.cellMenuInstance?.setOptions({
|
|
456
|
-
hideOptionSection: !showBothList
|
|
457
|
-
});
|
|
458
|
-
|
|
459
|
-
// OR find the column, then change the same hide property
|
|
460
|
-
// var actionColumn = columns.find(function (column) { return column.id === 'action' });
|
|
461
|
-
// actionColumn.cellMenu.hideOptionSection = !showBothList;
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
switchLanguage() {
|
|
465
|
-
const nextLanguage = (this.selectedLanguage === 'en') ? 'fr' : 'en';
|
|
466
|
-
|
|
467
|
-
this.subscriptions.push(
|
|
468
|
-
this.translate.use(nextLanguage).subscribe(() => {
|
|
469
|
-
this.selectedLanguage = nextLanguage;
|
|
470
|
-
})
|
|
471
|
-
);
|
|
472
|
-
}
|
|
473
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
<div class="container-fluid">
|
|
2
|
-
<h2>
|
|
3
|
-
{{title}}
|
|
4
|
-
<span class="float-end">
|
|
5
|
-
<a style="font-size: 18px"
|
|
6
|
-
target="_blank"
|
|
7
|
-
href="https://github.com/ghiscoding/Angular-Slickgrid/blob/master/src/app/examples/grid-custom-tooltip.component.ts">
|
|
8
|
-
<span class="fa fa-link"></span> code
|
|
9
|
-
</a>
|
|
10
|
-
</span>
|
|
11
|
-
</h2>
|
|
12
|
-
<div class="subtitle" [innerHTML]="subTitle"></div>
|
|
13
|
-
|
|
14
|
-
<div style="margin-bottom: 20px;">
|
|
15
|
-
<label for="pinned-rows">Simulated Server Delay (ms): </label>
|
|
16
|
-
<input type="number" id="server-delay" data-test="server-delay" style="width: 60px" [(ngModel)]="serverApiDelay">
|
|
17
|
-
</div>
|
|
18
|
-
|
|
19
|
-
<angular-slickgrid gridId="grid32"
|
|
20
|
-
[columnDefinitions]="columnDefinitions"
|
|
21
|
-
[gridOptions]="gridOptions"
|
|
22
|
-
[dataset]="dataset"
|
|
23
|
-
(onAngularGridCreated)="angularGridReady($event.detail)">
|
|
24
|
-
</angular-slickgrid>
|
|
25
|
-
</div>
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
$slick-button-border-color: #ababab !default;
|
|
2
|
-
@import '@slickgrid-universal/common/dist/styles/sass/slickgrid-theme-bootstrap.scss';
|
|
3
|
-
|
|
4
|
-
// --
|
|
5
|
-
// Custom Tooltips CSS Variables (or SASS equivalent)
|
|
6
|
-
// ----------------------------------------------------
|
|
7
|
-
// :root {
|
|
8
|
-
// --slick-tooltip-background-color: #363636;
|
|
9
|
-
// --slick-tooltip-border-color: #252525;
|
|
10
|
-
// --slick-tooltip-border: 2px solid #252525;
|
|
11
|
-
// --slick-tooltip-color: #ffffff;
|
|
12
|
-
|
|
13
|
-
// --slick-tooltip-arrow-color: var(--slick-tooltip-border-color);
|
|
14
|
-
// --slick-tooltip-arrow-size: 10px;
|
|
15
|
-
// --slick-tooltip-arrow-side-margin: 15px;
|
|
16
|
-
// }
|
|
17
|
-
|
|
18
|
-
.editable-field {
|
|
19
|
-
background-color: rgba(227, 240, 251, 0.569) !important;
|
|
20
|
-
}
|
|
21
|
-
.unsaved-editable-field {
|
|
22
|
-
background-color: #fbfdd1 !important;
|
|
23
|
-
}
|
|
24
|
-
.button-style {
|
|
25
|
-
cursor: pointer;
|
|
26
|
-
background-color: white;
|
|
27
|
-
border: 1px solid #{$slick-button-border-color};
|
|
28
|
-
border-radius: 2px;
|
|
29
|
-
justify-content: center;
|
|
30
|
-
text-align: center;
|
|
31
|
-
&:hover {
|
|
32
|
-
border-color: darken($slick-button-border-color, 10%);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.header-tooltip-title {
|
|
37
|
-
font-weight: bold;
|
|
38
|
-
font-size: 14px;
|
|
39
|
-
}
|
|
40
|
-
.headerrow-tooltip-title {
|
|
41
|
-
color: #AD0041;
|
|
42
|
-
font-style: italic;
|
|
43
|
-
font-size: 13px;
|
|
44
|
-
font-weight: bold;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// it's preferable to use CSS Variables (or SASS) but if you want to change colors of your tooltip for 1 column in particular you can do it this way
|
|
48
|
-
// e.g. change css of 5th column 4 (zero index: l4)
|
|
49
|
-
.l4 .header-tooltip-title,
|
|
50
|
-
.l4 .headerrow-tooltip-title {
|
|
51
|
-
color: #ffffff;
|
|
52
|
-
}
|
|
53
|
-
.l4.slick-custom-tooltip {
|
|
54
|
-
color: #ffffff;
|
|
55
|
-
background-color: #363636;
|
|
56
|
-
border: 2px solid #252525;
|
|
57
|
-
}
|
|
58
|
-
.l4.slick-custom-tooltip.arrow-down::after,
|
|
59
|
-
.l4.slick-custom-tooltip.arrow-up::after {
|
|
60
|
-
border-width: 10px; // arrow size
|
|
61
|
-
}
|
|
62
|
-
.l4.slick-custom-tooltip.arrow-down::after {
|
|
63
|
-
border-top-color: #252525; // arrow down color
|
|
64
|
-
}
|
|
65
|
-
.l4.slick-custom-tooltip.arrow-up::after {
|
|
66
|
-
top: -20px; // arrow size * 2
|
|
67
|
-
border-bottom-color: #252525; // arrow up color
|
|
68
|
-
}
|
|
69
|
-
.l4.slick-custom-tooltip.arrow-left-align::after {
|
|
70
|
-
margin-left: 15px;
|
|
71
|
-
}
|
|
72
|
-
.l4.slick-custom-tooltip.arrow-right-align::after {
|
|
73
|
-
margin-left: calc(100% - 20px - 15px); // 20px is (arrow size * 2), 15px is your extra side margin
|
|
74
|
-
}
|
|
75
|
-
.l6.slick-custom-tooltip.arrow-left-align::after {
|
|
76
|
-
margin-left: 4px;
|
|
77
|
-
}
|