@abp/ng.feature-management 7.2.2 → 7.3.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +129 -2
- package/{esm2020 → esm2022}/abp-ng.feature-management.mjs +4 -4
- package/esm2022/lib/components/feature-management/feature-management.component.mjs +179 -0
- package/esm2022/lib/components/feature-management-tab/feature-management-tab.component.mjs +25 -0
- package/{esm2020 → esm2022}/lib/components/index.mjs +2 -2
- package/esm2022/lib/directives/free-text-input.directive.mjs +37 -0
- package/{esm2020 → esm2022}/lib/directives/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/enums/components.mjs +1 -1
- package/{esm2020 → esm2022}/lib/enums/feature-management-tab-names.mjs +1 -1
- package/esm2022/lib/feature-management.module.mjs +39 -0
- package/{esm2020 → esm2022}/lib/models/feature-management.mjs +1 -1
- package/{esm2020 → esm2022}/lib/models/index.mjs +1 -1
- package/{esm2020 → esm2022}/lib/providers/feature-management-settings.provider.mjs +23 -23
- package/{esm2020 → esm2022}/lib/providers/index.mjs +1 -1
- package/{esm2020 → esm2022}/proxy/abp-ng.feature-management-proxy.mjs +4 -4
- package/{esm2020 → esm2022}/proxy/lib/index.mjs +2 -2
- package/esm2022/proxy/lib/proxy/feature-management/features.service.mjs +36 -0
- package/{esm2020 → esm2022}/proxy/lib/proxy/feature-management/index.mjs +2 -2
- package/{esm2020 → esm2022}/proxy/lib/proxy/feature-management/models.mjs +1 -1
- package/{esm2020 → esm2022}/proxy/lib/proxy/validation/index.mjs +2 -2
- package/{esm2020 → esm2022}/proxy/lib/proxy/validation/string-values/index.mjs +1 -1
- package/{esm2020 → esm2022}/proxy/lib/proxy/validation/string-values/models.mjs +1 -1
- package/{esm2020 → esm2022}/proxy/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/public-api.mjs +6 -6
- package/{fesm2015 → fesm2022}/abp-ng.feature-management-proxy.mjs +32 -32
- package/{fesm2015 → fesm2022}/abp-ng.feature-management-proxy.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/abp-ng.feature-management.mjs +261 -261
- package/fesm2022/abp-ng.feature-management.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/components/feature-management/feature-management.component.d.ts +53 -53
- package/lib/components/feature-management-tab/feature-management-tab.component.d.ts +9 -9
- package/lib/components/index.d.ts +2 -2
- package/lib/directives/free-text-input.directive.d.ts +21 -21
- package/lib/directives/index.d.ts +1 -1
- package/lib/enums/components.d.ts +3 -3
- package/lib/enums/feature-management-tab-names.d.ts +3 -3
- package/lib/feature-management.module.d.ts +14 -14
- package/lib/models/feature-management.d.ts +11 -11
- package/lib/models/index.d.ts +1 -1
- package/lib/providers/feature-management-settings.provider.d.ts +8 -8
- package/lib/providers/index.d.ts +1 -1
- package/package.json +11 -19
- package/proxy/index.d.ts +5 -5
- package/proxy/lib/index.d.ts +2 -2
- package/proxy/lib/proxy/feature-management/features.service.d.ts +13 -13
- package/proxy/lib/proxy/feature-management/index.d.ts +2 -2
- package/proxy/lib/proxy/feature-management/models.d.ts +30 -30
- package/proxy/lib/proxy/validation/index.d.ts +2 -2
- package/proxy/lib/proxy/validation/string-values/index.d.ts +1 -1
- package/proxy/lib/proxy/validation/string-values/models.d.ts +11 -11
- package/proxy/public-api.d.ts +1 -1
- package/public-api.d.ts +6 -6
- package/esm2020/lib/components/feature-management/feature-management.component.mjs +0 -178
- package/esm2020/lib/components/feature-management-tab/feature-management-tab.component.mjs +0 -24
- package/esm2020/lib/directives/free-text-input.directive.mjs +0 -36
- package/esm2020/lib/feature-management.module.mjs +0 -38
- package/esm2020/proxy/lib/proxy/feature-management/features.service.mjs +0 -35
- package/fesm2015/abp-ng.feature-management.mjs +0 -285
- package/fesm2015/abp-ng.feature-management.mjs.map +0 -1
- package/fesm2020/abp-ng.feature-management-proxy.mjs +0 -45
- package/fesm2020/abp-ng.feature-management-proxy.mjs.map +0 -1
- package/fesm2020/abp-ng.feature-management.mjs.map +0 -1
- package/proxy/src/lib/proxy/README.md +0 -17
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abp-ng.feature-management.mjs","sources":["../../../../packages/feature-management/src/lib/directives/free-text-input.directive.ts","../../../../packages/feature-management/src/lib/components/feature-management/feature-management.component.ts","../../../../packages/feature-management/src/lib/components/feature-management/feature-management.component.html","../../../../packages/feature-management/src/lib/components/feature-management-tab/feature-management-tab.component.ts","../../../../packages/feature-management/src/lib/components/feature-management-tab/feature-management-tab.component.html","../../../../packages/feature-management/src/lib/providers/feature-management-settings.provider.ts","../../../../packages/feature-management/src/lib/feature-management.module.ts","../../../../packages/feature-management/src/abp-ng.feature-management.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\r\n\r\n// TODO: improve this type\r\nexport interface FreeTextType {\r\n valueType: {\r\n validator: {\r\n name: string;\r\n };\r\n };\r\n}\r\n\r\nexport const INPUT_TYPES = {\r\n numeric: 'number',\r\n default: 'text',\r\n};\r\n\r\n@Directive({\r\n selector: 'input[abpFeatureManagementFreeText]',\r\n exportAs: 'inputAbpFeatureManagementFreeText',\r\n})\r\nexport class FreeTextInputDirective {\r\n _feature: FreeTextType;\r\n // eslint-disable-next-line @angular-eslint/no-input-rename\r\n @Input('abpFeatureManagementFreeText') set feature(val: FreeTextType) {\r\n this._feature = val;\r\n this.setInputType();\r\n }\r\n\r\n get feature() {\r\n return this._feature;\r\n }\r\n\r\n @HostBinding('type') type: string;\r\n\r\n private setInputType() {\r\n const validatorType = this.feature?.valueType?.validator?.name.toLowerCase();\r\n this.type = INPUT_TYPES[validatorType] ?? INPUT_TYPES.default;\r\n }\r\n}\r\n","import { ConfigStateService, TrackByService } from '@abp/ng.core';\r\nimport {\r\n FeatureDto,\r\n FeatureGroupDto,\r\n FeaturesService,\r\n UpdateFeatureDto,\r\n} from '@abp/ng.feature-management/proxy';\r\nimport {\r\n Confirmation,\r\n ConfirmationService,\r\n LocaleDirection,\r\n ToasterService,\r\n} from '@abp/ng.theme.shared';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { FeatureManagement } from '../../models/feature-management';\r\n\r\nenum ValueTypes {\r\n ToggleStringValueType = 'ToggleStringValueType',\r\n FreeTextStringValueType = 'FreeTextStringValueType',\r\n SelectionStringValueType = 'SelectionStringValueType',\r\n}\r\n\r\n@Component({\r\n selector: 'abp-feature-management',\r\n templateUrl: './feature-management.component.html',\r\n exportAs: 'abpFeatureManagement',\r\n})\r\nexport class FeatureManagementComponent\r\n implements\r\n FeatureManagement.FeatureManagementComponentInputs,\r\n FeatureManagement.FeatureManagementComponentOutputs\r\n{\r\n @Input()\r\n providerKey: string;\r\n\r\n @Input()\r\n providerName: string;\r\n\r\n selectedGroupDisplayName: string;\r\n\r\n groups: Pick<FeatureGroupDto, 'name' | 'displayName'>[] = [];\r\n\r\n features: {\r\n [group: string]: Array<FeatureDto & { style?: { [key: string]: number }; initialValue: any }>;\r\n };\r\n\r\n valueTypes = ValueTypes;\r\n\r\n protected _visible;\r\n\r\n @Input()\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n set visible(value: boolean) {\r\n if (this._visible === value) return;\r\n\r\n this._visible = value;\r\n this.visibleChange.emit(value);\r\n if (value) this.openModal();\r\n }\r\n\r\n @Output() readonly visibleChange = new EventEmitter<boolean>();\r\n\r\n modalBusy = false;\r\n\r\n constructor(\r\n public readonly track: TrackByService,\r\n private toasterService: ToasterService,\r\n protected service: FeaturesService,\r\n protected configState: ConfigStateService,\r\n protected confirmationService: ConfirmationService,\r\n ) {}\r\n\r\n openModal() {\r\n if (!this.providerName) {\r\n throw new Error('providerName is required.');\r\n }\r\n\r\n this.getFeatures();\r\n }\r\n\r\n getFeatures() {\r\n this.service.get(this.providerName, this.providerKey).subscribe(res => {\r\n if (!res.groups?.length) return;\r\n this.groups = res.groups.map(({ name, displayName }) => ({ name, displayName }));\r\n this.selectedGroupDisplayName = this.groups[0].displayName;\r\n this.features = res.groups.reduce(\r\n (acc, val) => ({\r\n ...acc,\r\n [val.name]: mapFeatures(val.features, document.body.dir as LocaleDirection),\r\n }),\r\n {},\r\n );\r\n });\r\n }\r\n\r\n save() {\r\n if (this.modalBusy) return;\r\n\r\n const changedFeatures = [] as UpdateFeatureDto[];\r\n\r\n Object.keys(this.features).forEach(key => {\r\n this.features[key].forEach(feature => {\r\n if (feature.value !== feature.initialValue)\r\n changedFeatures.push({ name: feature.name, value: `${feature.value}` });\r\n });\r\n });\r\n\r\n if (!changedFeatures.length) {\r\n this.visible = false;\r\n return;\r\n }\r\n\r\n this.modalBusy = true;\r\n this.service\r\n .update(this.providerName, this.providerKey, { features: changedFeatures })\r\n .pipe(finalize(() => (this.modalBusy = false)))\r\n .subscribe(() => {\r\n this.visible = false;\r\n\r\n if (!this.providerKey) {\r\n // to refresh host's features\r\n this.configState.refreshAppState().subscribe();\r\n }\r\n });\r\n }\r\n\r\n resetToDefault() {\r\n this.confirmationService\r\n .warn('AbpFeatureManagement::AreYouSureToResetToDefault', 'AbpFeatureManagement::AreYouSure')\r\n .subscribe((status: Confirmation.Status) => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.service.delete(this.providerName, this.providerKey).subscribe(() => {\r\n this.toasterService.success('AbpFeatureManagement::ResetedToDefault');\r\n this.visible = false;\r\n\r\n if (!this.providerKey) {\r\n // to refresh host's features\r\n this.configState.refreshAppState().subscribe();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n onCheckboxClick(val: boolean, feature: FeatureDto) {\r\n if (val) {\r\n this.checkToggleAncestors(feature);\r\n } else {\r\n this.uncheckToggleDescendants(feature);\r\n }\r\n }\r\n\r\n private uncheckToggleDescendants(feature: FeatureDto) {\r\n this.findAllDescendantsOfByType(feature, ValueTypes.ToggleStringValueType).forEach(node =>\r\n this.setFeatureValue(node, false),\r\n );\r\n }\r\n\r\n private checkToggleAncestors(feature: FeatureDto) {\r\n this.findAllAncestorsOfByType(feature, ValueTypes.ToggleStringValueType).forEach(node =>\r\n this.setFeatureValue(node, true),\r\n );\r\n }\r\n\r\n private findAllAncestorsOfByType(feature: FeatureDto, type: ValueTypes) {\r\n let parent = this.findParentByType(feature, type);\r\n const ancestors = [];\r\n while (parent) {\r\n ancestors.push(parent);\r\n parent = this.findParentByType(parent, type);\r\n }\r\n return ancestors;\r\n }\r\n\r\n private findAllDescendantsOfByType(feature: FeatureDto, type: ValueTypes) {\r\n const descendants = [];\r\n const queue = [feature];\r\n\r\n while (queue.length) {\r\n const node = queue.pop();\r\n const newDescendants = this.findChildrenByType(node, type);\r\n descendants.push(...newDescendants);\r\n queue.push(...newDescendants);\r\n }\r\n\r\n return descendants;\r\n }\r\n\r\n private findParentByType(feature: FeatureDto, type: ValueTypes) {\r\n return this.getCurrentGroup().find(\r\n f => f.valueType.name === type && f.name === feature.parentName,\r\n );\r\n }\r\n\r\n private findChildrenByType(feature: FeatureDto, type: ValueTypes) {\r\n return this.getCurrentGroup().filter(\r\n f => f.valueType.name === type && f.parentName === feature.name,\r\n );\r\n }\r\n\r\n private getCurrentGroup() {\r\n return this.features[this.selectedGroupDisplayName] ?? [];\r\n }\r\n\r\n private setFeatureValue(feature: FeatureDto, val: boolean) {\r\n feature.value = val as any;\r\n }\r\n}\r\n\r\nfunction mapFeatures(features: FeatureDto[], dir: LocaleDirection) {\r\n const margin = `margin-${dir === 'rtl' ? 'right' : 'left'}.px`;\r\n\r\n return features.map(feature => {\r\n const value =\r\n feature.valueType?.name === ValueTypes.ToggleStringValueType\r\n ? (feature.value || '').toLowerCase() === 'true'\r\n : feature.value;\r\n\r\n return {\r\n ...feature,\r\n value,\r\n initialValue: value,\r\n style: { [margin]: feature.depth * 20 },\r\n };\r\n });\r\n}\r\n","<abp-modal *ngIf=\"visible\" [(visible)]=\"visible\" [busy]=\"modalBusy\" [options]=\"{ size: 'lg' }\">\r\n <ng-template #abpHeader>\r\n <h3>{{ 'AbpFeatureManagement::Features' | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <div class=\"row\">\r\n <ng-container *ngIf=\"groups.length\">\r\n <div class=\"col-md-4\">\r\n <ul\r\n ngbNav\r\n #nav=\"ngbNav\"\r\n [(activeId)]=\"selectedGroupDisplayName\"\r\n class=\"nav-pills\"\r\n orientation=\"vertical\"\r\n >\r\n <li\r\n *ngFor=\"let group of groups; trackBy: track.by('name')\"\r\n [ngbNavItem]=\"group.displayName\"\r\n >\r\n <a ngbNavLink>{{ group.displayName }}</a>\r\n <ng-template ngbNavContent>\r\n <h4>{{ selectedGroupDisplayName }}</h4>\r\n <hr class=\"mt-2 mb-3\" />\r\n\r\n <div\r\n class=\"mt-2\"\r\n *ngFor=\"\r\n let feature of features[group.name];\r\n let i = index;\r\n trackBy: track.by('id')\r\n \"\r\n [ngStyle]=\"feature.style\"\r\n [ngSwitch]=\"feature.valueType?.name\"\r\n (keyup.enter)=\"save()\"\r\n >\r\n <ng-container *ngSwitchCase=\"valueTypes.ToggleStringValueType\">\r\n <div class=\"form-check\">\r\n <input\r\n class=\"form-check-input\"\r\n type=\"checkbox\"\r\n [id]=\"feature.name\"\r\n [(ngModel)]=\"feature.value\"\r\n (ngModelChange)=\"onCheckboxClick($event, feature)\"\r\n />\r\n\r\n <label class=\"form-check-label\" [htmlFor]=\"feature.name\">{{\r\n feature.displayName\r\n }}</label>\r\n <ng-container\r\n *ngTemplateOutlet=\"descTmp; context: { $implicit: feature.description }\"\r\n ></ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"valueTypes.FreeTextStringValueType\">\r\n <div class=\"mb-3 form-group\">\r\n <label [htmlFor]=\"feature.name\" class=\"form-label\">{{\r\n feature.displayName\r\n }}</label>\r\n <input\r\n class=\"form-control\"\r\n type=\"text\"\r\n [id]=\"feature.name\"\r\n [(ngModel)]=\"feature.value\"\r\n [abpFeatureManagementFreeText]=\"feature\"\r\n />\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"descTmp; context: { $implicit: feature.description }\"\r\n ></ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"valueTypes.SelectionStringValueType\">\r\n <ng-container *ngIf=\"feature.valueType.itemSource?.items?.length\">\r\n <div class=\"mb-3 form-group\">\r\n <label [htmlFor]=\"feature.name\" class=\"form-label\">{{\r\n feature.displayName\r\n }}</label>\r\n <select class=\"form-select\" [id]=\"feature.name\" [(ngModel)]=\"feature.value\">\r\n <option\r\n *ngFor=\"\r\n let item of feature.valueType.itemSource?.items;\r\n trackBy: track.by('value')\r\n \"\r\n [ngValue]=\"item.value\"\r\n >\r\n {{\r\n item.displayText?.resourceName + '::' + item.displayText?.name\r\n | abpLocalization\r\n }}\r\n </option>\r\n </select>\r\n <ng-container\r\n *ngTemplateOutlet=\"descTmp; context: { $implicit: feature.description }\"\r\n ></ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>{{ feature.displayName }}</ng-container>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n </div>\r\n\r\n <ng-template #descTmp let-description>\r\n <small *ngIf=\"description\" class=\"d-block form-text text-muted\">{{ description }}</small>\r\n </ng-template>\r\n\r\n <div class=\"col-md-8\"><div [ngbNavOutlet]=\"nav\"></div></div>\r\n </ng-container>\r\n\r\n <div class=\"col\" *ngIf=\"!groups.length\">\r\n {{ 'AbpFeatureManagement::NoFeatureFoundMessage' | abpLocalization }}\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <abp-button\r\n *ngIf=\"groups.length\"\r\n iconClass=\"fa fa-refresh\"\r\n [disabled]=\"modalBusy\"\r\n (click)=\"resetToDefault()\"\r\n aria-hidden=\"true\"\r\n >\r\n {{ 'AbpFeatureManagement::ResetToDefault' | abpLocalization }}\r\n </abp-button>\r\n\r\n <button abpClose type=\"button\" class=\"btn btn-secondary\">\r\n {{ 'AbpFeatureManagement::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button\r\n *ngIf=\"groups.length\"\r\n iconClass=\"fa fa-check\"\r\n [disabled]=\"modalBusy\"\r\n (click)=\"save()\"\r\n aria-hidden=\"true\"\r\n >\r\n {{ 'AbpFeatureManagement::Save' | abpLocalization }}\r\n </abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'abp-feature-management-tab',\r\n templateUrl: './feature-management-tab.component.html',\r\n})\r\nexport class FeatureManagementTabComponent {\r\n visibleFeatures = false;\r\n providerKey: string;\r\n\r\n openFeaturesModal() {\r\n setTimeout(() => {\r\n this.visibleFeatures = true;\r\n }, 0);\r\n }\r\n\r\n onVisibleFeaturesChange = (value: boolean) => {\r\n this.visibleFeatures = value;\r\n };\r\n}\r\n","<p class=\"text-wrap\">{{ 'AbpFeatureManagement::ManageHostFeaturesText' | abpLocalization }}</p>\r\n\r\n<button class=\"btn btn-primary\" type=\"button\" (click)=\"openFeaturesModal()\">\r\n <i class=\"fa fa-cog\" aria-hidden=\"true\"></i>\r\n {{ 'AbpFeatureManagement::ManageHostFeatures' | abpLocalization }}\r\n</button>\r\n<abp-feature-management\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n providerName: { value: 'T' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visibleFeatures, twoWay: true }\r\n },\r\n outputs: { visibleChange: onVisibleFeaturesChange },\r\n componentKey: 'FeatureManagement.FeatureManagementComponent'\r\n }\"\r\n [(visible)]=\"visibleFeatures\"\r\n providerName=\"T\"\r\n [providerKey]=\"providerKey\"\r\n>\r\n</abp-feature-management>\r\n","import { SettingTabsService } from '@abp/ng.setting-management/config';\r\nimport { APP_INITIALIZER } from '@angular/core';\r\nimport { eFeatureManagementTabNames } from '../enums/feature-management-tab-names';\r\nimport { FeatureManagementTabComponent } from '../components';\r\n\r\nexport const FEATURE_MANAGEMENT_SETTINGS_PROVIDERS = [\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: configureSettingTabs,\r\n deps: [SettingTabsService],\r\n multi: true,\r\n },\r\n];\r\n\r\nexport function configureSettingTabs(settingtabs: SettingTabsService) {\r\n return () => {\r\n settingtabs.add([\r\n {\r\n name: eFeatureManagementTabNames.FeatureManagement,\r\n order: 104,\r\n requiredPolicy: 'FeatureManagement.ManageHostFeatures',\r\n component: FeatureManagementTabComponent,\r\n },\r\n ]);\r\n };\r\n}\r\n","import { CoreModule } from '@abp/ng.core';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NgbNavModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FeatureManagementComponent } from './components/feature-management/feature-management.component';\r\nimport { FreeTextInputDirective } from './directives/free-text-input.directive';\r\nimport { FEATURE_MANAGEMENT_SETTINGS_PROVIDERS } from './providers';\r\nimport { FeatureManagementTabComponent } from './components';\r\n\r\nconst exported = [\r\n FeatureManagementComponent,\r\n FreeTextInputDirective,\r\n FeatureManagementTabComponent,\r\n];\r\n\r\n@NgModule({\r\n declarations: [...exported],\r\n imports: [CoreModule, ThemeSharedModule, NgbNavModule],\r\n exports: [...exported],\r\n})\r\nexport class FeatureManagementModule {\r\n static forRoot(): ModuleWithProviders<FeatureManagementModule> {\r\n return {\r\n ngModule: FeatureManagementModule,\r\n providers: [FEATURE_MANAGEMENT_SETTINGS_PROVIDERS],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i7.FreeTextInputDirective","i2.FeatureManagementComponent"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
/// <amd-module name="@abp/ng.feature-management" />
|
|
5
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
/// <amd-module name="@abp/ng.feature-management" />
|
|
5
|
+
export * from './public-api';
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import { ConfigStateService, TrackByService } from '@abp/ng.core';
|
|
2
|
-
import { FeatureDto, FeatureGroupDto, FeaturesService } from '@abp/ng.feature-management/proxy';
|
|
3
|
-
import { ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
|
|
4
|
-
import { EventEmitter } from '@angular/core';
|
|
5
|
-
import { FeatureManagement } from '../../models/feature-management';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
declare enum ValueTypes {
|
|
8
|
-
ToggleStringValueType = "ToggleStringValueType",
|
|
9
|
-
FreeTextStringValueType = "FreeTextStringValueType",
|
|
10
|
-
SelectionStringValueType = "SelectionStringValueType"
|
|
11
|
-
}
|
|
12
|
-
export declare class FeatureManagementComponent implements FeatureManagement.FeatureManagementComponentInputs, FeatureManagement.FeatureManagementComponentOutputs {
|
|
13
|
-
readonly track: TrackByService;
|
|
14
|
-
private toasterService;
|
|
15
|
-
protected service: FeaturesService;
|
|
16
|
-
protected configState: ConfigStateService;
|
|
17
|
-
protected confirmationService: ConfirmationService;
|
|
18
|
-
providerKey: string;
|
|
19
|
-
providerName: string;
|
|
20
|
-
selectedGroupDisplayName: string;
|
|
21
|
-
groups: Pick<FeatureGroupDto, 'name' | 'displayName'>[];
|
|
22
|
-
features: {
|
|
23
|
-
[group: string]: Array<FeatureDto & {
|
|
24
|
-
style?: {
|
|
25
|
-
[key: string]: number;
|
|
26
|
-
};
|
|
27
|
-
initialValue: any;
|
|
28
|
-
}>;
|
|
29
|
-
};
|
|
30
|
-
valueTypes: typeof ValueTypes;
|
|
31
|
-
protected _visible: any;
|
|
32
|
-
get visible(): boolean;
|
|
33
|
-
set visible(value: boolean);
|
|
34
|
-
readonly visibleChange: EventEmitter<boolean>;
|
|
35
|
-
modalBusy: boolean;
|
|
36
|
-
constructor(track: TrackByService, toasterService: ToasterService, service: FeaturesService, configState: ConfigStateService, confirmationService: ConfirmationService);
|
|
37
|
-
openModal(): void;
|
|
38
|
-
getFeatures(): void;
|
|
39
|
-
save(): void;
|
|
40
|
-
resetToDefault(): void;
|
|
41
|
-
onCheckboxClick(val: boolean, feature: FeatureDto): void;
|
|
42
|
-
private uncheckToggleDescendants;
|
|
43
|
-
private checkToggleAncestors;
|
|
44
|
-
private findAllAncestorsOfByType;
|
|
45
|
-
private findAllDescendantsOfByType;
|
|
46
|
-
private findParentByType;
|
|
47
|
-
private findChildrenByType;
|
|
48
|
-
private getCurrentGroup;
|
|
49
|
-
private setFeatureValue;
|
|
50
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FeatureManagementComponent, never>;
|
|
51
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureManagementComponent, "abp-feature-management", ["abpFeatureManagement"], { "providerKey": "providerKey"; "providerName": "providerName"; "visible": "visible"; }, { "visibleChange": "visibleChange"; }, never, never, false, never>;
|
|
52
|
-
}
|
|
53
|
-
export {};
|
|
1
|
+
import { ConfigStateService, TrackByService } from '@abp/ng.core';
|
|
2
|
+
import { FeatureDto, FeatureGroupDto, FeaturesService } from '@abp/ng.feature-management/proxy';
|
|
3
|
+
import { ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
|
|
4
|
+
import { EventEmitter } from '@angular/core';
|
|
5
|
+
import { FeatureManagement } from '../../models/feature-management';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
declare enum ValueTypes {
|
|
8
|
+
ToggleStringValueType = "ToggleStringValueType",
|
|
9
|
+
FreeTextStringValueType = "FreeTextStringValueType",
|
|
10
|
+
SelectionStringValueType = "SelectionStringValueType"
|
|
11
|
+
}
|
|
12
|
+
export declare class FeatureManagementComponent implements FeatureManagement.FeatureManagementComponentInputs, FeatureManagement.FeatureManagementComponentOutputs {
|
|
13
|
+
readonly track: TrackByService;
|
|
14
|
+
private toasterService;
|
|
15
|
+
protected service: FeaturesService;
|
|
16
|
+
protected configState: ConfigStateService;
|
|
17
|
+
protected confirmationService: ConfirmationService;
|
|
18
|
+
providerKey: string;
|
|
19
|
+
providerName: string;
|
|
20
|
+
selectedGroupDisplayName: string;
|
|
21
|
+
groups: Pick<FeatureGroupDto, 'name' | 'displayName'>[];
|
|
22
|
+
features: {
|
|
23
|
+
[group: string]: Array<FeatureDto & {
|
|
24
|
+
style?: {
|
|
25
|
+
[key: string]: number;
|
|
26
|
+
};
|
|
27
|
+
initialValue: any;
|
|
28
|
+
}>;
|
|
29
|
+
};
|
|
30
|
+
valueTypes: typeof ValueTypes;
|
|
31
|
+
protected _visible: any;
|
|
32
|
+
get visible(): boolean;
|
|
33
|
+
set visible(value: boolean);
|
|
34
|
+
readonly visibleChange: EventEmitter<boolean>;
|
|
35
|
+
modalBusy: boolean;
|
|
36
|
+
constructor(track: TrackByService, toasterService: ToasterService, service: FeaturesService, configState: ConfigStateService, confirmationService: ConfirmationService);
|
|
37
|
+
openModal(): void;
|
|
38
|
+
getFeatures(): void;
|
|
39
|
+
save(): void;
|
|
40
|
+
resetToDefault(): void;
|
|
41
|
+
onCheckboxClick(val: boolean, feature: FeatureDto): void;
|
|
42
|
+
private uncheckToggleDescendants;
|
|
43
|
+
private checkToggleAncestors;
|
|
44
|
+
private findAllAncestorsOfByType;
|
|
45
|
+
private findAllDescendantsOfByType;
|
|
46
|
+
private findParentByType;
|
|
47
|
+
private findChildrenByType;
|
|
48
|
+
private getCurrentGroup;
|
|
49
|
+
private setFeatureValue;
|
|
50
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FeatureManagementComponent, never>;
|
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureManagementComponent, "abp-feature-management", ["abpFeatureManagement"], { "providerKey": { "alias": "providerKey"; "required": false; }; "providerName": { "alias": "providerName"; "required": false; }; "visible": { "alias": "visible"; "required": false; }; }, { "visibleChange": "visibleChange"; }, never, never, false, never>;
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class FeatureManagementTabComponent {
|
|
3
|
-
visibleFeatures: boolean;
|
|
4
|
-
providerKey: string;
|
|
5
|
-
openFeaturesModal(): void;
|
|
6
|
-
onVisibleFeaturesChange: (value: boolean) => void;
|
|
7
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FeatureManagementTabComponent, never>;
|
|
8
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureManagementTabComponent, "abp-feature-management-tab", never, {}, {}, never, never, false, never>;
|
|
9
|
-
}
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class FeatureManagementTabComponent {
|
|
3
|
+
visibleFeatures: boolean;
|
|
4
|
+
providerKey: string;
|
|
5
|
+
openFeaturesModal(): void;
|
|
6
|
+
onVisibleFeaturesChange: (value: boolean) => void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FeatureManagementTabComponent, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FeatureManagementTabComponent, "abp-feature-management-tab", never, {}, {}, never, never, false, never>;
|
|
9
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './feature-management/feature-management.component';
|
|
2
|
-
export * from './feature-management-tab/feature-management-tab.component';
|
|
1
|
+
export * from './feature-management/feature-management.component';
|
|
2
|
+
export * from './feature-management-tab/feature-management-tab.component';
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export interface FreeTextType {
|
|
3
|
-
valueType: {
|
|
4
|
-
validator: {
|
|
5
|
-
name: string;
|
|
6
|
-
};
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
export declare const INPUT_TYPES: {
|
|
10
|
-
numeric: string;
|
|
11
|
-
default: string;
|
|
12
|
-
};
|
|
13
|
-
export declare class FreeTextInputDirective {
|
|
14
|
-
_feature: FreeTextType;
|
|
15
|
-
set feature(val: FreeTextType);
|
|
16
|
-
get feature(): FreeTextType;
|
|
17
|
-
type: string;
|
|
18
|
-
private setInputType;
|
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FreeTextInputDirective, never>;
|
|
20
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<FreeTextInputDirective, "input[abpFeatureManagementFreeText]", ["inputAbpFeatureManagementFreeText"], { "feature": "abpFeatureManagementFreeText"; }, {}, never, never, false, never>;
|
|
21
|
-
}
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export interface FreeTextType {
|
|
3
|
+
valueType: {
|
|
4
|
+
validator: {
|
|
5
|
+
name: string;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare const INPUT_TYPES: {
|
|
10
|
+
numeric: string;
|
|
11
|
+
default: string;
|
|
12
|
+
};
|
|
13
|
+
export declare class FreeTextInputDirective {
|
|
14
|
+
_feature: FreeTextType;
|
|
15
|
+
set feature(val: FreeTextType);
|
|
16
|
+
get feature(): FreeTextType;
|
|
17
|
+
type: string;
|
|
18
|
+
private setInputType;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FreeTextInputDirective, never>;
|
|
20
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FreeTextInputDirective, "input[abpFeatureManagementFreeText]", ["inputAbpFeatureManagementFreeText"], { "feature": { "alias": "abpFeatureManagementFreeText"; "required": false; }; }, {}, never, never, false, never>;
|
|
21
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './free-text-input.directive';
|
|
1
|
+
export * from './free-text-input.directive';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const enum eFeatureManagementComponents {
|
|
2
|
-
FeatureManagement = "FeatureManagement.FeatureManagementComponent"
|
|
3
|
-
}
|
|
1
|
+
export declare const enum eFeatureManagementComponents {
|
|
2
|
+
FeatureManagement = "FeatureManagement.FeatureManagementComponent"
|
|
3
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const enum eFeatureManagementTabNames {
|
|
2
|
-
FeatureManagement = "AbpFeatureManagement::Permission:FeatureManagement"
|
|
3
|
-
}
|
|
1
|
+
export declare const enum eFeatureManagementTabNames {
|
|
2
|
+
FeatureManagement = "AbpFeatureManagement::Permission:FeatureManagement"
|
|
3
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "./components/feature-management/feature-management.component";
|
|
4
|
-
import * as i2 from "./directives/free-text-input.directive";
|
|
5
|
-
import * as i3 from "./components/feature-management-tab/feature-management-tab.component";
|
|
6
|
-
import * as i4 from "@abp/ng.core";
|
|
7
|
-
import * as i5 from "@abp/ng.theme.shared";
|
|
8
|
-
import * as i6 from "@ng-bootstrap/ng-bootstrap";
|
|
9
|
-
export declare class FeatureManagementModule {
|
|
10
|
-
static forRoot(): ModuleWithProviders<FeatureManagementModule>;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FeatureManagementModule, never>;
|
|
12
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<FeatureManagementModule, [typeof i1.FeatureManagementComponent, typeof i2.FreeTextInputDirective, typeof i3.FeatureManagementTabComponent], [typeof i4.CoreModule, typeof i5.ThemeSharedModule, typeof i6.NgbNavModule], [typeof i1.FeatureManagementComponent, typeof i2.FreeTextInputDirective, typeof i3.FeatureManagementTabComponent]>;
|
|
13
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<FeatureManagementModule>;
|
|
14
|
-
}
|
|
1
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "./components/feature-management/feature-management.component";
|
|
4
|
+
import * as i2 from "./directives/free-text-input.directive";
|
|
5
|
+
import * as i3 from "./components/feature-management-tab/feature-management-tab.component";
|
|
6
|
+
import * as i4 from "@abp/ng.core";
|
|
7
|
+
import * as i5 from "@abp/ng.theme.shared";
|
|
8
|
+
import * as i6 from "@ng-bootstrap/ng-bootstrap";
|
|
9
|
+
export declare class FeatureManagementModule {
|
|
10
|
+
static forRoot(): ModuleWithProviders<FeatureManagementModule>;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FeatureManagementModule, never>;
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FeatureManagementModule, [typeof i1.FeatureManagementComponent, typeof i2.FreeTextInputDirective, typeof i3.FeatureManagementTabComponent], [typeof i4.CoreModule, typeof i5.ThemeSharedModule, typeof i6.NgbNavModule], [typeof i1.FeatureManagementComponent, typeof i2.FreeTextInputDirective, typeof i3.FeatureManagementTabComponent]>;
|
|
13
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<FeatureManagementModule>;
|
|
14
|
+
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
-
export declare namespace FeatureManagement {
|
|
3
|
-
interface FeatureManagementComponentInputs {
|
|
4
|
-
visible: boolean;
|
|
5
|
-
readonly providerName: string;
|
|
6
|
-
readonly providerKey: string;
|
|
7
|
-
}
|
|
8
|
-
interface FeatureManagementComponentOutputs {
|
|
9
|
-
readonly visibleChange: EventEmitter<boolean>;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
export declare namespace FeatureManagement {
|
|
3
|
+
interface FeatureManagementComponentInputs {
|
|
4
|
+
visible: boolean;
|
|
5
|
+
readonly providerName: string;
|
|
6
|
+
readonly providerKey: string;
|
|
7
|
+
}
|
|
8
|
+
interface FeatureManagementComponentOutputs {
|
|
9
|
+
readonly visibleChange: EventEmitter<boolean>;
|
|
10
|
+
}
|
|
11
|
+
}
|
package/lib/models/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './feature-management';
|
|
1
|
+
export * from './feature-management';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { SettingTabsService } from '@abp/ng.setting-management/config';
|
|
2
|
-
export declare const FEATURE_MANAGEMENT_SETTINGS_PROVIDERS: {
|
|
3
|
-
provide: import("@angular/core").InjectionToken<readonly (() => void | import("rxjs").Observable<unknown> | Promise<unknown>)[]>;
|
|
4
|
-
useFactory: typeof configureSettingTabs;
|
|
5
|
-
deps: (typeof SettingTabsService)[];
|
|
6
|
-
multi: boolean;
|
|
7
|
-
}[];
|
|
8
|
-
export declare function configureSettingTabs(settingtabs: SettingTabsService): () => void;
|
|
1
|
+
import { SettingTabsService } from '@abp/ng.setting-management/config';
|
|
2
|
+
export declare const FEATURE_MANAGEMENT_SETTINGS_PROVIDERS: {
|
|
3
|
+
provide: import("@angular/core").InjectionToken<readonly (() => void | import("rxjs").Observable<unknown> | Promise<unknown>)[]>;
|
|
4
|
+
useFactory: typeof configureSettingTabs;
|
|
5
|
+
deps: (typeof SettingTabsService)[];
|
|
6
|
+
multi: boolean;
|
|
7
|
+
}[];
|
|
8
|
+
export declare function configureSettingTabs(settingtabs: SettingTabsService): () => void;
|
package/lib/providers/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './feature-management-settings.provider';
|
|
1
|
+
export * from './feature-management-settings.provider';
|
package/package.json
CHANGED
|
@@ -1,23 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abp/ng.feature-management",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.3.0-rc.2",
|
|
4
4
|
"homepage": "https://abp.io",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/abpframework/abp.git"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@abp/ng.theme.shared": "~7.
|
|
10
|
+
"@abp/ng.theme.shared": "~7.3.0-rc.2",
|
|
11
11
|
"tslib": "^2.0.0"
|
|
12
12
|
},
|
|
13
13
|
"publishConfig": {
|
|
14
14
|
"access": "public"
|
|
15
15
|
},
|
|
16
|
-
"module": "
|
|
17
|
-
"es2020": "fesm2020/abp-ng.feature-management.mjs",
|
|
18
|
-
"esm2020": "esm2020/abp-ng.feature-management.mjs",
|
|
19
|
-
"fesm2020": "fesm2020/abp-ng.feature-management.mjs",
|
|
20
|
-
"fesm2015": "fesm2015/abp-ng.feature-management.mjs",
|
|
16
|
+
"module": "fesm2022/abp-ng.feature-management.mjs",
|
|
21
17
|
"typings": "index.d.ts",
|
|
22
18
|
"exports": {
|
|
23
19
|
"./package.json": {
|
|
@@ -25,24 +21,20 @@
|
|
|
25
21
|
},
|
|
26
22
|
".": {
|
|
27
23
|
"types": "./index.d.ts",
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"node": "./fesm2015/abp-ng.feature-management.mjs",
|
|
32
|
-
"default": "./fesm2020/abp-ng.feature-management.mjs"
|
|
24
|
+
"esm2022": "./esm2022/abp-ng.feature-management.mjs",
|
|
25
|
+
"esm": "./esm2022/abp-ng.feature-management.mjs",
|
|
26
|
+
"default": "./fesm2022/abp-ng.feature-management.mjs"
|
|
33
27
|
},
|
|
34
28
|
"./proxy": {
|
|
35
29
|
"types": "./proxy/index.d.ts",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"node": "./fesm2015/abp-ng.feature-management-proxy.mjs",
|
|
40
|
-
"default": "./fesm2020/abp-ng.feature-management-proxy.mjs"
|
|
30
|
+
"esm2022": "./esm2022/proxy/abp-ng.feature-management-proxy.mjs",
|
|
31
|
+
"esm": "./esm2022/proxy/abp-ng.feature-management-proxy.mjs",
|
|
32
|
+
"default": "./fesm2022/abp-ng.feature-management-proxy.mjs"
|
|
41
33
|
}
|
|
42
34
|
},
|
|
43
35
|
"sideEffects": false,
|
|
44
36
|
"peerDependencies": {
|
|
45
|
-
"@abp/ng.core": "7.
|
|
46
|
-
"@abp/ng.setting-management": "7.
|
|
37
|
+
"@abp/ng.core": "7.3.0-rc.2",
|
|
38
|
+
"@abp/ng.setting-management": "7.3.0-rc.2"
|
|
47
39
|
}
|
|
48
40
|
}
|
package/proxy/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
/// <amd-module name="@abp/ng.feature-management/proxy" />
|
|
5
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
/// <amd-module name="@abp/ng.feature-management/proxy" />
|
|
5
|
+
export * from './public-api';
|
package/proxy/lib/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './proxy/feature-management';
|
|
2
|
-
export * from './proxy/validation';
|
|
1
|
+
export * from './proxy/feature-management';
|
|
2
|
+
export * from './proxy/validation';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { GetFeatureListResultDto, UpdateFeaturesDto } from './models';
|
|
2
|
-
import { RestService } from '@abp/ng.core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class FeaturesService {
|
|
5
|
-
private restService;
|
|
6
|
-
apiName: string;
|
|
7
|
-
delete: (providerName: string, providerKey: string) => import("rxjs").Observable<void>;
|
|
8
|
-
get: (providerName: string, providerKey: string) => import("rxjs").Observable<GetFeatureListResultDto>;
|
|
9
|
-
update: (providerName: string, providerKey: string, input: UpdateFeaturesDto) => import("rxjs").Observable<void>;
|
|
10
|
-
constructor(restService: RestService);
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<FeaturesService, never>;
|
|
12
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<FeaturesService>;
|
|
13
|
-
}
|
|
1
|
+
import type { GetFeatureListResultDto, UpdateFeaturesDto } from './models';
|
|
2
|
+
import { RestService } from '@abp/ng.core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class FeaturesService {
|
|
5
|
+
private restService;
|
|
6
|
+
apiName: string;
|
|
7
|
+
delete: (providerName: string, providerKey: string) => import("rxjs").Observable<void>;
|
|
8
|
+
get: (providerName: string, providerKey: string) => import("rxjs").Observable<GetFeatureListResultDto>;
|
|
9
|
+
update: (providerName: string, providerKey: string, input: UpdateFeaturesDto) => import("rxjs").Observable<void>;
|
|
10
|
+
constructor(restService: RestService);
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FeaturesService, never>;
|
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FeaturesService>;
|
|
13
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './features.service';
|
|
2
|
-
export * from './models';
|
|
1
|
+
export * from './features.service';
|
|
2
|
+
export * from './models';
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import type { IStringValueType } from '../validation/string-values/models';
|
|
2
|
-
export interface FeatureDto {
|
|
3
|
-
name?: string;
|
|
4
|
-
displayName?: string;
|
|
5
|
-
value?: string;
|
|
6
|
-
provider: FeatureProviderDto;
|
|
7
|
-
description?: string;
|
|
8
|
-
valueType: IStringValueType;
|
|
9
|
-
depth: number;
|
|
10
|
-
parentName?: string;
|
|
11
|
-
}
|
|
12
|
-
export interface FeatureGroupDto {
|
|
13
|
-
name?: string;
|
|
14
|
-
displayName?: string;
|
|
15
|
-
features: FeatureDto[];
|
|
16
|
-
}
|
|
17
|
-
export interface FeatureProviderDto {
|
|
18
|
-
name?: string;
|
|
19
|
-
key?: string;
|
|
20
|
-
}
|
|
21
|
-
export interface GetFeatureListResultDto {
|
|
22
|
-
groups: FeatureGroupDto[];
|
|
23
|
-
}
|
|
24
|
-
export interface UpdateFeatureDto {
|
|
25
|
-
name?: string;
|
|
26
|
-
value?: string;
|
|
27
|
-
}
|
|
28
|
-
export interface UpdateFeaturesDto {
|
|
29
|
-
features: UpdateFeatureDto[];
|
|
30
|
-
}
|
|
1
|
+
import type { IStringValueType } from '../validation/string-values/models';
|
|
2
|
+
export interface FeatureDto {
|
|
3
|
+
name?: string;
|
|
4
|
+
displayName?: string;
|
|
5
|
+
value?: string;
|
|
6
|
+
provider: FeatureProviderDto;
|
|
7
|
+
description?: string;
|
|
8
|
+
valueType: IStringValueType;
|
|
9
|
+
depth: number;
|
|
10
|
+
parentName?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface FeatureGroupDto {
|
|
13
|
+
name?: string;
|
|
14
|
+
displayName?: string;
|
|
15
|
+
features: FeatureDto[];
|
|
16
|
+
}
|
|
17
|
+
export interface FeatureProviderDto {
|
|
18
|
+
name?: string;
|
|
19
|
+
key?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface GetFeatureListResultDto {
|
|
22
|
+
groups: FeatureGroupDto[];
|
|
23
|
+
}
|
|
24
|
+
export interface UpdateFeatureDto {
|
|
25
|
+
name?: string;
|
|
26
|
+
value?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface UpdateFeaturesDto {
|
|
29
|
+
features: UpdateFeatureDto[];
|
|
30
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import * as StringValues from './string-values';
|
|
2
|
-
export { StringValues };
|
|
1
|
+
import * as StringValues from './string-values';
|
|
2
|
+
export { StringValues };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './models';
|
|
1
|
+
export * from './models';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export interface IStringValueType {
|
|
2
|
-
name?: string;
|
|
3
|
-
item: object;
|
|
4
|
-
properties: Record<string, object>;
|
|
5
|
-
validator: IValueValidator;
|
|
6
|
-
}
|
|
7
|
-
export interface IValueValidator {
|
|
8
|
-
name?: string;
|
|
9
|
-
item: object;
|
|
10
|
-
properties: Record<string, object>;
|
|
11
|
-
}
|
|
1
|
+
export interface IStringValueType {
|
|
2
|
+
name?: string;
|
|
3
|
+
item: object;
|
|
4
|
+
properties: Record<string, object>;
|
|
5
|
+
validator: IValueValidator;
|
|
6
|
+
}
|
|
7
|
+
export interface IValueValidator {
|
|
8
|
+
name?: string;
|
|
9
|
+
item: object;
|
|
10
|
+
properties: Record<string, object>;
|
|
11
|
+
}
|
package/proxy/public-api.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './lib/index';
|
|
1
|
+
export * from './lib/index';
|
package/public-api.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export * from './lib/components';
|
|
2
|
-
export * from './lib/directives';
|
|
3
|
-
export * from './lib/providers';
|
|
4
|
-
export * from './lib/enums/components';
|
|
5
|
-
export * from './lib/feature-management.module';
|
|
6
|
-
export * from './lib/models';
|
|
1
|
+
export * from './lib/components';
|
|
2
|
+
export * from './lib/directives';
|
|
3
|
+
export * from './lib/providers';
|
|
4
|
+
export * from './lib/enums/components';
|
|
5
|
+
export * from './lib/feature-management.module';
|
|
6
|
+
export * from './lib/models';
|