@circe/table
Version:
Circe Components for Angular :: Table Component
50 lines • 7.12 kB
JavaScript
export class NpaTableActionsConfiguration {
constructor(configModel) {
this._defaultConfiguration = {
dropdownConfig: {
elementReference: ''
},
actionsType: 'link',
columnWidth: 5,
showOnHover: false,
group: true,
hideColumn: false,
defaultActionId: ''
};
this._processConfiguration(typeof configModel === 'object' ? Object.assign(Object.assign({}, this._defaultConfiguration), configModel) : this._defaultConfiguration);
}
_processConfiguration(config) {
var _a;
if ('dropdownConfig' in config) {
this.dropdownConfig = Object.assign(Object.assign({}, this.dropdownConfig), config.dropdownConfig);
}
if ('actionsType' in config) {
this.actionsType = config.actionsType;
}
if ('columnWidth' in config) {
this.columnWidth = config.columnWidth;
}
if ('group' in config) {
this.group = config.group;
}
if ('hideColumn' in config) {
this.hideColumn = config.hideColumn;
}
if ('showOnHover' in config) {
this.showOnHover = config.showOnHover;
}
if ('actions' in config) {
this.actions = config.actions;
}
if ('defaultActionId' in config) {
this.defaultActionId = config.defaultActionId;
}
if (this.group && !((_a = this.dropdownConfig) === null || _a === void 0 ? void 0 : _a.elementRelative)) {
throw new Error('If actions are grouped, an elementRelative for dropdown config is required.');
}
if (config.actions && !this.group && !this.actionsType) {
throw new Error('You must provide a type for actions.');
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtYWN0aW9ucy5jb25maWd1cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFibGUvc3JjL2xpYi9jb25maWd1cmF0aW9ucy90YWJsZS1hY3Rpb25zLmNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxPQUFPLDRCQUE0QjtJQXVCdkMsWUFBWSxXQUFrRDtRQVp0RCwwQkFBcUIsR0FBeUM7WUFDcEUsY0FBYyxFQUFFO2dCQUNkLGdCQUFnQixFQUFFLEVBQUU7YUFDckI7WUFDRCxXQUFXLEVBQUUsTUFBTTtZQUNuQixXQUFXLEVBQUUsQ0FBQztZQUNkLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEtBQUssRUFBRSxJQUFJO1lBQ1gsVUFBVSxFQUFFLEtBQUs7WUFDakIsZUFBZSxFQUFFLEVBQUU7U0FDcEIsQ0FBQztRQUdBLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxpQ0FDckQsSUFBSSxDQUFDLHFCQUFxQixHQUFLLFdBQVcsRUFBRyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQTRDOztRQUN4RSxJQUFJLGdCQUFnQixJQUFJLE1BQU0sRUFBRTtZQUM5QixJQUFJLENBQUMsY0FBYyxtQ0FDZCxJQUFJLENBQUMsY0FBYyxHQUNuQixNQUFNLENBQUMsY0FBYyxDQUN6QixDQUFDO1NBQ0g7UUFFRCxJQUFJLGFBQWEsSUFBSSxNQUFNLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1NBQ3ZDO1FBRUQsSUFBSSxhQUFhLElBQUksTUFBTSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztTQUN2QztRQUVELElBQUksT0FBTyxJQUFJLE1BQU0sRUFBRTtZQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDM0I7UUFFRCxJQUFJLFlBQVksSUFBSSxNQUFNLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1NBQ3JDO1FBRUQsSUFBSSxhQUFhLElBQUksTUFBTSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztTQUN2QztRQUVELElBQUksU0FBUyxJQUFJLE1BQU0sRUFBRTtZQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDL0I7UUFFRCxJQUFJLGlCQUFpQixJQUFJLE1BQU0sRUFBRTtZQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7U0FDL0M7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLGNBQWMsMENBQUUsZUFBZSxDQUFBLEVBQUU7WUFDdkQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO1NBQ2hHO1FBRUQsSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDdEQsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTnBhRHJvcGRvd25Db25maWcgfSBmcm9tICdAY2lyY2UvZHJvcGRvd24nO1xuaW1wb3J0IHsgTnBhQWN0aW9uQ29uZmlnU291cmNlLCBOcGFUYWJsZUFjdGlvbnNDb25maWd1cmF0aW9uTW9kZWwsIE5wYVRhYmxlQWN0aW9uVHlwZSB9IGZyb20gJy4uL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IE5wYUFjdGlvbkNvbmZpZyB9IGZyb20gJy4uL3RhYmxlLWFjdGlvbnMvdGFibGUtYWN0aW9ucy50eXBlcyc7XG5pbXBvcnQgeyBOcGFJZCB9IGZyb20gJ0BjaXJjZS9jb3JlJztcblxuZXhwb3J0IGNsYXNzIE5wYVRhYmxlQWN0aW9uc0NvbmZpZ3VyYXRpb248VD4ge1xuXG4gIHB1YmxpYyBhY3Rpb25zVHlwZTogTnBhVGFibGVBY3Rpb25UeXBlO1xuICBwdWJsaWMgY29sdW1uV2lkdGg6IG51bWJlcjtcbiAgcHVibGljIGdyb3VwOiBib29sZWFuO1xuICBwdWJsaWMgc2hvd09uSG92ZXI6IGJvb2xlYW47XG4gIHB1YmxpYyBoaWRlQ29sdW1uOiBib29sZWFuO1xuICBwdWJsaWMgZGVmYXVsdEFjdGlvbklkOiBOcGFJZDtcbiAgcHVibGljIGFjdGlvbnM6IE5wYUFjdGlvbkNvbmZpZzxUPltdIHwgTnBhQWN0aW9uQ29uZmlnU291cmNlPFQ+O1xuICBwdWJsaWMgZHJvcGRvd25Db25maWc6IE5wYURyb3Bkb3duQ29uZmlnO1xuXG4gIHByaXZhdGUgX2RlZmF1bHRDb25maWd1cmF0aW9uOiBOcGFUYWJsZUFjdGlvbnNDb25maWd1cmF0aW9uTW9kZWw8VD4gPSB7XG4gICAgZHJvcGRvd25Db25maWc6IHtcbiAgICAgIGVsZW1lbnRSZWZlcmVuY2U6ICcnXG4gICAgfSxcbiAgICBhY3Rpb25zVHlwZTogJ2xpbmsnLFxuICAgIGNvbHVtbldpZHRoOiA1LFxuICAgIHNob3dPbkhvdmVyOiBmYWxzZSxcbiAgICBncm91cDogdHJ1ZSxcbiAgICBoaWRlQ29sdW1uOiBmYWxzZSxcbiAgICBkZWZhdWx0QWN0aW9uSWQ6ICcnXG4gIH07XG5cbiAgY29uc3RydWN0b3IoY29uZmlnTW9kZWw/OiBOcGFUYWJsZUFjdGlvbnNDb25maWd1cmF0aW9uTW9kZWw8VD4pIHtcbiAgICB0aGlzLl9wcm9jZXNzQ29uZmlndXJhdGlvbih0eXBlb2YgY29uZmlnTW9kZWwgPT09ICdvYmplY3QnID9cbiAgICAgIHsgLi4udGhpcy5fZGVmYXVsdENvbmZpZ3VyYXRpb24sIC4uLmNvbmZpZ01vZGVsIH0gOiB0aGlzLl9kZWZhdWx0Q29uZmlndXJhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIF9wcm9jZXNzQ29uZmlndXJhdGlvbihjb25maWc6IE5wYVRhYmxlQWN0aW9uc0NvbmZpZ3VyYXRpb25Nb2RlbDxUPik6IHZvaWQge1xuICAgIGlmICgnZHJvcGRvd25Db25maWcnIGluIGNvbmZpZykge1xuICAgICAgdGhpcy5kcm9wZG93bkNvbmZpZyA9IHtcbiAgICAgICAgLi4udGhpcy5kcm9wZG93bkNvbmZpZyxcbiAgICAgICAgLi4uY29uZmlnLmRyb3Bkb3duQ29uZmlnXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICgnYWN0aW9uc1R5cGUnIGluIGNvbmZpZykge1xuICAgICAgdGhpcy5hY3Rpb25zVHlwZSA9IGNvbmZpZy5hY3Rpb25zVHlwZTtcbiAgICB9XG5cbiAgICBpZiAoJ2NvbHVtbldpZHRoJyBpbiBjb25maWcpIHtcbiAgICAgIHRoaXMuY29sdW1uV2lkdGggPSBjb25maWcuY29sdW1uV2lkdGg7XG4gICAgfVxuXG4gICAgaWYgKCdncm91cCcgaW4gY29uZmlnKSB7XG4gICAgICB0aGlzLmdyb3VwID0gY29uZmlnLmdyb3VwO1xuICAgIH1cblxuICAgIGlmICgnaGlkZUNvbHVtbicgaW4gY29uZmlnKSB7XG4gICAgICB0aGlzLmhpZGVDb2x1bW4gPSBjb25maWcuaGlkZUNvbHVtbjtcbiAgICB9XG5cbiAgICBpZiAoJ3Nob3dPbkhvdmVyJyBpbiBjb25maWcpIHtcbiAgICAgIHRoaXMuc2hvd09uSG92ZXIgPSBjb25maWcuc2hvd09uSG92ZXI7XG4gICAgfVxuXG4gICAgaWYgKCdhY3Rpb25zJyBpbiBjb25maWcpIHtcbiAgICAgIHRoaXMuYWN0aW9ucyA9IGNvbmZpZy5hY3Rpb25zO1xuICAgIH1cblxuICAgIGlmICgnZGVmYXVsdEFjdGlvbklkJyBpbiBjb25maWcpIHtcbiAgICAgIHRoaXMuZGVmYXVsdEFjdGlvbklkID0gY29uZmlnLmRlZmF1bHRBY3Rpb25JZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ncm91cCAmJiAhdGhpcy5kcm9wZG93bkNvbmZpZz8uZWxlbWVudFJlbGF0aXZlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0lmIGFjdGlvbnMgYXJlIGdyb3VwZWQsIGFuIGVsZW1lbnRSZWxhdGl2ZSBmb3IgZHJvcGRvd24gY29uZmlnIGlzIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuYWN0aW9ucyAmJiAhdGhpcy5ncm91cCAmJiAhdGhpcy5hY3Rpb25zVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgbXVzdCBwcm92aWRlIGEgdHlwZSBmb3IgYWN0aW9ucy4nKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==