d2aura 23.0.35 → 23.0.36
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/api/abstractEntityApi.js
CHANGED
|
@@ -33,7 +33,7 @@ export default class AbstractEntityApi extends AbstractApi {
|
|
|
33
33
|
eventName: this.eventName,
|
|
34
34
|
update: function (...parameters) {
|
|
35
35
|
const eventName = D2Data.toSimpleValue(parameters[0]);
|
|
36
|
-
if (eventName === this.eventName) {
|
|
36
|
+
if (eventName.toUpperCase() === this.eventName.toString()) {
|
|
37
37
|
this.updateHandler();
|
|
38
38
|
}
|
|
39
39
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstractEntityApi.js","sourceRoot":"","sources":["../../../api/abstractEntityApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAmC,MAAM,SAAS,CAAC;AAEjE,OAAO,EAAC,WAAW,EAAkB,MAAM,uCAAuC,CAAC;AACnF,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAGpC,OAAO,EAA0B,uBAAuB,EAAE,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAC/G,OAAO,cAAc,EAAE,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAG3D,OAAO,WAAW,MAAM,eAAe,CAAC;AAWxC,MAAM,CAAC,OAAO,OAAgB,iBAAoC,SAAQ,WAAW;IAMjF,YAAsB,KAAe,EAAE,eAAuB,EAAE,SAAiB,EAAE,uBAA+B,EAAE,YAAsB;QACtI,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAID,KAAK,CAAC,eAAe,CAAC,MAAU;QAC5B,MAAM,MAAM,GAAwB,MAAM,IAAI,CAAC,OAAO,CAClD;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,uBAAuB;YAChC,wBAAwB,EAAE,IAAI;SACjC,EACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAC3G,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACvC,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,cAAc,CAAC,SAAY,EAAE,MAAU;QAC7C,SAAS,CAAC,EAAE,GAAG,SAA8B,CAAC;QAC9C,MAAM,CAAC;IACX,CAAC;IAED,oBAAoB,CAAC,aAAyB;QAC1C,MAAM,SAAS,GAAG;YACd,aAAa,EAAE,aAAa;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,UAAU,GAAG,UAAoB;gBACrC,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAS,UAAU,CAAC,CAAC,CAAQ,CAAC,CAAC;gBACrE,IAAI,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,CAAC;YACL,CAAC;YACD,KAAK,EAAE;gBACH,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;SACJ,CAAA;QACD,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,QAAgB,EAAE,OAAe,EAAE,UAAqC,EAAE,SAAkB;QAC7H,MAAM,MAAM,GAAwB,MAAM,IAAI,CAAC,OAAO,CAClD;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,aAAa;SACzB,EACD,EAAC,IAAI,UAAuB,EAAE,UAAU,EAAE,IAAI,CAAC,uBAAuB,EAAE,QAAQ,EAAE,MAAM,EAAC,EACzF,EAAC,IAAI,OAAoB,EAAE,QAAQ,EAAE,mBAAmB,EAAC,EACzD,UAAU,EACV,QAAQ,EACR,EAAC,IAAI,QAAqB,EAAE,KAAK,EAAE,OAAO,EAAC,EAC3C,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,uBAAuB,EAAE,UAAU,CAAC,EACtF,EAAC,IAAI,QAAqB,EAAE,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAC,CACnF,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAExD,OAAO;YACH,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;SAC9C,CAAA;IACL,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,MAAM,MAAM,GAAc,MAAM,IAAI,CAAC,OAAO,CACxC;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,gBAAgB;SAC5B,EACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EACnC,EAAC,IAAI,OAAoB,EAAE,QAAQ,EAAE,YAAY,EAAC,CACrD,CAAC;QAEF,OAAO,MAAM,CAAC,UAAU,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,UAAkB,EAAE,QAAgB;QAC7D,MAAM,MAAM,GAAwB,MAAM,IAAI,CAAC,OAAO,CAClD;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,kBAAkB;SAC9B,EACD,EAAE,EACF,EAAC,IAAI,UAAuB,EAAE,UAAU,EAAE,IAAI,CAAC,uBAAuB,EAAE,QAAQ,EAAE,MAAM,EAAC,EACzF,EAAC,IAAI,OAAoB,EAAE,QAAQ,EAAE,mBAAmB,EAAC,EACzD,UAAU,EACV,QAAQ,CACX,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;QAExD,OAAO;YACH,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;SAC9C,CAAA;IACL,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,MAAS,EAAE,WAAoB;QAC5D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,MAAS,EAAE,WAAoB,EAAE,iBAA2B;QACrF,OAAO,MAAM,IAAI,CAAC,OAAO,CACrB;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,UAAU;SACtB,EACD,EAAC,IAAI,QAAqB,EAAE,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAC,EAClF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAC1F,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EACnC,EAAC,IAAI,QAAqB,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAC,CACrD,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAS,EAAE,gBAA0B;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAE9E,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjC,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACJ,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACtB,MAAM,MAAM,GAAwB,MAAM,IAAI,CAAC,OAAO,CAClD;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,UAAU;SACtB,EACD,EAAE,EACF,EAAC,IAAI,UAAuB,EAAE,UAAU,EAAE,IAAI,CAAC,uBAAuB,EAAE,QAAQ,EAAE,MAAM,EAAC,CAC5F,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3B,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAS,EAAE,KAAc;QACvC,MAAM,MAAM,GAAwB,MAAM,IAAI,CAAC,OAAO,CAClD;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,eAAe;SAC3B,EACD,EAAC,IAAI,QAAqB,EAAE,KAAK,EAAE,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAC,EAC5E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAC1F,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EACnC,EAAC,IAAI,QAAqB,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI,EAAC,CACrD,CAAC;QAEF,OAAO,MAAM,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QACzB,MAAM,MAAM,GAA4B,MAAM,IAAI,CAAC,OAAO,CACtD;YACI,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,iBAAiB;SAC7B,EACD,EAAC,IAAI,QAAqB,EAAE,KAAK,EAAE,IAAI,EAAC,EACxC,EAAC,IAAI,QAAqB,EAAE,QAAQ,EAAE,MAAM,EAAC,CAChD,CAAC;QAEF,OAAO,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAS;QACtB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAChC;YACI,SAAS,EAAE,sBAAsB;YACjC,OAAO,EAAE,MAAM;YACf,kBAAkB,EAAE,IAAI;SAC3B,EACD,IAAI,CAAC,eAAe,EACpB,MAAM,CAAC,EAAE,EACT,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAC3B,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YAClB,WAAW,CAAC,KAAK,CAAC;gBACd,IAAI,MAAoB;gBACxB,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,wDAAwD,EAAE,EAAC,IAAI,EAAE,SAAS,CAAC,YAAY,IAAI,EAAE,EAAC,CAAC;aAChH,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAS;QACxB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,EAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/F,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,WAAW,CAAC,MAAc;QACtB,OAAO,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;CACJ","sourcesContent":["import {D2Data, D2WebApi, Unival, UnivalTypeEnum} from \"d2jsapi\";\r\nimport ApiResult from \"./types/apiResult\";\r\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport Entity from \"./types/entity\";\r\nimport EntityListResult from \"./types/entityListResult\";\r\nimport {AdvancedFilterCondition, FILTER_CONDITION_FIELDS, FILTER_CONDITION_SD_NAME} from \"./advancedFilterApi\";\r\nimport D2BooleanUtils, {D2Boolean} from \"./util/d2Boolean\";\r\nimport EntityResult from \"./types/entityResult\";\r\nimport {AccessRight} from \"./types/accessRight\";\r\nimport AbstractApi from \"./abstractApi\";\r\n\r\nexport interface Closeable {\r\n close(): void\r\n}\r\n\r\nexport interface PageableList<T extends Entity> {\r\n data: T[]\r\n totalNumberOfRows: number\r\n}\r\n\r\nexport default abstract class AbstractEntityApi<T extends Entity> extends AbstractApi {\r\n entityClassName: string;\r\n protected eventName: string;\r\n protected structureDefinitionName: string;\r\n protected entityFields: string[];\r\n\r\n protected constructor(d2Api: D2WebApi, entityClassName: string, eventName: string, structureDefinitionName: string, entityFields: string[]) {\r\n super(d2Api);\r\n this.entityClassName = entityClassName;\r\n this.eventName = eventName;\r\n this.structureDefinitionName = structureDefinitionName;\r\n this.entityFields = entityFields;\r\n }\r\n\r\n abstract adaptEntityId(entity: T): void;\r\n\r\n async createNewEntity(sample?: T): Promise<T> {\r\n const result: EntityListResult<T> = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_GetDefaultValues\",\r\n skipCheckErrorParameters: true,\r\n },\r\n this.d2Api.connection.user.userName,\r\n this.convertToStructure(this.structureDefinitionName, this.entityFields, sample ? [sample] : [], \"data\"),\r\n );\r\n\r\n const newEntity = result.data[0];\r\n this.adaptNewEntity(newEntity, sample);\r\n return newEntity;\r\n }\r\n\r\n protected adaptNewEntity(newEntity: T, sample?: T) {\r\n newEntity.id = undefined as unknown as number;\r\n sample;\r\n }\r\n\r\n subscribeRefreshList(updateHandler: () => void): Closeable {\r\n const closeable = {\r\n updateHandler: updateHandler,\r\n d2Api: this.d2Api,\r\n eventName: this.eventName,\r\n update: function (...parameters: Unival[]) {\r\n const eventName = D2Data.toSimpleValue<string>(parameters[0] as any);\r\n if (eventName === this.eventName) {\r\n this.updateHandler();\r\n }\r\n },\r\n close: function () {\r\n this.d2Api.unSubscribeRpc(this.update);\r\n }\r\n }\r\n closeable.update = closeable.update.bind(closeable);\r\n closeable.close = closeable.close.bind(closeable);\r\n\r\n this.d2Api.subscribeRpc(\"RefreshList\", closeable.update);\r\n return closeable;\r\n }\r\n\r\n async getAllData(fromRecord: number, toRecord: number, orderBy: string, conditions: AdvancedFilterCondition[], onlyValid: boolean): Promise<PageableList<T>> {\r\n const result: EntityListResult<T> = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_GetAll\",\r\n },\r\n {type: UnivalTypeEnum.RECORD, structType: this.structureDefinitionName, returnAs: \"data\"},\r\n {type: UnivalTypeEnum.INT, returnAs: \"totalNumberOfRows\"},\r\n fromRecord,\r\n toRecord,\r\n {type: UnivalTypeEnum.TEXT, value: orderBy},\r\n this.convertToStructure(FILTER_CONDITION_SD_NAME, FILTER_CONDITION_FIELDS, conditions),\r\n {type: UnivalTypeEnum.BOOL, value: D2BooleanUtils.booleanToD2Boolean(onlyValid)}\r\n );\r\n\r\n result.data.forEach(value => this.adaptEntityId(value));\r\n\r\n return {\r\n data: result.data,\r\n totalNumberOfRows: result.totalNumberOfRows,\r\n }\r\n }\r\n\r\n async getAccessRight(): Promise<AccessRight> {\r\n const result: ApiResult = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"GetAccessRight\",\r\n },\r\n this.d2Api.connection.user.userName,\r\n {type: UnivalTypeEnum.INT, returnAs: \"rightLevel\"},\r\n );\r\n\r\n return result.rightLevel;\r\n }\r\n\r\n async getHistory(id: number, fromRecord: number, toRecord: number): Promise<PageableList<T>> {\r\n const result: EntityListResult<T> = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_History_Get\",\r\n },\r\n id,\r\n {type: UnivalTypeEnum.RECORD, structType: this.structureDefinitionName, returnAs: \"data\"},\r\n {type: UnivalTypeEnum.INT, returnAs: \"totalNumberOfRows\"},\r\n fromRecord,\r\n toRecord,\r\n );\r\n\r\n result.data.forEach((value, index) => value.id = index);\r\n\r\n return {\r\n data: result.data,\r\n totalNumberOfRows: result.totalNumberOfRows,\r\n }\r\n }\r\n\r\n protected async adaptSavedEntity(entity: T, isNewEntity: boolean): Promise<T> {\r\n this.adaptEntityId(entity);\r\n entity = await this.getEntity(entity.id);\r\n if (!isNewEntity) {\r\n await this.unlockEntity(entity);\r\n }\r\n return entity;\r\n }\r\n\r\n protected async internalSave(entity: T, isNewEntity: boolean, _isCosmeticChange?: boolean): Promise<EntityListResult<T>> {\r\n return await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_Set\",\r\n },\r\n {type: UnivalTypeEnum.BOOL, value: D2BooleanUtils.booleanToD2Boolean(isNewEntity)},\r\n this.convertToStructure(this.structureDefinitionName, this.entityFields, [entity], \"data\"),\r\n this.d2Api.connection.user.userName,\r\n {type: UnivalTypeEnum.BOOL, value: D2Boolean.TRUE}\r\n );\r\n }\r\n\r\n async saveEntity(entity: T, isCosmeticChange?: boolean): Promise<T | undefined> {\r\n const isNewEntity = this.isNewEntity(entity);\r\n const result = await this.internalSave(entity, isNewEntity, isCosmeticChange);\r\n\r\n if (result.isOk) {\r\n let savedEntity = result.data[0];\r\n return await this.adaptSavedEntity(savedEntity, isNewEntity);\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n async getEntity(id: number): Promise<T> {\r\n const result: EntityListResult<T> = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_Get\",\r\n },\r\n id,\r\n {type: UnivalTypeEnum.RECORD, structType: this.structureDefinitionName, returnAs: \"data\"}\r\n );\r\n\r\n const entity = result.data[0];\r\n this.adaptEntityId(entity);\r\n\r\n return entity;\r\n }\r\n\r\n async setValidity(entity: T, valid: boolean): Promise<boolean> {\r\n const result: EntityListResult<T> = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_SetValid\",\r\n },\r\n {type: UnivalTypeEnum.BOOL, value: D2BooleanUtils.booleanToD2Boolean(valid)},\r\n this.convertToStructure(this.structureDefinitionName, this.entityFields, [entity], \"data\"),\r\n this.d2Api.connection.user.userName,\r\n {type: UnivalTypeEnum.BOOL, value: D2Boolean.TRUE}\r\n );\r\n\r\n return result.isOk;\r\n }\r\n\r\n async codeExists(code: string): Promise<boolean> {\r\n const result: EntityResult<D2Boolean> = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_CodeExists\",\r\n },\r\n {type: UnivalTypeEnum.TEXT, value: code},\r\n {type: UnivalTypeEnum.BOOL, returnAs: \"data\"}\r\n );\r\n\r\n return D2BooleanUtils.d2BooleanToBoolean(result.data);\r\n }\r\n\r\n async lockEntity(entity: T): Promise<boolean> {\r\n const apiResult = await this.callRpc(\r\n {\r\n eventName: \"E.AR_Session_Manager\",\r\n rpcName: \"Lock\",\r\n skipCheckErrorOnly: true,\r\n },\r\n this.entityClassName,\r\n entity.id,\r\n this.d2Api.connection.id\r\n );\r\n\r\n if (!apiResult.isOk) {\r\n ModalDialog.error({\r\n mode: ModalDialogMode.OK,\r\n title: i18n(\"Edit is not allowed\"),\r\n content: i18n(\"User \\\"%{name}\\\" is currently editing selected record.\", {name: apiResult.errorMessage ?? \"\"})\r\n });\r\n } else {\r\n entity.locked = true;\r\n }\r\n return apiResult.isOk;\r\n }\r\n\r\n async unlockEntity(entity: T): Promise<void> {\r\n await this.d2Api.rpc(\"E.AR_Session_Manager\", \"Unlock\", this.entityClassName, entity.id).call();\r\n entity.locked = false;\r\n }\r\n\r\n isNewEntity(entity: Entity) {\r\n return entity.id === undefined || entity.id === -1;\r\n }\r\n}"]}
|
|
1
|
+
{"version":3,"file":"abstractEntityApi.js","sourceRoot":"","sources":["../../../api/abstractEntityApi.ts"],"names":[],"mappings":"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","sourcesContent":["import {D2Data, D2WebApi, Unival, UnivalTypeEnum} from \"d2jsapi\";\r\nimport ApiResult from \"./types/apiResult\";\r\nimport {ModalDialog, ModalDialogMode} from \"d2coreui/components/modal/modalDialog\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport Entity from \"./types/entity\";\r\nimport EntityListResult from \"./types/entityListResult\";\r\nimport {AdvancedFilterCondition, FILTER_CONDITION_FIELDS, FILTER_CONDITION_SD_NAME} from \"./advancedFilterApi\";\r\nimport D2BooleanUtils, {D2Boolean} from \"./util/d2Boolean\";\r\nimport EntityResult from \"./types/entityResult\";\r\nimport {AccessRight} from \"./types/accessRight\";\r\nimport AbstractApi from \"./abstractApi\";\r\n\r\nexport interface Closeable {\r\n close(): void\r\n}\r\n\r\nexport interface PageableList<T extends Entity> {\r\n data: T[]\r\n totalNumberOfRows: number\r\n}\r\n\r\nexport default abstract class AbstractEntityApi<T extends Entity> extends AbstractApi {\r\n entityClassName: string;\r\n protected eventName: string;\r\n protected structureDefinitionName: string;\r\n protected entityFields: string[];\r\n\r\n protected constructor(d2Api: D2WebApi, entityClassName: string, eventName: string, structureDefinitionName: string, entityFields: string[]) {\r\n super(d2Api);\r\n this.entityClassName = entityClassName;\r\n this.eventName = eventName;\r\n this.structureDefinitionName = structureDefinitionName;\r\n this.entityFields = entityFields;\r\n }\r\n\r\n abstract adaptEntityId(entity: T): void;\r\n\r\n async createNewEntity(sample?: T): Promise<T> {\r\n const result: EntityListResult<T> = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_GetDefaultValues\",\r\n skipCheckErrorParameters: true,\r\n },\r\n this.d2Api.connection.user.userName,\r\n this.convertToStructure(this.structureDefinitionName, this.entityFields, sample ? [sample] : [], \"data\"),\r\n );\r\n\r\n const newEntity = result.data[0];\r\n this.adaptNewEntity(newEntity, sample);\r\n return newEntity;\r\n }\r\n\r\n protected adaptNewEntity(newEntity: T, sample?: T) {\r\n newEntity.id = undefined as unknown as number;\r\n sample;\r\n }\r\n\r\n subscribeRefreshList(updateHandler: () => void): Closeable {\r\n const closeable = {\r\n updateHandler: updateHandler,\r\n d2Api: this.d2Api,\r\n eventName: this.eventName,\r\n update: function (...parameters: Unival[]) {\r\n const eventName = D2Data.toSimpleValue<string>(parameters[0] as any);\r\n if (eventName.toUpperCase() === this.eventName.toString()) {\r\n this.updateHandler();\r\n }\r\n },\r\n close: function () {\r\n this.d2Api.unSubscribeRpc(this.update);\r\n }\r\n }\r\n closeable.update = closeable.update.bind(closeable);\r\n closeable.close = closeable.close.bind(closeable);\r\n\r\n this.d2Api.subscribeRpc(\"RefreshList\", closeable.update);\r\n return closeable;\r\n }\r\n\r\n async getAllData(fromRecord: number, toRecord: number, orderBy: string, conditions: AdvancedFilterCondition[], onlyValid: boolean): Promise<PageableList<T>> {\r\n const result: EntityListResult<T> = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_GetAll\",\r\n },\r\n {type: UnivalTypeEnum.RECORD, structType: this.structureDefinitionName, returnAs: \"data\"},\r\n {type: UnivalTypeEnum.INT, returnAs: \"totalNumberOfRows\"},\r\n fromRecord,\r\n toRecord,\r\n {type: UnivalTypeEnum.TEXT, value: orderBy},\r\n this.convertToStructure(FILTER_CONDITION_SD_NAME, FILTER_CONDITION_FIELDS, conditions),\r\n {type: UnivalTypeEnum.BOOL, value: D2BooleanUtils.booleanToD2Boolean(onlyValid)}\r\n );\r\n\r\n result.data.forEach(value => this.adaptEntityId(value));\r\n\r\n return {\r\n data: result.data,\r\n totalNumberOfRows: result.totalNumberOfRows,\r\n }\r\n }\r\n\r\n async getAccessRight(): Promise<AccessRight> {\r\n const result: ApiResult = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"GetAccessRight\",\r\n },\r\n this.d2Api.connection.user.userName,\r\n {type: UnivalTypeEnum.INT, returnAs: \"rightLevel\"},\r\n );\r\n\r\n return result.rightLevel;\r\n }\r\n\r\n async getHistory(id: number, fromRecord: number, toRecord: number): Promise<PageableList<T>> {\r\n const result: EntityListResult<T> = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_History_Get\",\r\n },\r\n id,\r\n {type: UnivalTypeEnum.RECORD, structType: this.structureDefinitionName, returnAs: \"data\"},\r\n {type: UnivalTypeEnum.INT, returnAs: \"totalNumberOfRows\"},\r\n fromRecord,\r\n toRecord,\r\n );\r\n\r\n result.data.forEach((value, index) => value.id = index);\r\n\r\n return {\r\n data: result.data,\r\n totalNumberOfRows: result.totalNumberOfRows,\r\n }\r\n }\r\n\r\n protected async adaptSavedEntity(entity: T, isNewEntity: boolean): Promise<T> {\r\n this.adaptEntityId(entity);\r\n entity = await this.getEntity(entity.id);\r\n if (!isNewEntity) {\r\n await this.unlockEntity(entity);\r\n }\r\n return entity;\r\n }\r\n\r\n protected async internalSave(entity: T, isNewEntity: boolean, _isCosmeticChange?: boolean): Promise<EntityListResult<T>> {\r\n return await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_Set\",\r\n },\r\n {type: UnivalTypeEnum.BOOL, value: D2BooleanUtils.booleanToD2Boolean(isNewEntity)},\r\n this.convertToStructure(this.structureDefinitionName, this.entityFields, [entity], \"data\"),\r\n this.d2Api.connection.user.userName,\r\n {type: UnivalTypeEnum.BOOL, value: D2Boolean.TRUE}\r\n );\r\n }\r\n\r\n async saveEntity(entity: T, isCosmeticChange?: boolean): Promise<T | undefined> {\r\n const isNewEntity = this.isNewEntity(entity);\r\n const result = await this.internalSave(entity, isNewEntity, isCosmeticChange);\r\n\r\n if (result.isOk) {\r\n let savedEntity = result.data[0];\r\n return await this.adaptSavedEntity(savedEntity, isNewEntity);\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n async getEntity(id: number): Promise<T> {\r\n const result: EntityListResult<T> = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_Get\",\r\n },\r\n id,\r\n {type: UnivalTypeEnum.RECORD, structType: this.structureDefinitionName, returnAs: \"data\"}\r\n );\r\n\r\n const entity = result.data[0];\r\n this.adaptEntityId(entity);\r\n\r\n return entity;\r\n }\r\n\r\n async setValidity(entity: T, valid: boolean): Promise<boolean> {\r\n const result: EntityListResult<T> = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_SetValid\",\r\n },\r\n {type: UnivalTypeEnum.BOOL, value: D2BooleanUtils.booleanToD2Boolean(valid)},\r\n this.convertToStructure(this.structureDefinitionName, this.entityFields, [entity], \"data\"),\r\n this.d2Api.connection.user.userName,\r\n {type: UnivalTypeEnum.BOOL, value: D2Boolean.TRUE}\r\n );\r\n\r\n return result.isOk;\r\n }\r\n\r\n async codeExists(code: string): Promise<boolean> {\r\n const result: EntityResult<D2Boolean> = await this.callRpc(\r\n {\r\n eventName: this.eventName,\r\n rpcName: \"Data_CodeExists\",\r\n },\r\n {type: UnivalTypeEnum.TEXT, value: code},\r\n {type: UnivalTypeEnum.BOOL, returnAs: \"data\"}\r\n );\r\n\r\n return D2BooleanUtils.d2BooleanToBoolean(result.data);\r\n }\r\n\r\n async lockEntity(entity: T): Promise<boolean> {\r\n const apiResult = await this.callRpc(\r\n {\r\n eventName: \"E.AR_Session_Manager\",\r\n rpcName: \"Lock\",\r\n skipCheckErrorOnly: true,\r\n },\r\n this.entityClassName,\r\n entity.id,\r\n this.d2Api.connection.id\r\n );\r\n\r\n if (!apiResult.isOk) {\r\n ModalDialog.error({\r\n mode: ModalDialogMode.OK,\r\n title: i18n(\"Edit is not allowed\"),\r\n content: i18n(\"User \\\"%{name}\\\" is currently editing selected record.\", {name: apiResult.errorMessage ?? \"\"})\r\n });\r\n } else {\r\n entity.locked = true;\r\n }\r\n return apiResult.isOk;\r\n }\r\n\r\n async unlockEntity(entity: T): Promise<void> {\r\n await this.d2Api.rpc(\"E.AR_Session_Manager\", \"Unlock\", this.entityClassName, entity.id).call();\r\n entity.locked = false;\r\n }\r\n\r\n isNewEntity(entity: Entity) {\r\n return entity.id === undefined || entity.id === -1;\r\n }\r\n}"]}
|
|
@@ -6,12 +6,18 @@ export default class ColorTag extends React.Component {
|
|
|
6
6
|
super(props);
|
|
7
7
|
}
|
|
8
8
|
render() {
|
|
9
|
-
const { color, style, children, ...rest } = this.props;
|
|
10
|
-
|
|
9
|
+
const { color, style, children, label, ...rest } = this.props;
|
|
10
|
+
const TagElement = React.createElement(Tag, { style: {
|
|
11
11
|
color: color?.startsWith("#") ? ColorUtils.invertColor(color.substring(0, 7), true) : undefined,
|
|
12
12
|
fontSize: 12,
|
|
13
13
|
...style
|
|
14
|
-
}, color: color, bordered: false, ...rest }, children)
|
|
14
|
+
}, color: color, bordered: false, ...rest }, children);
|
|
15
|
+
if (label) {
|
|
16
|
+
return (React.createElement("div", { style: { display: "flex", flexDirection: "column" } },
|
|
17
|
+
React.createElement("span", { className: "compact-label" }, label),
|
|
18
|
+
TagElement));
|
|
19
|
+
}
|
|
20
|
+
return TagElement;
|
|
15
21
|
}
|
|
16
22
|
}
|
|
17
23
|
//# sourceMappingURL=colorTag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorTag.js","sourceRoot":"","sources":["../../../../../coreui/components/colorTag/colorTag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAC,GAAG,EAAW,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"colorTag.js","sourceRoot":"","sources":["../../../../../coreui/components/colorTag/colorTag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAC,GAAG,EAAW,MAAM,MAAM,CAAC;AAMnC,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,KAAK,CAAC,SAAgB;IACxD,YAAY,KAAsB;QAC9B,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM;QACF,MAAM,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAE5D,MAAM,UAAU,GACZ,oBAAC,GAAG,IACA,KAAK,EAAE;gBACH,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/F,QAAQ,EAAE,EAAE;gBACZ,GAAG,KAAK;aACX,EACD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAK,KACX,IAAI,IAEP,QAAQ,CACP,CAAA;QAEV,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,CACH,6BAAK,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAC;gBAClD,8BAAM,SAAS,EAAC,eAAe,IAAE,KAAK,CAAQ;gBAC7C,UAAU,CACT,CACT,CAAA;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;CAEJ","sourcesContent":["import React from \"react\";\r\nimport ColorUtils from \"d2coreui/components/color/colorUtils\";\r\nimport {Tag, TagProps} from \"antd\";\r\n\r\ninterface Props extends TagProps {\r\n label?: React.ReactNode\r\n}\r\n\r\nexport default class ColorTag extends React.Component<Props> {\r\n constructor(props: Readonly<Props>) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {color, style, children, label, ...rest} = this.props;\r\n\r\n const TagElement =\r\n <Tag\r\n style={{\r\n color: color?.startsWith(\"#\") ? ColorUtils.invertColor(color.substring(0, 7), true) : undefined,\r\n fontSize: 12,\r\n ...style\r\n }}\r\n color={color}\r\n bordered={false}\r\n {...rest}\r\n >\r\n {children}\r\n </Tag>\r\n\r\n if (label) {\r\n return (\r\n <div style={{display: \"flex\", flexDirection: \"column\"}}>\r\n <span className=\"compact-label\">{label}</span>\r\n {TagElement}\r\n </div>\r\n )\r\n }\r\n\r\n return TagElement;\r\n }\r\n\r\n}"]}
|