@dignite-ng/expand.cms 2.0.0-rc.1 → 2.0.0-rc.10
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/config/ng-package.json +6 -0
- package/config/src/cms-config.module.ts +13 -0
- package/config/{enums/index.d.ts → src/enums/index.ts} +1 -1
- package/config/src/enums/route-names.ts +7 -0
- package/config/{providers/index.d.ts → src/providers/index.ts} +1 -1
- package/config/src/providers/route.provider.ts +68 -0
- package/config/{public-api.d.ts → src/public-api.ts} +3 -3
- package/ng-package.json +10 -0
- package/package.json +7 -22
- package/src/lib/cms-routing.module.ts +102 -0
- package/src/lib/cms.module.ts +113 -0
- package/src/lib/components/admin/entries/create-or-edit-entries.component.html +137 -0
- package/src/lib/components/admin/entries/create-or-edit-entries.component.scss +0 -0
- package/src/lib/components/admin/entries/create-or-edit-entries.component.spec.ts +21 -0
- package/src/lib/components/admin/entries/create-or-edit-entries.component.ts +216 -0
- package/src/lib/components/admin/entries/create-or-update-entry-input-base.ts +26 -0
- package/src/lib/components/admin/entries/create.component.html +16 -0
- package/src/lib/components/admin/entries/create.component.scss +0 -0
- package/src/lib/components/admin/entries/create.component.spec.ts +21 -0
- package/src/lib/components/admin/entries/create.component.ts +130 -0
- package/src/lib/components/admin/entries/edit.component.html +9 -0
- package/src/lib/components/admin/entries/edit.component.scss +0 -0
- package/src/lib/components/admin/entries/edit.component.spec.ts +21 -0
- package/src/lib/components/admin/entries/edit.component.ts +134 -0
- package/src/lib/components/admin/entries/entries.component.html +225 -0
- package/src/lib/components/admin/entries/entries.component.scss +109 -0
- package/src/lib/components/admin/entries/entries.component.spec.ts +21 -0
- package/src/lib/components/admin/entries/entries.component.ts +394 -0
- package/src/lib/components/admin/entries/index.ts +4 -0
- package/src/lib/components/admin/fields/create-field.component.html +12 -0
- package/src/lib/components/admin/fields/create-field.component.scss +1 -0
- package/src/lib/components/admin/fields/create-field.component.spec.ts +21 -0
- package/src/lib/components/admin/fields/create-field.component.ts +85 -0
- package/src/lib/components/admin/fields/create-or-edit-field.component.html +39 -0
- package/src/lib/components/admin/fields/create-or-edit-field.component.scss +0 -0
- package/src/lib/components/admin/fields/create-or-edit-field.component.spec.ts +21 -0
- package/src/lib/components/admin/fields/create-or-edit-field.component.ts +140 -0
- package/src/lib/components/admin/fields/create-or-update-field-input-base.ts +33 -0
- package/src/lib/components/admin/fields/edit-field.component.html +14 -0
- package/src/lib/components/admin/fields/edit-field.component.scss +0 -0
- package/src/lib/components/admin/fields/edit-field.component.spec.ts +21 -0
- package/src/lib/components/admin/fields/edit-field.component.ts +112 -0
- package/src/lib/components/admin/fields/field-group.component.html +69 -0
- package/src/lib/components/admin/fields/field-group.component.scss +0 -0
- package/src/lib/components/admin/fields/field-group.component.spec.ts +21 -0
- package/src/lib/components/admin/fields/field-group.component.ts +151 -0
- package/src/lib/components/admin/fields/fields.component.html +25 -0
- package/src/lib/components/admin/fields/fields.component.scss +1 -0
- package/src/lib/components/admin/fields/fields.component.spec.ts +21 -0
- package/src/lib/components/admin/fields/fields.component.ts +109 -0
- package/src/lib/components/admin/fields/index.ts +6 -0
- package/src/lib/components/admin/index.ts +3 -0
- package/src/lib/components/admin/sections/create-or-edit-sections-modal.component.html +81 -0
- package/src/lib/components/admin/sections/create-or-edit-sections-modal.component.scss +0 -0
- package/src/lib/components/admin/sections/create-or-edit-sections-modal.component.spec.ts +23 -0
- package/src/lib/components/admin/sections/create-or-edit-sections-modal.component.ts +239 -0
- package/src/lib/components/admin/sections/create-or-update-sections-input-base.ts +23 -0
- package/src/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.ts +52 -0
- package/src/lib/components/admin/sections/entry-types/create-or-edit.component.html +195 -0
- package/src/lib/components/admin/sections/entry-types/create-or-edit.component.scss +1 -0
- package/src/lib/components/admin/sections/entry-types/create-or-edit.component.spec.ts +21 -0
- package/src/lib/components/admin/sections/entry-types/create-or-edit.component.ts +442 -0
- package/src/lib/components/admin/sections/entry-types/index.ts +2 -0
- package/src/lib/components/admin/sections/index.ts +3 -0
- package/src/lib/components/admin/sections/sections.component.html +189 -0
- package/src/lib/components/admin/sections/sections.component.scss +1 -0
- package/src/lib/components/admin/sections/sections.component.spec.ts +21 -0
- package/src/lib/components/admin/sections/sections.component.ts +136 -0
- package/src/lib/components/dynamic-form/entry/entry-config.component.html +26 -0
- package/src/lib/components/dynamic-form/entry/entry-config.component.scss +27 -0
- package/src/lib/components/dynamic-form/entry/entry-config.component.spec.ts +21 -0
- package/src/lib/components/dynamic-form/entry/entry-config.component.ts +119 -0
- package/src/lib/components/dynamic-form/entry/entry-config.ts +22 -0
- package/src/lib/components/dynamic-form/entry/entry-control.component.html +25 -0
- package/src/lib/components/dynamic-form/entry/entry-control.component.scss +35 -0
- package/src/lib/components/dynamic-form/entry/entry-control.component.spec.ts +21 -0
- package/src/lib/components/dynamic-form/entry/entry-control.component.ts +111 -0
- package/src/lib/components/dynamic-form/entry/index.ts +3 -0
- package/src/lib/components/dynamic-form/form-control-group.ts +27 -0
- package/src/lib/components/dynamic-form/index.ts +4 -0
- package/src/lib/components/dynamic-form/matrix/index.ts +3 -0
- package/src/lib/components/dynamic-form/matrix/matrix-config.component.html +148 -0
- package/src/lib/components/dynamic-form/matrix/matrix-config.component.scss +0 -0
- package/src/lib/components/dynamic-form/matrix/matrix-config.component.spec.ts +21 -0
- package/src/lib/components/dynamic-form/matrix/matrix-config.component.ts +244 -0
- package/src/lib/components/dynamic-form/matrix/matrix-config.ts +63 -0
- package/src/lib/components/dynamic-form/matrix/matrix-control.component.html +42 -0
- package/src/lib/components/dynamic-form/matrix/matrix-control.component.scss +0 -0
- package/src/lib/components/dynamic-form/matrix/matrix-control.component.spec.ts +21 -0
- package/src/lib/components/dynamic-form/matrix/matrix-control.component.ts +118 -0
- package/src/lib/components/dynamic-form/table/index.ts +3 -0
- package/src/lib/components/dynamic-form/table/table-config.component.html +85 -0
- package/src/lib/components/dynamic-form/table/table-config.component.scss +10 -0
- package/src/lib/components/dynamic-form/table/table-config.component.spec.ts +21 -0
- package/src/lib/components/dynamic-form/table/table-config.component.ts +177 -0
- package/src/lib/components/dynamic-form/table/table-config.ts +45 -0
- package/src/lib/components/dynamic-form/table/table-control.component.html +54 -0
- package/src/lib/components/dynamic-form/table/table-control.component.scss +1 -0
- package/src/lib/components/dynamic-form/table/table-control.component.spec.ts +21 -0
- package/src/lib/components/dynamic-form/table/table-control.component.ts +127 -0
- package/src/lib/components/index.ts +2 -0
- package/src/lib/constants/index.ts +1 -0
- package/src/lib/constants/styles.ts +18 -0
- package/src/lib/enums/ecms-component.ts +11 -0
- package/src/lib/enums/index.ts +1 -0
- package/src/lib/proxy/README.md +17 -0
- package/src/lib/proxy/dignite/abp/data/index.ts +1 -0
- package/src/lib/proxy/dignite/abp/data/models.ts +4 -0
- package/src/lib/proxy/dignite/abp/index.ts +3 -0
- package/src/lib/proxy/dignite/abp/regionalization-management/index.ts +2 -0
- package/src/lib/proxy/dignite/abp/regionalization-management/models.ts +10 -0
- package/src/lib/proxy/dignite/abp/regionalization-management/regionalization.service.ts +29 -0
- package/src/lib/proxy/dignite/cms/admin/dynamic-forms/form-admin.service.ts +20 -0
- package/src/lib/proxy/dignite/cms/admin/dynamic-forms/models.ts +6 -0
- package/src/lib/proxy/dignite/cms/admin/entries/entry-admin.service.ts +109 -0
- package/src/lib/proxy/dignite/cms/admin/entries/models.ts +69 -0
- package/src/lib/proxy/dignite/cms/admin/fields/field-admin.service.ts +64 -0
- package/src/lib/proxy/dignite/cms/admin/fields/field-group-admin.service.ts +56 -0
- package/src/lib/proxy/dignite/cms/admin/fields/models.ts +42 -0
- package/src/lib/proxy/dignite/cms/admin/index.ts +5 -0
- package/src/lib/proxy/dignite/cms/admin/sections/entry-type-admin.service.ts +55 -0
- package/{lib/proxy/admin/sections/models.d.ts → src/lib/proxy/dignite/cms/admin/sections/models.ts} +82 -67
- package/src/lib/proxy/dignite/cms/admin/sections/section-admin.service.ts +74 -0
- package/src/lib/proxy/dignite/cms/entries/entry-status.enum.ts +8 -0
- package/src/lib/proxy/dignite/cms/fields/index.ts +1 -0
- package/src/lib/proxy/dignite/cms/fields/models.ts +9 -0
- package/src/lib/proxy/dignite/cms/index.ts +5 -0
- package/src/lib/proxy/dignite/cms/sections/models.ts +15 -0
- package/src/lib/proxy/dignite/cms/sections/section-type.enum.ts +9 -0
- package/src/lib/proxy/dignite/index.ts +3 -0
- package/src/lib/proxy/generate-proxy.json +54593 -0
- package/src/lib/proxy/index.ts +3 -0
- package/src/lib/proxy/volo/cms-kit/index.ts +2 -0
- package/src/lib/proxy/volo/cms-kit/users/index.ts +1 -0
- package/{lib/proxy/volo/cms-kit/users/models.d.ts → src/lib/proxy/volo/cms-kit/users/models.ts} +8 -7
- package/src/lib/proxy/volo/index.ts +2 -0
- package/src/lib/resolvers/extensions-props-action-token.resolver.ts +182 -0
- package/src/lib/resolvers/page-default-toolbar-actions.ts +173 -0
- package/src/lib/resolvers/table-default-entity-actions.ts +29 -0
- package/src/lib/resolvers/table-default-entity-props.ts +62 -0
- package/src/lib/services/appent-content.ts +13 -0
- package/src/lib/services/cms-api.service.ts +90 -0
- package/src/lib/services/cms.service.ts +18 -0
- package/src/lib/services/field-abstracts.service.ts +39 -0
- package/src/lib/services/index.ts +3 -0
- package/src/lib/services/validator.ts +10 -0
- package/src/public-api.ts +7 -0
- package/src/test.ts +26 -0
- package/tsconfig.lib.json +16 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +17 -0
- package/config/cms-config.module.d.ts +0 -8
- package/config/components/domains/domains.component.d.ts +0 -31
- package/config/components/site-language/site-language.component.d.ts +0 -30
- package/config/enums/route-names.d.ts +0 -8
- package/config/index.d.ts +0 -5
- package/config/providers/route.provider.d.ts +0 -9
- package/config/proxy/admin/domains/domain-admin.service.d.ts +0 -13
- package/config/proxy/admin/domains/index.d.ts +0 -2
- package/config/proxy/admin/domains/models.d.ts +0 -7
- package/config/proxy/dignite/cms/admin/sites/index.d.ts +0 -2
- package/config/proxy/dignite/cms/admin/sites/models.d.ts +0 -4
- package/config/proxy/dignite/cms/admin/sites/site-admin.service.d.ts +0 -13
- package/config/proxy/dignite/cms/sites/models.d.ts +0 -4
- package/esm2022/config/cms-config.module.mjs +0 -18
- package/esm2022/config/components/domains/domains.component.mjs +0 -118
- package/esm2022/config/components/site-language/site-language.component.mjs +0 -113
- package/esm2022/config/dignite-ng-expand.cms-config.mjs +0 -5
- package/esm2022/config/enums/index.mjs +0 -2
- package/esm2022/config/enums/route-names.mjs +0 -10
- package/esm2022/config/providers/index.mjs +0 -2
- package/esm2022/config/providers/route.provider.mjs +0 -74
- package/esm2022/config/proxy/admin/domains/domain-admin.service.mjs +0 -32
- package/esm2022/config/proxy/admin/domains/index.mjs +0 -3
- package/esm2022/config/proxy/admin/domains/models.mjs +0 -2
- package/esm2022/config/proxy/dignite/cms/admin/sites/index.mjs +0 -3
- package/esm2022/config/proxy/dignite/cms/admin/sites/models.mjs +0 -2
- package/esm2022/config/proxy/dignite/cms/admin/sites/site-admin.service.mjs +0 -27
- package/esm2022/config/proxy/dignite/cms/sites/models.mjs +0 -2
- package/esm2022/config/public-api.mjs +0 -4
- package/esm2022/dignite-ng-expand.cms.mjs +0 -5
- package/esm2022/lib/cms-routing.module.mjs +0 -94
- package/esm2022/lib/cms.module.mjs +0 -139
- package/esm2022/lib/components/admin/entries/create-or-edit-entries.component.mjs +0 -226
- package/esm2022/lib/components/admin/entries/create-or-update-entry-input-base.mjs +0 -25
- package/esm2022/lib/components/admin/entries/create.component.mjs +0 -136
- package/esm2022/lib/components/admin/entries/edit.component.mjs +0 -138
- package/esm2022/lib/components/admin/entries/entries.component.mjs +0 -203
- package/esm2022/lib/components/admin/entries/index.mjs +0 -5
- package/esm2022/lib/components/admin/fields/create-field.component.mjs +0 -87
- package/esm2022/lib/components/admin/fields/create-or-edit-field.component.mjs +0 -120
- package/esm2022/lib/components/admin/fields/create-or-update-field-input-base.mjs +0 -25
- package/esm2022/lib/components/admin/fields/edit-field.component.mjs +0 -109
- package/esm2022/lib/components/admin/fields/field-group.component.mjs +0 -131
- package/esm2022/lib/components/admin/fields/fields.component.mjs +0 -108
- package/esm2022/lib/components/admin/fields/index.mjs +0 -7
- package/esm2022/lib/components/admin/index.mjs +0 -4
- package/esm2022/lib/components/admin/sections/create-or-edit-sections-modal.component.mjs +0 -210
- package/esm2022/lib/components/admin/sections/create-or-update-sections-input-base.mjs +0 -22
- package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.mjs +0 -71
- package/esm2022/lib/components/admin/sections/entry-types/create-or-edit.component.mjs +0 -404
- package/esm2022/lib/components/admin/sections/entry-types/index.mjs +0 -3
- package/esm2022/lib/components/admin/sections/index.mjs +0 -4
- package/esm2022/lib/components/admin/sections/sections.component.mjs +0 -138
- package/esm2022/lib/components/dynamic-form/entry/entry-config.component.mjs +0 -114
- package/esm2022/lib/components/dynamic-form/entry/entry-config.mjs +0 -18
- package/esm2022/lib/components/dynamic-form/entry/entry-control.component.mjs +0 -101
- package/esm2022/lib/components/dynamic-form/entry/index.mjs +0 -4
- package/esm2022/lib/components/dynamic-form/form-control-group.mjs +0 -28
- package/esm2022/lib/components/dynamic-form/index.mjs +0 -5
- package/esm2022/lib/components/dynamic-form/matrix/index.mjs +0 -4
- package/esm2022/lib/components/dynamic-form/matrix/matrix-config.component.mjs +0 -212
- package/esm2022/lib/components/dynamic-form/matrix/matrix-config.mjs +0 -50
- package/esm2022/lib/components/dynamic-form/matrix/matrix-control.component.mjs +0 -94
- package/esm2022/lib/components/dynamic-form/table/index.mjs +0 -4
- package/esm2022/lib/components/dynamic-form/table/table-config.component.mjs +0 -151
- package/esm2022/lib/components/dynamic-form/table/table-config.mjs +0 -38
- package/esm2022/lib/components/dynamic-form/table/table-control.component.mjs +0 -105
- package/esm2022/lib/components/index.mjs +0 -3
- package/esm2022/lib/constants/styles.mjs +0 -19
- package/esm2022/lib/enums/ecms-component.mjs +0 -13
- package/esm2022/lib/enums/index.mjs +0 -2
- package/esm2022/lib/proxy/admin/dynamic-forms/form-admin.service.mjs +0 -22
- package/esm2022/lib/proxy/admin/dynamic-forms/index.mjs +0 -3
- package/esm2022/lib/proxy/admin/dynamic-forms/models.mjs +0 -2
- package/esm2022/lib/proxy/admin/entries/entry-admin.service.mjs +0 -70
- package/esm2022/lib/proxy/admin/entries/index.mjs +0 -3
- package/esm2022/lib/proxy/admin/entries/models.mjs +0 -2
- package/esm2022/lib/proxy/admin/fields/field-admin.service.mjs +0 -45
- package/esm2022/lib/proxy/admin/fields/field-group-admin.service.mjs +0 -41
- package/esm2022/lib/proxy/admin/fields/index.mjs +0 -4
- package/esm2022/lib/proxy/admin/fields/models.mjs +0 -2
- package/esm2022/lib/proxy/admin/sections/entry-type-admin.service.mjs +0 -41
- package/esm2022/lib/proxy/admin/sections/index.mjs +0 -4
- package/esm2022/lib/proxy/admin/sections/models.mjs +0 -2
- package/esm2022/lib/proxy/admin/sections/section-admin.service.mjs +0 -51
- package/esm2022/lib/proxy/admin/settings/index.mjs +0 -2
- package/esm2022/lib/proxy/admin/settings/site-settings-admin.service.mjs +0 -31
- package/esm2022/lib/proxy/dignite/abp/data/models.mjs +0 -2
- package/esm2022/lib/proxy/entries/entry-status.enum.mjs +0 -8
- package/esm2022/lib/proxy/entries/index.mjs +0 -2
- package/esm2022/lib/proxy/fields/models.mjs +0 -2
- package/esm2022/lib/proxy/sections/index.mjs +0 -3
- package/esm2022/lib/proxy/sections/models.mjs +0 -2
- package/esm2022/lib/proxy/sections/section-type.enum.mjs +0 -9
- package/esm2022/lib/proxy/settings/models.mjs +0 -2
- package/esm2022/lib/proxy/volo/cms-kit/users/models.mjs +0 -2
- package/esm2022/lib/resolvers/extensions-props-action-token.resolver.mjs +0 -136
- package/esm2022/lib/resolvers/page-default-toolbar-actions.mjs +0 -160
- package/esm2022/lib/resolvers/table-default-entity-actions.mjs +0 -49
- package/esm2022/lib/resolvers/table-default-entity-props.mjs +0 -53
- package/esm2022/lib/services/appent-content.mjs +0 -15
- package/esm2022/lib/services/cms-api.service.mjs +0 -70
- package/esm2022/lib/services/cms.service.mjs +0 -21
- package/esm2022/lib/services/field-abstracts.service.mjs +0 -42
- package/esm2022/lib/services/index.mjs +0 -4
- package/esm2022/public-api.mjs +0 -6
- package/fesm2022/dignite-ng-expand.cms-config.mjs +0 -371
- package/fesm2022/dignite-ng-expand.cms-config.mjs.map +0 -1
- package/fesm2022/dignite-ng-expand.cms.mjs +0 -3886
- package/fesm2022/dignite-ng-expand.cms.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/cms-routing.module.d.ts +0 -7
- package/lib/cms.module.d.ts +0 -37
- package/lib/components/admin/entries/create-or-edit-entries.component.d.ts +0 -63
- package/lib/components/admin/entries/create-or-update-entry-input-base.d.ts +0 -23
- package/lib/components/admin/entries/create.component.d.ts +0 -50
- package/lib/components/admin/entries/edit.component.d.ts +0 -53
- package/lib/components/admin/entries/entries.component.d.ts +0 -67
- package/lib/components/admin/entries/index.d.ts +0 -4
- package/lib/components/admin/fields/create-field.component.d.ts +0 -37
- package/lib/components/admin/fields/create-or-edit-field.component.d.ts +0 -38
- package/lib/components/admin/fields/create-or-update-field-input-base.d.ts +0 -16
- package/lib/components/admin/fields/edit-field.component.d.ts +0 -46
- package/lib/components/admin/fields/field-group.component.d.ts +0 -58
- package/lib/components/admin/fields/fields.component.d.ts +0 -35
- package/lib/components/admin/fields/index.d.ts +0 -6
- package/lib/components/admin/index.d.ts +0 -3
- package/lib/components/admin/sections/create-or-edit-sections-modal.component.d.ts +0 -49
- package/lib/components/admin/sections/create-or-update-sections-input-base.d.ts +0 -20
- package/lib/components/admin/sections/entry-types/create-or-edit.-entry-type-input-base.d.ts +0 -38
- package/lib/components/admin/sections/entry-types/create-or-edit.component.d.ts +0 -139
- package/lib/components/admin/sections/entry-types/index.d.ts +0 -2
- package/lib/components/admin/sections/index.d.ts +0 -3
- package/lib/components/admin/sections/sections.component.d.ts +0 -46
- package/lib/components/dynamic-form/entry/entry-config.component.d.ts +0 -39
- package/lib/components/dynamic-form/entry/entry-config.d.ts +0 -9
- package/lib/components/dynamic-form/entry/entry-control.component.d.ts +0 -35
- package/lib/components/dynamic-form/entry/index.d.ts +0 -3
- package/lib/components/dynamic-form/form-control-group.d.ts +0 -4
- package/lib/components/dynamic-form/index.d.ts +0 -4
- package/lib/components/dynamic-form/matrix/index.d.ts +0 -3
- package/lib/components/dynamic-form/matrix/matrix-config.component.d.ts +0 -73
- package/lib/components/dynamic-form/matrix/matrix-config.d.ts +0 -24
- package/lib/components/dynamic-form/matrix/matrix-control.component.d.ts +0 -39
- package/lib/components/dynamic-form/table/index.d.ts +0 -3
- package/lib/components/dynamic-form/table/table-config.component.d.ts +0 -58
- package/lib/components/dynamic-form/table/table-config.d.ts +0 -18
- package/lib/components/dynamic-form/table/table-control.component.d.ts +0 -39
- package/lib/components/index.d.ts +0 -2
- package/lib/constants/styles.d.ts +0 -2
- package/lib/enums/ecms-component.d.ts +0 -11
- package/lib/enums/index.d.ts +0 -1
- package/lib/proxy/admin/dynamic-forms/form-admin.service.d.ts +0 -12
- package/lib/proxy/admin/dynamic-forms/models.d.ts +0 -4
- package/lib/proxy/admin/entries/entry-admin.service.d.ts +0 -22
- package/lib/proxy/admin/entries/models.d.ts +0 -60
- package/lib/proxy/admin/fields/field-admin.service.d.ts +0 -17
- package/lib/proxy/admin/fields/field-group-admin.service.d.ts +0 -16
- package/lib/proxy/admin/fields/models.d.ts +0 -34
- package/lib/proxy/admin/sections/entry-type-admin.service.d.ts +0 -15
- package/lib/proxy/admin/sections/section-admin.service.d.ts +0 -18
- package/lib/proxy/admin/settings/index.d.ts +0 -1
- package/lib/proxy/admin/settings/site-settings-admin.service.d.ts +0 -13
- package/lib/proxy/dignite/abp/data/models.d.ts +0 -3
- package/lib/proxy/entries/entry-status.enum.d.ts +0 -5
- package/lib/proxy/fields/models.d.ts +0 -8
- package/lib/proxy/sections/models.d.ts +0 -12
- package/lib/proxy/sections/section-type.enum.d.ts +0 -6
- package/lib/proxy/settings/models.d.ts +0 -5
- package/lib/resolvers/extensions-props-action-token.resolver.d.ts +0 -75
- package/lib/resolvers/page-default-toolbar-actions.d.ts +0 -18
- package/lib/resolvers/table-default-entity-actions.d.ts +0 -5
- package/lib/resolvers/table-default-entity-props.d.ts +0 -5
- package/lib/services/appent-content.d.ts +0 -1
- package/lib/services/cms-api.service.d.ts +0 -16
- package/lib/services/cms.service.d.ts +0 -10
- package/lib/services/field-abstracts.service.d.ts +0 -20
- package/lib/services/index.d.ts +0 -3
- package/public-api.d.ts +0 -2
- /package/{lib/proxy/admin/dynamic-forms/index.d.ts → src/lib/proxy/dignite/cms/admin/dynamic-forms/index.ts} +0 -0
- /package/{lib/proxy/admin/entries/index.d.ts → src/lib/proxy/dignite/cms/admin/entries/index.ts} +0 -0
- /package/{lib/proxy/admin/fields/index.d.ts → src/lib/proxy/dignite/cms/admin/fields/index.ts} +0 -0
- /package/{lib/proxy/admin/sections/index.d.ts → src/lib/proxy/dignite/cms/admin/sections/index.ts} +0 -0
- /package/{lib/proxy/entries/index.d.ts → src/lib/proxy/dignite/cms/entries/index.ts} +0 -0
- /package/{lib/proxy/sections/index.d.ts → src/lib/proxy/dignite/cms/sections/index.ts} +0 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
<abp-page [title]="'Cms::Sections' | abpLocalization" [toolbar]="true">
|
|
2
|
+
<div class="sections-page">
|
|
3
|
+
<div class="card " >
|
|
4
|
+
<div class="card-body px-2 py-sm-2 border-bottom">
|
|
5
|
+
<div class="row align-items-end">
|
|
6
|
+
<div class="mb-3 col-3">
|
|
7
|
+
<label class="form-label">{{'Cms::IsActive' | abpLocalization}}:</label>
|
|
8
|
+
<select class="form-select col-auto" [(ngModel)]="filters.isActive" (change)="siteIdChange()">
|
|
9
|
+
<option [value]=""></option>
|
|
10
|
+
<option [value]="true">{{'AbpUi::Yes'|abpLocalization}}</option>
|
|
11
|
+
<option [value]="false">{{'AbpUi::No'|abpLocalization}}</option>
|
|
12
|
+
</select>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="mb-3 col-3">
|
|
15
|
+
<label class="form-label">{{'AbpUi::Search' | abpLocalization}}:</label>
|
|
16
|
+
<input type="text" class="form-control" [(ngModel)]="filters.filter"
|
|
17
|
+
[placeholder]="'AbpUi::Search' | abpLocalization" />
|
|
18
|
+
</div>
|
|
19
|
+
<div class="mb-3 col-4">
|
|
20
|
+
<button class="btn btn-primary px-3" type="button" id="button-addon2" (click)="list.get()">
|
|
21
|
+
<i class="fa fa-search"></i>
|
|
22
|
+
</button>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="card mb-0">
|
|
28
|
+
<div class="card-body p-0">
|
|
29
|
+
<div class="table-responsive table-fixed-header">
|
|
30
|
+
<ngx-datatable class="material " [rows]="data.items" [list]="list"
|
|
31
|
+
[columnMode]="ColumnMode.force" [headerHeight]="50" [footerHeight]="50" rowHeight="auto"
|
|
32
|
+
[virtualization]="false" [externalPaging]="true" [count]="data.totalCount" [scrollbarH]="true">
|
|
33
|
+
<ngx-datatable-column [name]="'Cms::DisplayName' | abpLocalization" prop="displayName">
|
|
34
|
+
<ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
|
|
35
|
+
{{ value }}
|
|
36
|
+
</ng-template>
|
|
37
|
+
</ngx-datatable-column>
|
|
38
|
+
<ngx-datatable-column [name]="'Cms::Name' | abpLocalization" prop="name">
|
|
39
|
+
<ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
|
|
40
|
+
{{ value }}
|
|
41
|
+
</ng-template>
|
|
42
|
+
</ngx-datatable-column>
|
|
43
|
+
<ngx-datatable-column [name]="'Cms::SectionType' | abpLocalization" prop="type" [width]="80" [sortable]="false">
|
|
44
|
+
<ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
|
|
45
|
+
{{('Cms::Enum:SectionType:'+_SectionType[value]) | abpLocalization}}
|
|
46
|
+
</ng-template>
|
|
47
|
+
</ngx-datatable-column>
|
|
48
|
+
<ngx-datatable-column [name]="'Cms::IsDefault' | abpLocalization" prop="isDefault" [width]="60" [sortable]="false">
|
|
49
|
+
<ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
|
|
50
|
+
<i class="fas fa-check text-success" *ngIf="value"></i>
|
|
51
|
+
<i class="fas fa-times text-danger" *ngIf="!value"></i>
|
|
52
|
+
</ng-template>
|
|
53
|
+
</ngx-datatable-column>
|
|
54
|
+
<ngx-datatable-column [name]="'Cms::IsActive' | abpLocalization" prop="isActive" [width]="60" [sortable]="false">
|
|
55
|
+
<ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
|
|
56
|
+
<i class="fas fa-check text-success" *ngIf="value"></i>
|
|
57
|
+
<i class="fas fa-times text-danger" *ngIf="!value"></i>
|
|
58
|
+
</ng-template>
|
|
59
|
+
</ngx-datatable-column>
|
|
60
|
+
<ngx-datatable-column [name]="'Cms::EntryType' | abpLocalization" prop="SiteId" [width]="100" [sortable]="false">
|
|
61
|
+
<ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
|
|
62
|
+
<div ngbDropdown container="body">
|
|
63
|
+
<button type="button" class="btn btn-link" ngbDropdownToggle id="dropdownBasic1">
|
|
64
|
+
{{'Cms::EntryType' | abpLocalization}}
|
|
65
|
+
</button>
|
|
66
|
+
<div ngbDropdownMenu aria-labelledby="dropdownBasic1">
|
|
67
|
+
<ng-container *ngFor="let item of row.entryTypes;let i =index">
|
|
68
|
+
<li ngbDropdownItem
|
|
69
|
+
class="d-flex align-items-center justify-content-between" [routerLink]="'/cms/admin/sections/'+row.id+'/entry-types/'+item.id+'/edit'"
|
|
70
|
+
>{{item.displayName}}
|
|
71
|
+
<button class="btn btn-light btn-sm p-0"
|
|
72
|
+
(click.stop)="deleteEntryType(item)"><i class="fas fa-trash p-sm-1"
|
|
73
|
+
style="font-size: 12px;" role="button"></i></button>
|
|
74
|
+
</li>
|
|
75
|
+
</ng-container>
|
|
76
|
+
<li ngbDropdownItem [routerLink]="'/cms/admin/sections/'+row.id+'/entry-types/create'"><i
|
|
77
|
+
class="fas fa-plus-circle me-2"></i>{{'Cms::New' |
|
|
78
|
+
abpLocalization}}</li>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
</ng-template>
|
|
82
|
+
</ngx-datatable-column>
|
|
83
|
+
<ngx-datatable-column [name]="'Cms::CreationTime' | abpLocalization" prop="creationTime" [minWidth]="190">
|
|
84
|
+
<ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
|
|
85
|
+
{{ value | date : 'yyyy/MM/dd hh:mm:ss' }}
|
|
86
|
+
</ng-template>
|
|
87
|
+
</ngx-datatable-column>
|
|
88
|
+
<ngx-datatable-column [sortable]="false" [name]="'AbpUi::Actions' | abpLocalization" [frozenLeft]="true" [width]="110" [maxWidth]="110">
|
|
89
|
+
<ng-template let-row="row" let-value="value" ngx-datatable-cell-template>
|
|
90
|
+
<div ngbDropdown container="body">
|
|
91
|
+
<button type="button" class="btn btn-primary btn-sm" ngbDropdownToggle>
|
|
92
|
+
<i class="me-1 fa fa-cog"></i> {{'AbpUi::Actions' | abpLocalization}}
|
|
93
|
+
</button>
|
|
94
|
+
<div ngbDropdownMenu>
|
|
95
|
+
<button ngbDropdownItem (click)="editSectionBtn(row)">{{'AbpUi::Edit' |
|
|
96
|
+
abpLocalization}}</button>
|
|
97
|
+
<button ngbDropdownItem (click)="deletefield(row)">{{'AbpUi::Delete' |
|
|
98
|
+
abpLocalization}}</button>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
</ng-template>
|
|
102
|
+
</ngx-datatable-column>
|
|
103
|
+
</ngx-datatable>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</abp-page>
|
|
109
|
+
<cms-create-or-edit-sections-modal (visibleChange)="visibleChange($event)" [formEntity]="formEntity" [visible]="isVisibleOpen"></cms-create-or-edit-sections-modal>
|
|
110
|
+
<!-- <abp-modal [(visible)]="visibleOpen" [busy]="modalBusy" (visibleChange)="VisibleChange($event)">
|
|
111
|
+
<ng-template #abpHeader>
|
|
112
|
+
<h3>{{selected?('AbpUi::Edit' | abpLocalization):('Cms::New' | abpLocalization)}}</h3>
|
|
113
|
+
</ng-template>
|
|
114
|
+
<ng-template #abpBody>
|
|
115
|
+
<ng-template #loaderRef>
|
|
116
|
+
<div class="text-center"><i class="fa fa-pulse fa-spinner" aria-hidden="true"></i></div>
|
|
117
|
+
</ng-template>
|
|
118
|
+
<ng-container *ngIf="createOrEditForm; else loaderRef">
|
|
119
|
+
<form class="sites-modal-form" [formGroup]="createOrEditForm" (keydown.enter)="$event.preventDefault()" [class]="{'was-validated':formValidation}" (submit)="createOrEditSave()">
|
|
120
|
+
<button type="submit" #createOrEditModalSubmitBtn style="display: none"></button>
|
|
121
|
+
<div class="mb-3">
|
|
122
|
+
<label class="form-label">{{'Cms::EntryType' | abpLocalization}}</label>
|
|
123
|
+
<div>
|
|
124
|
+
<ng-container *ngFor="let item of _sectionTypeOptions;let i =index">
|
|
125
|
+
<div class="form-check form-check-inline">
|
|
126
|
+
<input class="form-check-input" type="radio" [value]="item.value"
|
|
127
|
+
(change)="radiochange()" formControlName="type" id="flexRadioDefault{{i}}">
|
|
128
|
+
<label class="form-check-label" for="flexRadioDefault{{i}}">
|
|
129
|
+
{{ 'Cms::Enum:SectionType:'+item.key | abpLocalization }}
|
|
130
|
+
</label>
|
|
131
|
+
</div>
|
|
132
|
+
</ng-container>
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
<div class="mb-3">
|
|
136
|
+
<label class="form-label">{{'Cms::DisplayName' | abpLocalization}}</label>
|
|
137
|
+
<input type="text" class="form-control" formControlName="displayName"
|
|
138
|
+
(blur)="disPlayNameInputBlur($event)" placeholder="" />
|
|
139
|
+
</div>
|
|
140
|
+
<div class="mb-3">
|
|
141
|
+
<label class="form-label">{{'Cms::Name' | abpLocalization}}</label>
|
|
142
|
+
<input type="text" class="form-control" formControlName="name" placeholder="" />
|
|
143
|
+
<div class="text-danger invalid-feedback" *ngIf="nameInput.errors?.repetition">
|
|
144
|
+
{{nameInput.errors?.repetition}}
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
147
|
+
<div class="mb-3">
|
|
148
|
+
<label class="form-label">{{'Cms::Route' | abpLocalization}} </label>
|
|
149
|
+
<input type="text" class="form-control" formControlName="route" placeholder="" />
|
|
150
|
+
<div class="text-danger invalid-feedback" *ngIf="routeInput.errors?.repetition">
|
|
151
|
+
{{routeInput.errors?.repetition}}
|
|
152
|
+
</div>
|
|
153
|
+
<small class="form-text text-muted d-block">
|
|
154
|
+
{{'Cms::RouteTips' | abpLocalization}}<br>
|
|
155
|
+
blog<br>
|
|
156
|
+
{{'blog/{slug}'}}<br>
|
|
157
|
+
{{'blog/{publishTime:yyyy}/{publishTime:MM}/{slug}'}}
|
|
158
|
+
</small>
|
|
159
|
+
</div>
|
|
160
|
+
<div class="mb-3">
|
|
161
|
+
<label class="form-label">{{'Cms::Template' | abpLocalization}} </label>
|
|
162
|
+
<input type="text" class="form-control" formControlName="template" placeholder="" />
|
|
163
|
+
<small class="form-text text-muted d-block">
|
|
164
|
+
{{"Cms::TemplateTips" | abpLocalization}}
|
|
165
|
+
</small>
|
|
166
|
+
</div>
|
|
167
|
+
<div class="mb-3">
|
|
168
|
+
<div class="form-check form-check-inline">
|
|
169
|
+
<input class="form-check-input" type="checkbox" value="true" formControlName="isDefault"
|
|
170
|
+
id="isDefault" />
|
|
171
|
+
<label class="form-check-label" for="isDefault"> {{'Cms::Default' | abpLocalization}} </label>
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
<div class="mb-3">
|
|
175
|
+
<div class="form-check form-check-inline">
|
|
176
|
+
<input class="form-check-input" type="checkbox" value="true" formControlName="isActive"
|
|
177
|
+
id="isActive" />
|
|
178
|
+
<label class="form-check-label" for="isActive"> {{'Cms::IsActive' | abpLocalization}}</label>
|
|
179
|
+
</div>
|
|
180
|
+
</div>
|
|
181
|
+
</form>
|
|
182
|
+
</ng-container>
|
|
183
|
+
</ng-template>
|
|
184
|
+
<ng-template #abpFooter>
|
|
185
|
+
<button type="button" class="btn btn-secondary" abpClose>{{'AbpUi::Close' | abpLocalization}}</button>
|
|
186
|
+
<abp-button iconClass="fa fa-check" (click)="createOrEditModalSubmitBtn.nativeElement.click()">{{'AbpUi::Save' |
|
|
187
|
+
abpLocalization}}</abp-button>
|
|
188
|
+
</ng-template>
|
|
189
|
+
</abp-modal> -->
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
::ng-deep.sections-page{.dignite_page{background:transparent}.list-group-flush>.list-group-item:first-child{border-top-width:var(--bs-list-group-border-width)}.card-header{input{flex:2 1 auto}.form-select{padding:.475rem 3.75rem .475rem 1.25rem}}}::ng-deep.sites-modal-form{.form-control{padding:.4rem 1.25rem}}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { SectionsComponent } from './sections.component';
|
|
4
|
+
|
|
5
|
+
describe('SectionsComponent', () => {
|
|
6
|
+
let component: SectionsComponent;
|
|
7
|
+
let fixture: ComponentFixture<SectionsComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
TestBed.configureTestingModule({
|
|
11
|
+
declarations: [SectionsComponent]
|
|
12
|
+
});
|
|
13
|
+
fixture = TestBed.createComponent(SectionsComponent);
|
|
14
|
+
component = fixture.componentInstance;
|
|
15
|
+
fixture.detectChanges();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should create', () => {
|
|
19
|
+
expect(component).toBeTruthy();
|
|
20
|
+
});
|
|
21
|
+
});
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { EXTENSIONS_IDENTIFIER } from '@abp/ng.components/extensible';
|
|
2
|
+
import {
|
|
3
|
+
ABP,
|
|
4
|
+
LIST_QUERY_DEBOUNCE_TIME,
|
|
5
|
+
ListService,
|
|
6
|
+
LocalizationService,
|
|
7
|
+
PagedResultDto,
|
|
8
|
+
} from '@abp/ng.core';
|
|
9
|
+
import { Component, OnInit, inject } from '@angular/core';
|
|
10
|
+
import { ECmsComponent } from '../../../enums';
|
|
11
|
+
import { ToasterService, ConfirmationService, Confirmation } from '@abp/ng.theme.shared';
|
|
12
|
+
import {
|
|
13
|
+
FormBuilder,
|
|
14
|
+
FormGroup,
|
|
15
|
+
} from '@angular/forms';
|
|
16
|
+
import { CmsApiService } from '../../../services';
|
|
17
|
+
import { UpdateListService } from '@dignite-ng/expand.core';
|
|
18
|
+
|
|
19
|
+
import { ColumnMode } from '@swimlane/ngx-datatable';
|
|
20
|
+
import { finalize, Observable } from 'rxjs';
|
|
21
|
+
import { CreateOrUpdateSectionsInputBase } from './create-or-update-sections-input-base';
|
|
22
|
+
import { ValidatorsService } from '@dignite-ng/expand.core';
|
|
23
|
+
import { EntryTypeAdminService, GetSectionsInput, SectionAdminService, SectionDto } from '../../../proxy/dignite/cms/admin/sections';
|
|
24
|
+
import { SectionType, sectionTypeOptions } from '../../../proxy/dignite/cms/sections';
|
|
25
|
+
|
|
26
|
+
@Component({
|
|
27
|
+
selector: 'cms-sections',
|
|
28
|
+
templateUrl: './sections.component.html',
|
|
29
|
+
styleUrls: ['./sections.component.scss'],
|
|
30
|
+
providers: [
|
|
31
|
+
// [Required]
|
|
32
|
+
ListService,
|
|
33
|
+
// [Optional]
|
|
34
|
+
// Provide this token if you want a different debounce time.
|
|
35
|
+
// Default is 300. Cannot be 0. Any value below 100 is not recommended.
|
|
36
|
+
{ provide: LIST_QUERY_DEBOUNCE_TIME, useValue: 500 },
|
|
37
|
+
{
|
|
38
|
+
provide: EXTENSIONS_IDENTIFIER,
|
|
39
|
+
useValue: ECmsComponent.Sections,
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
})
|
|
43
|
+
export class SectionsComponent implements OnInit {
|
|
44
|
+
constructor(
|
|
45
|
+
public readonly list: ListService,
|
|
46
|
+
private _SectionAdminService: SectionAdminService,
|
|
47
|
+
private toaster: ToasterService,
|
|
48
|
+
private confirmation: ConfirmationService,
|
|
49
|
+
private fb: FormBuilder,
|
|
50
|
+
public _EntryTypeAdminService: EntryTypeAdminService,
|
|
51
|
+
public _LocalizationService: LocalizationService,
|
|
52
|
+
public _CmsApiService: CmsApiService
|
|
53
|
+
) {}
|
|
54
|
+
private _UpdateListService = inject(UpdateListService);
|
|
55
|
+
siteList: any[] = [];
|
|
56
|
+
_SectionType = SectionType;
|
|
57
|
+
_sectionTypeOptions = sectionTypeOptions;
|
|
58
|
+
ColumnMode = ColumnMode;
|
|
59
|
+
data: PagedResultDto<SectionDto> = { items: [], totalCount: 0 };
|
|
60
|
+
filters = {} as GetSectionsInput;
|
|
61
|
+
hookToQuery() {
|
|
62
|
+
const getData = (query: ABP.PageQueryParams) =>
|
|
63
|
+
this._SectionAdminService.getList({ ...query, ...this.filters });
|
|
64
|
+
const setData = (list: PagedResultDto<SectionDto>) => (this.data = list);
|
|
65
|
+
this.list.hookToQuery(getData).subscribe(setData);
|
|
66
|
+
}
|
|
67
|
+
async ngOnInit(): Promise<void> {
|
|
68
|
+
this.hookToQuery();
|
|
69
|
+
this._UpdateListService.updateListEvent.subscribe(() => {
|
|
70
|
+
this.list.get();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
siteIdChange() {
|
|
74
|
+
this.list.page = 0;
|
|
75
|
+
this.list.get();
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**表单 */
|
|
79
|
+
formEntity: FormGroup | undefined;
|
|
80
|
+
/**弹窗状态 */
|
|
81
|
+
isVisibleOpen: boolean = false;
|
|
82
|
+
/**弹窗回调 */
|
|
83
|
+
visibleChange(event) {
|
|
84
|
+
this.isVisibleOpen = event;
|
|
85
|
+
if (!event) {
|
|
86
|
+
this.formEntity = undefined;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**创建 */
|
|
90
|
+
createBtn() {
|
|
91
|
+
this.formEntity = this.fb.group(new CreateOrUpdateSectionsInputBase());
|
|
92
|
+
this.isVisibleOpen = true;
|
|
93
|
+
}
|
|
94
|
+
/**编辑 */
|
|
95
|
+
editSectionBtn(item) {
|
|
96
|
+
this.formEntity = this.fb.group(new CreateOrUpdateSectionsInputBase());
|
|
97
|
+
this.formEntity.patchValue({
|
|
98
|
+
...item,
|
|
99
|
+
});
|
|
100
|
+
this.isVisibleOpen = true;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**删除板块 */
|
|
104
|
+
deletefield(row) {
|
|
105
|
+
this.confirmation
|
|
106
|
+
.warn(row.displayName, this._LocalizationService.instant(`AbpUi::ItemWillBeDeletedMessage`))
|
|
107
|
+
.subscribe((status: Confirmation.Status) => {
|
|
108
|
+
if (status == 'confirm') {
|
|
109
|
+
this._SectionAdminService
|
|
110
|
+
.delete(row.id)
|
|
111
|
+
.pipe(finalize(() => {}))
|
|
112
|
+
.subscribe(res => {
|
|
113
|
+
this.toaster.success(this._LocalizationService.instant(`AbpUi::DeletedSuccessfully`));
|
|
114
|
+
this.list.get();
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
/**删除条目类型 */
|
|
120
|
+
deleteEntryType(row) {
|
|
121
|
+
this.confirmation
|
|
122
|
+
.warn(row.displayName, this._LocalizationService.instant(`AbpUi::ItemWillBeDeletedMessage`))
|
|
123
|
+
.subscribe((status: Confirmation.Status) => {
|
|
124
|
+
if (status == 'confirm') {
|
|
125
|
+
this._EntryTypeAdminService
|
|
126
|
+
.delete(row.id)
|
|
127
|
+
.pipe(finalize(() => {}))
|
|
128
|
+
.subscribe(res => {
|
|
129
|
+
this.toaster.success(this._LocalizationService.instant(`AbpUi::DeletedSuccessfully`));
|
|
130
|
+
this.list.get();
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<form [formGroup]="_Entity">
|
|
2
|
+
<div formGroupName="formConfiguration">
|
|
3
|
+
<div class="mb-3">
|
|
4
|
+
<label class="form-label">{{'Cms::Sections' | abpLocalization}}</label>
|
|
5
|
+
<select class="form-select col-auto" formControlName="Entry.SectionId">
|
|
6
|
+
<ng-container *ngFor="let item of SiteOfSectionList">
|
|
7
|
+
<option [value]="item.id">{{item.displayName}}</option>
|
|
8
|
+
</ng-container>
|
|
9
|
+
</select>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="mb-3">
|
|
12
|
+
<div class="form-check form-check-inline">
|
|
13
|
+
<input class="form-check-input" type="checkbox" formControlName="Entry.Multiple" id="Multiple">
|
|
14
|
+
<label class="form-check-label" for="Multiple">
|
|
15
|
+
{{'Cms::Multiple' | abpLocalization}}
|
|
16
|
+
</label>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="mb-3">
|
|
20
|
+
<label class="form-label">{{'Cms::Placeholder' | abpLocalization}}</label>
|
|
21
|
+
<input type="text" class="form-control" formControlName="Entry.Placeholder">
|
|
22
|
+
</div>
|
|
23
|
+
<button type="submit" (abpInit)="submitclick?.nativeElement?.click()" style="display: none;"
|
|
24
|
+
#submitclick></button>
|
|
25
|
+
</div>
|
|
26
|
+
</form>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
:ng-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
|
2
|
+
background-color: transparent !important;
|
|
3
|
+
border: none !important;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
:ng-deep .ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
|
7
|
+
border-color: transparent !important;
|
|
8
|
+
box-shadow: none !important;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.selectclassliveview {
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
::ng-deep.ant-select:not(.ant-select-disabled):hover .ant-select-selector {
|
|
16
|
+
border-color: transparent;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
::ng-deep.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
|
20
|
+
border-color: transparent;
|
|
21
|
+
box-shadow: none;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
::ng-deep.ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
|
25
|
+
background: transparent;
|
|
26
|
+
border: 1px solid transparent;
|
|
27
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { EntryConfigComponent } from './entry-config.component';
|
|
4
|
+
|
|
5
|
+
describe('EntryConfigComponent', () => {
|
|
6
|
+
let component: EntryConfigComponent;
|
|
7
|
+
let fixture: ComponentFixture<EntryConfigComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
TestBed.configureTestingModule({
|
|
11
|
+
declarations: [EntryConfigComponent]
|
|
12
|
+
});
|
|
13
|
+
fixture = TestBed.createComponent(EntryConfigComponent);
|
|
14
|
+
component = fixture.componentInstance;
|
|
15
|
+
fixture.detectChanges();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should create', () => {
|
|
19
|
+
expect(component).toBeTruthy();
|
|
20
|
+
});
|
|
21
|
+
});
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { AfterContentInit, ChangeDetectorRef, Component, ElementRef, inject, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
3
|
+
import { EntryConfig } from './entry-config';
|
|
4
|
+
import { SectionAdminService } from '../../../proxy/dignite/cms/admin/sections';
|
|
5
|
+
// import { SectionAdminService } from '../../../proxy/admin/sections';
|
|
6
|
+
@Component({
|
|
7
|
+
selector: 'cms-entry-config',
|
|
8
|
+
templateUrl: './entry-config.component.html',
|
|
9
|
+
styleUrls: ['./entry-config.component.scss'],
|
|
10
|
+
})
|
|
11
|
+
export class EntryConfigComponent implements AfterContentInit {
|
|
12
|
+
constructor(
|
|
13
|
+
private fb: FormBuilder,
|
|
14
|
+
// private _SiteAdminService: SiteAdminService,
|
|
15
|
+
private _SectionAdminService: SectionAdminService
|
|
16
|
+
) {}
|
|
17
|
+
/**表单控件类型 */
|
|
18
|
+
_type: any;
|
|
19
|
+
@Input()
|
|
20
|
+
public set type(v: any) {
|
|
21
|
+
if (v == this._type) return;
|
|
22
|
+
|
|
23
|
+
this._type = v;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**选择的表单信息 */
|
|
27
|
+
_selected: any;
|
|
28
|
+
@Input()
|
|
29
|
+
public set selected(v: any) {
|
|
30
|
+
this._selected = v;
|
|
31
|
+
}
|
|
32
|
+
/**语言 */
|
|
33
|
+
_culture: any;
|
|
34
|
+
@Input()
|
|
35
|
+
public set culture(v: any) {
|
|
36
|
+
this._culture = v;
|
|
37
|
+
}
|
|
38
|
+
/**表单实体 */
|
|
39
|
+
_Entity: FormGroup | undefined;
|
|
40
|
+
@Input()
|
|
41
|
+
public set Entity(v: FormGroup) {
|
|
42
|
+
this._Entity = v;
|
|
43
|
+
this.dataLoaded();
|
|
44
|
+
}
|
|
45
|
+
get formConfiguration() {
|
|
46
|
+
return this._Entity.get('formConfiguration') as FormGroup;
|
|
47
|
+
}
|
|
48
|
+
@ViewChild('submitclick', { static: true }) submitclick: ElementRef;
|
|
49
|
+
|
|
50
|
+
/**站点列表 */
|
|
51
|
+
siteList: any[any] = [];
|
|
52
|
+
|
|
53
|
+
/**选择的站点id */
|
|
54
|
+
// siteId: string = ''
|
|
55
|
+
siteId: any = new FormControl('');
|
|
56
|
+
/**站点下的版块 */
|
|
57
|
+
SiteOfSectionList: any[any] = [];
|
|
58
|
+
|
|
59
|
+
ngAfterContentInit(): void {
|
|
60
|
+
//Called after ngOnInit when the component's or directive's content has been initialized.
|
|
61
|
+
//Add 'implements AfterContentInit' to the class.
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
private cdr = inject(ChangeDetectorRef);
|
|
65
|
+
async dataLoaded() {
|
|
66
|
+
if (this._Entity && this._type) {
|
|
67
|
+
await this.AfterInit();
|
|
68
|
+
this.cdr.detectChanges(); // 手动触发变更检测
|
|
69
|
+
this.submitclick?.nativeElement?.click();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
AfterInit() {
|
|
74
|
+
return new Promise(async (resolve, rejects) => {
|
|
75
|
+
this._Entity.setControl('formConfiguration', this.fb.group(new EntryConfig()));
|
|
76
|
+
// await this.getsiteList()
|
|
77
|
+
await this.getSiteOfSectionList();
|
|
78
|
+
if (this._selected) {
|
|
79
|
+
this.formConfiguration.patchValue({
|
|
80
|
+
...this._selected.formConfiguration,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
resolve(true);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**获取站点列表 */
|
|
88
|
+
// getsiteList() {
|
|
89
|
+
// return new Promise((resolve, rejects) => {
|
|
90
|
+
// this._SiteAdminService.getList({}).subscribe(res => {
|
|
91
|
+
// this.siteList = res.items
|
|
92
|
+
// this.siteId = res.items[0]?.id || ''
|
|
93
|
+
// resolve(res.items)
|
|
94
|
+
// })
|
|
95
|
+
// })
|
|
96
|
+
// }
|
|
97
|
+
/**获取站点下的版块 */
|
|
98
|
+
getSiteOfSectionList() {
|
|
99
|
+
return new Promise((resolve, rejects) => {
|
|
100
|
+
this._SectionAdminService
|
|
101
|
+
.getList({
|
|
102
|
+
maxResultCount: 1000,
|
|
103
|
+
// siteId: this.siteId
|
|
104
|
+
})
|
|
105
|
+
.subscribe(res => {
|
|
106
|
+
this.SiteOfSectionList = res.items;
|
|
107
|
+
this.formConfiguration.patchValue({
|
|
108
|
+
'Entry.SectionId': res.items[0]?.id || '',
|
|
109
|
+
});
|
|
110
|
+
resolve(res.items);
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**切换站点 */
|
|
116
|
+
async siteIdChange() {
|
|
117
|
+
await this.getSiteOfSectionList();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { FormControl, Validators } from "@angular/forms";
|
|
2
|
+
|
|
3
|
+
export class EntryConfig {
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/**多选 */
|
|
7
|
+
'Entry.Multiple': any = [false, []];
|
|
8
|
+
/**占位符 */
|
|
9
|
+
'Entry.Placeholder': any = ['', []];
|
|
10
|
+
/**版块id */
|
|
11
|
+
'Entry.SectionId': any = ['', []];
|
|
12
|
+
|
|
13
|
+
constructor(data?: EntryConfig) {
|
|
14
|
+
if (data) {
|
|
15
|
+
for (const key in data) {
|
|
16
|
+
if (data.hasOwnProperty(key)) {
|
|
17
|
+
this[key] = data[key];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<form [formGroup]="_entity">
|
|
2
|
+
<div [formGroupName]="_parentFiledName" class="entry-control-page">
|
|
3
|
+
<div class="mb-3">
|
|
4
|
+
<label class="form-label" *ngIf="_fields.displayName">{{ _fields.displayName }}</label>
|
|
5
|
+
<ng-container *ngIf="_fields.field.formConfiguration['Entry.Multiple']; else elseTemplate">
|
|
6
|
+
<nz-select class="form-select form-select-multiple" [nzMaxTagCount]="1" (nzOnSearch)="SelectChange($event)" nzShowSearch nzMode="multiple" [nzPlaceHolder]="_fields.field.formConfiguration['Entry.Placeholder']"
|
|
7
|
+
formControlName="{{_fields.field.name}}">
|
|
8
|
+
<nz-option *ngFor="let item of listOfOption" [nzLabel]="item.title" [nzValue]="item.id"></nz-option>
|
|
9
|
+
</nz-select>
|
|
10
|
+
</ng-container>
|
|
11
|
+
<ng-template #elseTemplate>
|
|
12
|
+
<div class="form-select">
|
|
13
|
+
<nz-select class="form-select form-select-multiple " nzShowSearch [nzMaxTagCount]="1"
|
|
14
|
+
(ngModelChange)="SelectChange($event)"
|
|
15
|
+
[nzPlaceHolder]="_fields.field.formConfiguration['Entry.Placeholder']" [ngModel]="listOfSelectedValue" [ngModelOptions]="{standalone: true}">
|
|
16
|
+
<nz-option *ngFor="let item of listOfOption" [nzLabel]="item.name" [nzValue]="item.id"></nz-option>
|
|
17
|
+
</nz-select>
|
|
18
|
+
</div>
|
|
19
|
+
</ng-template>
|
|
20
|
+
|
|
21
|
+
<small class="form-text text-muted d-block" *ngIf="_fields.field.description">{{_fields.field.description}}</small>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
<button type="submit" style="display: none;" #submitclick></button>
|
|
25
|
+
</form>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
::ng-deep .entry-control-page {
|
|
2
|
+
nz-select.form-select {
|
|
3
|
+
padding: 0
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
nz-select {
|
|
7
|
+
width: 100%;
|
|
8
|
+
|
|
9
|
+
.ant-select-selector {
|
|
10
|
+
background: transparent !important;
|
|
11
|
+
border: none !important;
|
|
12
|
+
padding: .275rem 1.25rem !important;
|
|
13
|
+
box-shadow: none !important;
|
|
14
|
+
height: auto !important
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.anticon-search,
|
|
18
|
+
.anticon-down {
|
|
19
|
+
display: none
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
}
|
|
23
|
+
.ant-select-multiple .ant-select-selection-item{
|
|
24
|
+
max-width: 40% !important;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
::ng-deep .was-validated .form-select-multiple {
|
|
29
|
+
border-color: #4fbf67;
|
|
30
|
+
padding-right: calc(1.5em + 1.35rem);
|
|
31
|
+
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%234fbf67' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
|
|
32
|
+
background-repeat: no-repeat;
|
|
33
|
+
background-position: right calc(0.375em + 0.3375rem) center;
|
|
34
|
+
background-size: calc(0.75em + 0.675rem) calc(0.75em + 0.675rem);
|
|
35
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
|
2
|
+
|
|
3
|
+
import { EntryControlComponent } from './entry-control.component';
|
|
4
|
+
|
|
5
|
+
describe('EntryControlComponent', () => {
|
|
6
|
+
let component: EntryControlComponent;
|
|
7
|
+
let fixture: ComponentFixture<EntryControlComponent>;
|
|
8
|
+
|
|
9
|
+
beforeEach(() => {
|
|
10
|
+
TestBed.configureTestingModule({
|
|
11
|
+
declarations: [EntryControlComponent]
|
|
12
|
+
});
|
|
13
|
+
fixture = TestBed.createComponent(EntryControlComponent);
|
|
14
|
+
component = fixture.componentInstance;
|
|
15
|
+
fixture.detectChanges();
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('should create', () => {
|
|
19
|
+
expect(component).toBeTruthy();
|
|
20
|
+
});
|
|
21
|
+
});
|