{"version":3,"sources":["webpack:///./src/mixins/shared/file/fileCheckInMixin.js","webpack:///./src/model/record/checkInModel.js","webpack:///./src/mixins/shared/user/userMixin.js","webpack:///./src/mixins/shared/broadcast/broadcastMixin.js","webpack:///../../../src/components/VCard/index.ts","webpack:///../../../src/components/VCard/VCard.ts"],"names":["fileCheckInMixin","data","uploadFileInput","undefined","uploadFileError","checkInFileOption","insertAfterLastPage","visibleUploadFilePopoverMenu","compoundFileOverwrite","uploadOptionsList","components","CheckInFile","FileInput","RadioGroup","computed","record","checkInFileOptions","console","log","this","visibleCheckInFileOptions","isViewerCheckInAction","checkInWIPFileOptions","map","el","value","text","disabled","enabledCheckInOption","uploadFileProgress","uploadFileProgressText","formatUploadFileProgressText","uploadFileMenuLabel","uploadFilePopoverDialogTitle","uploadFilePopoverDialogSubtitle","_fullRecordName","getRecordTypeName","fullRecordName","commandCloseUploadFileDialogTooltip","uploadFileCommandLabel","checkInFileMenuLabel","checkInFilePopoverDialogTitle","checkInFileCommandLabel","commandCloseCheckInFileDialogTooltip","closeCommandLabel","canInsertFile","canInsertImageFile","canInsertFileAtBeginning","canOverwriteFileVersion","isInsertFile","overwrite","isInsertFileAtBeginning","insertBeforeFirstPage","_this$record$recordTy","_this$record","_this$record$recordTy2","_this$record2","_this$record$recordTy3","_this$record3","_this$record$recordTy4","_this$record4","isViewer","recordTypeId","recordType","RECORD","FILE","DOCUMENT","isCompoundFile","enabledCommandUploadFile","_this$record$recordTy5","_this$record5","_this$record$recordTy6","_this$record6","_this$record$recordTy7","_this$record7","_this$record$recordTy8","_this$record8","_this$record$recordTy9","_this$record9","isValidOperation","recordOperation","Update","FOLDER","ITEM","defaultCheckInFileOption","get","set","computedUploadFileError","hasUploadOptions","_this$uploadOptionsLi","_this$uploadOptionsLi2","length","methods","setUploadFileProgress","progress","warn","payload","notImplementedMethod","checkInFile","onFileInputChange","file","e","error","onCheckInOptionChange","option","find","isValidCheckInFileOption","insertAtBeginning","checkInOption","insertOption","insertFileOption","beforeFirstPage","afterLastPage","model","UploadOptionModel","checkInComment","isCheckInOCR","isCheckInDraft","_this$record$id","_this$record10","uploadFile","id","uploadFileModel","_this$record$id2","_this$record11","_this$record$id3","_this$record12","uploadCompoundDocumentFile","insertBeforePage","enqueue","comments","msg","updateSelectedOptionList","push","watch","createCheckInOption","comment","draft","ocr","checkInOptionName","Object","freeze","checkInOptions","name","label","description","findCheckInOption","toLowerCaseSafe","UploadFileCheckInOptionModel","extension","Extension","Comments","Enqueue","Draft","InsertFileOption","CheckInOptionModel","mapState","mapGetters","mapActions","createNamespacedHelpers","userMixin","mixins","principalMixin","currentUser","repositories","categoryTypes","actorName","userCategories","userFields","formFields","findUserField","findFormField","countUserFields","isPersistentField","isSystemField","countUserCategories","findCategory","isAllowedViewField","createRecordCategories","createRecordCategoriesByCategoryType","updateRecordCategories","updateRecordCategoriesByCategoryType","isAllowedModifyField","isAllowedSystemOperation","isUserLoggedIn","repository","allowedAccessWFProjects","systemOperations","accessWFProjects","allowedAccessClerkModule","accessClerkModule","setFormField","broadcastMixin","postedRecord","postMessage","changedRecordModel","$options","$viewerChannel","$mainAppChannel","VCardActions","createSimpleFunctional","VCardSubtitle","VCardText","VCardTitle","VCard","Loadable","Routable","VSheet","extend","props","flat","Boolean","hover","img","String","link","loaderHeight","type","Number","default","raised","classes","options","call","isClickable","loading","styles","style","background","genProgress","render","$createElement","staticClass","key","h","tag","generateRouteLink","attrs","tabindex","setBackgroundColor","color","getSlot"],"mappings":"gQAmBO,MAAMA,EAAmB,CAC9BC,OACE,MAAO,CACLC,qBAAiBC,EACjBC,qBAAiBD,EACjBE,kBAAmBA,OAAkBC,oBACrCC,8BAA8B,EAC9BC,uBAAwB,EACxBC,kBAAmB,KAGvBC,WAAY,CACVC,YAAaA,IAAM,gDACnBC,UAAWA,IAAM,qFACjBC,WAAYA,IAAM,iDAEpBC,SAAU,CAMRC,OAAQA,OAMRC,qBAEE,OADAC,QAAQC,IAAIC,KAAKJ,QACVI,KAAKC,0BACRD,KAAKE,sBACHC,OAAsBC,IAAIC,IACjB,CACLC,MAAOD,EAAGC,MACVC,KAAMF,EAAGE,KACTC,SAAUR,KAAKS,qBAAqBJ,MAGxCR,OAAmBO,IAAIC,IACd,CACLC,MAAOD,EAAGC,MACVC,KAAMF,EAAGE,KACTC,SAAUR,KAAKS,qBAAqBJ,MAG1C,IAONK,qBACE,OAAO,GAOTC,yBACE,OAAOX,KAAKY,6BAA6BZ,KAAKU,qBAOhDG,sBACE,MAAO,mBAOTC,+BACE,MAAO,eAOTC,kCAAkC,IAAAC,EAChC,OAAOhB,KAAKJ,OACR,MAAMqB,eAAkBjB,KAAKJ,YAE5B,QAFmCoB,EAAKE,eACvClB,KAAKJ,eACN,IAAAoB,IAAI,MACL,KAONG,sCACE,MAAO,4BAOTC,yBACE,MAAO,UAOTC,uBACE,MAAO,gBAOTC,gCACE,MAAO,YAOTC,0BACE,MAAO,YAOTC,uCACE,MAAO,8BAOTC,oBACE,MAAO,SAOTC,gBACE,OAAOC,eAAmB3B,KAAKJ,SAOjCgC,2BACE,OAAOD,eAAmB3B,KAAKJ,SAOjCiC,0BACE,OAAOA,eAAwB7B,KAAKJ,SAOtCkC,eACE,OAAO9B,KAAKd,oBAAsBA,OAAkB6C,WAOtDC,0BACE,OAAOhC,KAAKd,oBAAsBA,OAAkB+C,uBAOtDhC,4BAA4B,IAAAiC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC1B,OAAOzC,KAAK0C,UACkB,QAA1BR,EAAY,QAAZC,EAACnC,KAAKJ,cAAM,IAAAuC,OAAA,EAAXA,EAAaQ,oBAAY,IAAAT,IAAIU,OAAWC,UACvCD,OAAWE,OACe,QAA1BV,EAAY,QAAZC,EAACrC,KAAKJ,cAAM,IAAAyC,OAAA,EAAXA,EAAaM,oBAAY,IAAAP,IAAIQ,OAAWC,UACvCD,OAAWC,SACa,QAA1BP,EAAY,QAAZC,EAACvC,KAAKJ,cAAM,IAAA2C,OAAA,EAAXA,EAAaI,oBAAY,IAAAL,IAAIM,OAAWC,UACvCD,OAAWG,UACW,QAA1BP,EAAY,QAAZC,EAACzC,KAAKJ,cAAM,IAAA6C,OAAA,EAAXA,EAAaE,oBAAY,IAAAH,IAAII,OAAWC,UACvCD,OAAWE,OAASE,eAAehD,KAAKJ,SAOhDqD,2BAA2B,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACzB,SACE3D,KAAKJ,SACLI,KAAK4D,iBAAiBC,OAAgBC,UACX,QAA1BZ,EAAY,QAAZC,EAACnD,KAAKJ,cAAM,IAAAuD,OAAA,EAAXA,EAAaR,oBAAY,IAAAO,KAAK,KAAON,OAAWC,SACtB,QAA1BO,EAAY,QAAZC,EAACrD,KAAKJ,cAAM,IAAAyD,OAAA,EAAXA,EAAaV,oBAAY,IAAAS,KAAK,KAAOR,OAAWE,OACvB,QAA1BQ,EAAY,QAAZC,EAACvD,KAAKJ,cAAM,IAAA2D,OAAA,EAAXA,EAAaZ,oBAAY,IAAAW,KAAK,KAAOV,OAAWG,WACvB,QAA1BS,EAAY,QAAZC,EAACzD,KAAKJ,cAAM,IAAA6D,OAAA,EAAXA,EAAad,oBAAY,IAAAa,KAAK,KAAOZ,OAAWmB,SACvB,QAA1BL,EAAY,QAAZC,EAAC3D,KAAKJ,cAAM,IAAA+D,OAAA,EAAXA,EAAahB,oBAAY,IAAAe,KAAK,KAAOd,OAAWoB,OAQvDC,yBAA0B,CACxBC,MAEE,OADApE,QAAQC,IAAI,YAAaC,KAAK0C,UACtB1C,KAAKd,kBACXc,KAAK0B,eAAiB1B,KAAK0C,SACvBxD,OAAkBC,oBAClBD,OAAkB6C,WAE1BoC,IAAI7D,GACFR,QAAQC,IAAI,QAASO,GACrBN,KAAKd,kBAAoBoB,IAQ7B8D,0BACE,OAAOpE,KAAKf,iBAOdoF,mBAAmB,IAAAC,EAAAC,EACjB,OAAsC,QAA/BD,EAAuB,QAAvBC,EAACvE,KAAKV,yBAAiB,IAAAiF,OAAA,EAAtBA,EAAwBC,cAAM,IAAAF,IAAI,GAAK,IAGnDG,QAAS,CAKPC,sBAAsBC,GACpB7E,QAAQ8E,KACN,oDACAD,IASJ,iBAAiBE,GACf/E,QAAQ8E,KAAK,wCAAyCC,IAQxD,iCAAiCA,GAC/B,MAAMC,eACJ,yCAAyCD,IAQ7CE,YAAYF,GACV,MAAMC,eAAqB,0BAA0BD,IAOvDG,kBAAkBC,GAChB,IACEjF,KAAKjB,gBAAkBkG,EACvBjF,KAAK0E,sBAAsB,GAC3B,MAAOQ,GACPpF,QAAQqF,MAAMD,KAQlBE,sBAAsBC,GACpB,IACMrF,KAAKH,mBAAmByF,KAAKjF,GAAMA,EAAGC,QAAU+E,IAClDrF,KAAKd,kBAAoBmG,EACzBvF,QAAQC,IACN,wDACAC,KAAKd,oBAGPY,QAAQ8E,KACN,yCAAyCS,+CAG7C,MAAOH,GACPpF,QAAQqF,MAAMD,KASlBtE,6BAA6B+D,GAC3B,OAAUA,EAAH,MAOTY,yBAAyBF,GACvB,OAAc,OAANA,QAAM,IAANA,OAAM,EAANA,EAAQ/E,OACd,KAAKpB,OAAkB+C,sBACrB,OAAOjC,KAAK4B,yBAEd,KAAK1C,OAAkBC,oBACrB,OAAOa,KAAK4B,yBAEd,KAAK1C,OAAkB6C,UACrB,OAAO/B,KAAK6B,wBAEd,QACE,OAAO,IAab,qBAAqBoD,EAAMnD,EAAc0D,EAAmBC,GAC1D,IAAKzF,KAAKJ,OACR,KAAM,mDAGRE,QAAQC,IAAI,4BAA6BmB,eAAelB,KAAKJ,SAE7D,MAAM8F,EAAe5D,EACjB0D,EACEG,OAAiBC,gBACjBD,OAAiBE,cACnBF,OAAiB5D,UAEf+D,EAAQC,eACZN,EAAcO,eACdP,EAAcQ,aACdR,EAAcS,eACdR,GAGF,OAAQ1F,KAAKJ,OAAO+C,cAClB,KAAKC,OAAWC,OAAQ,IAAAsD,EAAAC,QAChBpG,KAAKqG,WAAW,CACpBC,GAAmB,QAAjBH,EAAa,QAAbC,EAAEpG,KAAKJ,cAAM,IAAAwG,OAAA,EAAXA,EAAaE,UAAE,IAAAH,KAAK,EACxBlB,KAAMA,EACNsB,gBAAiBT,IAEnB,MAEF,KAAKlD,OAAWE,KAAM,IAAA0D,EAAAC,QACdzG,KAAK+E,YAAY,CACrBuB,GAAmB,QAAjBE,EAAa,QAAbC,EAAEzG,KAAKJ,cAAM,IAAA6G,OAAA,EAAXA,EAAaH,UAAE,IAAAE,KAAK,EACxBvB,KAAMA,EACNsB,gBAAiBT,IAEnB,MAEF,KAAKlD,OAAWG,SAAU,IAAA2D,EAAAC,QAOlB3G,KAAK4G,2BAA2B,CACpCN,GAAmB,QAAjBI,EAAa,QAAbC,EAAE3G,KAAKJ,cAAM,IAAA+G,OAAA,EAAXA,EAAaL,UAAE,IAAAI,KAAK,EACxBzB,KAAMA,EACN4B,kBAAmB,EACnBC,SAAS,EACTC,SAAU,kCAEZ,MAEF,QAAS,CACP,MAAMC,EAAM,iCAAiChH,KAAKJ,OAAOgD,cAEzD,MADA9C,QAAQC,IAAIiH,GACNA,KAIZvG,qBAAqB4E,GACnB,OAAOrF,KAAK0C,WAAoB1C,KAAKuF,yBAAyBF,IAOhE4B,2BACEjH,KAAKV,kBAAoB,GACrBU,KAAKyF,cAAcO,gBACrBhG,KAAKV,kBAAkB4H,KAAK,WAC1BlH,KAAKyF,cAAcS,gBACrBlG,KAAKV,kBAAkB4H,KAAK,WAGlCC,MAAO,CACL/H,+BAIEY,KAAKjB,qBAAkBC,EACvBgB,KAAKf,qBAAkBD,EACvBgB,KAAK0E,sBAAsB,O,oCCtdjC,wOAUA,MAAM0C,EAAsBA,CAACC,EAAU,GAAIC,GAAQ,EAAOC,GAAM,KACvD,CACLvB,eAAuB,OAAPqB,QAAO,IAAPA,IAAW,GAC3BnB,eAAqB,OAALoB,QAAK,IAALA,KAChBrB,aAAiB,OAAHsB,QAAG,IAAHA,OAsCZC,EAAoBC,OAAOC,OAAO,CACtCL,QAAS,UACTC,MAAO,QACPC,IAAK,QAODI,EAAiBF,OAAOC,OAAO,CACnC,CACEE,KAAMJ,EAAkBH,QACxBQ,MAAO,UACPC,YAAa,6BAEf,CACEF,KAAMJ,EAAkBF,MACxBO,MAAO,QACPC,YAAa,4BAEf,CACEF,KAAMJ,EAAkBD,IACxBM,MAAO,gCACPC,YACE,6FASAC,EAAoBH,GACxBD,EAAerC,KACbjF,GAAM2H,eAAkB,OAAF3H,QAAE,IAAFA,OAAE,EAAFA,EAAIuH,QAAUI,eAAgBJ,IAalDK,EAA+BA,CACnCC,EACAb,EAAU,GACVE,GAAM,EACND,GAAQ,EACR5B,EAAeC,OAAiBE,iBAEzB,CACLsC,UAAWD,EACXE,SAAiB,OAAPf,QAAO,IAAPA,IAAW,GACrBgB,QAASd,EACTe,MAAOhB,EACPiB,iBAAkB7C,IAahB8C,EAAqBA,CACzBN,EACAb,EAAU,GACVE,GAAM,EACND,GAAQ,KAED,CACLa,UAAWD,EACXE,SAAUf,EACVgB,QAASd,EACTe,MAAOhB,IAYLvB,EAAoBA,CACxBsB,EAAU,GACVE,GAAM,EACND,GAAQ,EACR5B,EAAeC,OAAiBE,iBAEzB,CACLuC,SAAUf,EACVgB,QAASd,EACTe,MAAOhB,EACPiB,iBAAkB7C,K,kCC9JtB,0EAEA,MAAM,SAAE+C,EAAQ,WAAEC,EAAU,WAAEC,GAAeC,eAAwB,QAQxDC,EAAY,CACvBC,OAAQ,CAACC,QACTpJ,SAAU,IACL8I,EAAS,CACVO,YAAa,OACbC,aAAc,eACdC,cAAe,qBAEdR,EAAW,CACZS,UAAW,YACXC,eAAgB,aAChBC,WAAY,SACZC,WAAY,aACZC,cAAe,YACfC,cAAe,gBACfC,gBAAiB,cACjBC,kBAAmB,oBACnBC,cAAe,gBACfC,oBAAqB,kBACrBC,aAAc,eACdC,mBAAoB,qBACpBC,uBAAwB,yBACxBC,qCACE,uCACFC,uBAAwB,yBACxBC,qCACE,uCACFC,qBAAsB,uBACtBC,yBAA0B,2BAC1BC,eAAgB,iBAChBC,WAAY,eAOdC,0BACE,QAASvK,KAAKoK,yBAAyBI,OAAiBC,mBAO1DC,2BACE,QAAS1K,KAAKoK,yBACZI,OAAiBG,qBASvBlG,QAAS,IACJkE,EAAW,CAAEiC,aAAc,oB,kCCnElC,kCACO,MAAMC,EAAiB,CAC5B/L,OACE,MAAO,CACLgM,kBAAc9L,IAGlByF,QAAS,CAKPsG,YAAYC,GACVlL,QAAQC,IACHC,KAAKiL,SAASrD,KAAjB,0BACAoD,GAIFhL,KAAKkL,eAAeH,YAAYC,GAChChL,KAAKmL,gBAAgBJ,YAAYC,O,6DCpBvC,oKAGA,MAAMI,EAAeC,eAAuB,mBACtCC,EAAgBD,eAAuB,oBACvCE,EAAYF,eAAuB,gBACnCG,EAAaH,eAAuB,iBAYtCI,Q,kCClBJ,0EAkBe3C,sBACb4C,OACAC,OACAC,QACAC,OAAO,CACPjE,KAAM,SAENkE,MAAO,CACLC,KAAMC,QACNC,MAAOD,QACPE,IAAKC,OACLC,KAAMJ,QACNK,aAAc,CACZC,KAAM,CAACC,OAAQJ,QACfK,QAAS,GAEXC,OAAQT,SAGVrM,SAAU,CACR+M,UACE,MAAO,CACL,UAAU,KACPf,OAASgB,QAAQhN,SAAS+M,QAAQE,KAAK5M,MAC1C,eAAgBA,KAAK+L,KACrB,gBAAiB/L,KAAKiM,MACtB,eAAgBjM,KAAK6M,YACrB,kBAAmB7M,KAAK8M,QACxB,mBAAoB9M,KAAKQ,SACzB,iBAAkBR,KAAKyM,UACpBb,OAAOe,QAAQhN,SAAS+M,QAAQE,KAAK5M,QAG5C+M,SACE,MAAMC,EAA4B,IAC7BpB,OAAOe,QAAQhN,SAASoN,OAAOH,KAAK5M,OAOzC,OAJIA,KAAKkM,MACPc,EAAMC,WAAa,QAAQjN,KAAKkM,yCAG3Bc,IAIXvI,QAAS,CACPyI,cACE,MAAMC,EAASzB,OAASiB,QAAQlI,QAAQyI,YAAYN,KAAK5M,MAEzD,OAAKmN,EAEEnN,KAAKoN,eAAe,MAAO,CAChCC,YAAa,mBACbC,IAAK,YACJ,CAACH,IALgB,OASxBA,OAAQI,GACN,MAAM,IAAEC,EAAF,KAAO1O,GAASkB,KAAKyN,oBAS3B,OAPA3O,EAAKkO,MAAQhN,KAAK+M,OAEd/M,KAAK6M,cACP/N,EAAK4O,MAAQ5O,EAAK4O,OAAS,GAC3B5O,EAAK4O,MAAMC,SAAW,GAGjBJ,EAAEC,EAAKxN,KAAK4N,mBAAmB5N,KAAK6N,MAAO/O,GAAO,CACvDkB,KAAKkN,cACLY,eAAQ9N","file":"js/chunk-314a2f3a.783228e6.js","sourcesContent":["import { notImplementedMethod } from \"@/services/error/errorMessages\";\r\nimport {\r\n canInsertImageFile,\r\n canOverwriteFileVersion,\r\n fullRecordName,\r\n getRecordTypeName,\r\n isCompoundFile\r\n} from \"@/services/record/recordService\";\r\n\r\n// model\r\nimport {\r\n checkInFileOptions,\r\n checkInFileOption,\r\n checkInWIPFileOptions,\r\n insertFileOption\r\n} from \"@/model/record/fileModel\";\r\nimport { recordOperation, recordType } from \"@/model/record/recordModel\";\r\nimport { UploadOptionModel } from \"@/model/record/checkInModel\";\r\n\r\nexport const fileCheckInMixin = {\r\n data() {\r\n return {\r\n uploadFileInput: undefined,\r\n uploadFileError: undefined,\r\n checkInFileOption: checkInFileOption.insertAfterLastPage,\r\n visibleUploadFilePopoverMenu: false,\r\n compoundFileOverwrite: -2,\r\n uploadOptionsList: []\r\n };\r\n },\r\n components: {\r\n CheckInFile: () => import(\"@/components/file/CheckInFile\"),\r\n FileInput: () => import(\"@/components/shared/core/inputs/FileInput\"),\r\n RadioGroup: () => import(\"@/components/shared/core/radio/RadioGroup\")\r\n },\r\n computed: {\r\n /**\r\n * Current selected record.\r\n * Abstract computed\r\n * @return {{id:number, name:string, categoryId:number, recordTypeId:number, recordType: string, parentId:number, children:number, createdBy:string, creationDate:string, extension:string, isComposite:boolean, isLink:boolean, isReadOnly:boolean, isComposite: boolean, isDeleted: boolean, isDraft: boolean, isLink: boolean, isLocked: boolean, stateId:number, state:string, fieldValues: {id: number, name:string, fieldDataType: number, fieldDataTypeName: string, value: string}[], flyingFields: {id:number, sequence:number}[], operations: {name: string, allowed: boolean, valid: boolean}[] }}\r\n */\r\n record: () => undefined,\r\n\r\n /**\r\n * Get Check In File Options\r\n * @return {{text: *, value: *}[]|{text: *, value: *}[]}\r\n */\r\n checkInFileOptions() {\r\n console.log(this.record);\r\n return this.visibleCheckInFileOptions\r\n ? this.isViewerCheckInAction\r\n ? checkInWIPFileOptions.map(el => {\r\n return {\r\n value: el.value,\r\n text: el.text,\r\n disabled: this.enabledCheckInOption(el)\r\n };\r\n })\r\n : checkInFileOptions.map(el => {\r\n return {\r\n value: el.value,\r\n text: el.text,\r\n disabled: this.enabledCheckInOption(el)\r\n };\r\n })\r\n : [];\r\n },\r\n\r\n /**\r\n * upload File Progress value\r\n * @return {number}\r\n */\r\n uploadFileProgress() {\r\n return 0;\r\n },\r\n\r\n /**\r\n * upload File Progress Text\r\n * @return {string}\r\n */\r\n uploadFileProgressText() {\r\n return this.formatUploadFileProgressText(this.uploadFileProgress);\r\n },\r\n\r\n /**\r\n * upload File Menu Label\r\n * @return {string}\r\n */\r\n uploadFileMenuLabel() {\r\n return \"Upload File ...\";\r\n },\r\n\r\n /**\r\n * upload File Popover Dialog Title\r\n * @return {string} upload File Popover Dialog Title\r\n */\r\n uploadFilePopoverDialogTitle() {\r\n return \"Upload File\";\r\n },\r\n\r\n /**\r\n * compute upload File Popover Dialog Subtitle\r\n * @return {string} upload File Popover Dialog Subtitle\r\n */\r\n uploadFilePopoverDialogSubtitle() {\r\n return this.record\r\n ? `To ${getRecordTypeName(this.record)}: ${fullRecordName(\r\n this.record\r\n ) ?? \"?\"}`\r\n : \"?\";\r\n },\r\n\r\n /**\r\n * command Close Upload File Dialog Tooltip\r\n * @return {string}\r\n */\r\n commandCloseUploadFileDialogTooltip() {\r\n return \"Close Upload File Dialog\";\r\n },\r\n\r\n /**\r\n * upload File Command Label\r\n * @return {string}\r\n */\r\n uploadFileCommandLabel() {\r\n return \"Upload\";\r\n },\r\n\r\n /**\r\n * check In File Menu Label\r\n * @return {string}\r\n */\r\n checkInFileMenuLabel() {\r\n return \"Check In ...\";\r\n },\r\n\r\n /**\r\n * check In File Popover Dialog Title\r\n * @return {string}\r\n */\r\n checkInFilePopoverDialogTitle() {\r\n return \"Check In\";\r\n },\r\n\r\n /**\r\n * upload File Command Label\r\n * @return {string}\r\n */\r\n checkInFileCommandLabel() {\r\n return \"Check In\";\r\n },\r\n\r\n /**\r\n * command Close Check-In File Dialog Tooltip\r\n * @return {string}\r\n */\r\n commandCloseCheckInFileDialogTooltip() {\r\n return \"Close Check In File Dialog\";\r\n },\r\n\r\n /**\r\n * close Command Label\r\n * @return {string}\r\n */\r\n closeCommandLabel() {\r\n return \"Close\";\r\n },\r\n\r\n /**\r\n * can Insert File being Check In\r\n * @return {boolean}\r\n */\r\n canInsertFile() {\r\n return canInsertImageFile(this.record);\r\n },\r\n\r\n /**\r\n * can Insert File, being Check In, at the Beginning of the current file version\r\n * @return {boolean}\r\n */\r\n canInsertFileAtBeginning() {\r\n return canInsertImageFile(this.record);\r\n },\r\n\r\n /**\r\n * can Overwrite current File Version when Check In a new file\r\n * @return {boolean}\r\n */\r\n canOverwriteFileVersion() {\r\n return canOverwriteFileVersion(this.record);\r\n },\r\n\r\n /**\r\n * is Insert File into current file version\r\n * @return {boolean}\r\n */\r\n isInsertFile() {\r\n return this.checkInFileOption !== checkInFileOption.overwrite;\r\n },\r\n\r\n /**\r\n * is Insert File Before First Page\r\n * @return {boolean}\r\n */\r\n isInsertFileAtBeginning() {\r\n return this.checkInFileOption === checkInFileOption.insertBeforeFirstPage;\r\n },\r\n\r\n /**\r\n * determines visibility of Check In File Options\r\n * @return {boolean}\r\n */\r\n visibleCheckInFileOptions() {\r\n return this.isViewer\r\n ? (this.record?.recordTypeId ?? recordType.RECORD) ===\r\n recordType.FILE ||\r\n (this.record?.recordTypeId ?? recordType.RECORD) ===\r\n recordType.RECORD ||\r\n (this.record?.recordTypeId ?? recordType.RECORD) ===\r\n recordType.DOCUMENT\r\n : (this.record?.recordTypeId ?? recordType.RECORD) ===\r\n recordType.FILE && !isCompoundFile(this.record);\r\n },\r\n\r\n /**\r\n * Compute whether Is Valid Upload File Operation\r\n * @return {boolean} returns true if Is Valid Upload File Operation\r\n */\r\n enabledCommandUploadFile() {\r\n return !!(\r\n this.record &&\r\n this.isValidOperation(recordOperation.Update) &&\r\n ((this.record?.recordTypeId ?? -1) === recordType.RECORD ||\r\n (this.record?.recordTypeId ?? -1) === recordType.FILE ||\r\n (this.record?.recordTypeId ?? -1) === recordType.DOCUMENT ||\r\n (this.record?.recordTypeId ?? -1) === recordType.FOLDER ||\r\n (this.record?.recordTypeId ?? -1) === recordType.ITEM)\r\n );\r\n },\r\n\r\n /**\r\n * Default Check In File Option\r\n * @return {number}\r\n */\r\n defaultCheckInFileOption: {\r\n get() {\r\n console.log(\"IS VIEWER\", this.isViewer);\r\n return (this.checkInFileOption =\r\n this.canInsertFile || this.isViewer\r\n ? checkInFileOption.insertAfterLastPage\r\n : checkInFileOption.overwrite);\r\n },\r\n set(value) {\r\n console.log(\"Value\", value);\r\n this.checkInFileOption = value;\r\n }\r\n },\r\n\r\n /**\r\n * compute Upload File Error\r\n * @return {string|null|undefined}\r\n */\r\n computedUploadFileError() {\r\n return this.uploadFileError;\r\n },\r\n\r\n /**\r\n * Verify if Upload Option List has data\r\n * @return {boolean}\r\n */\r\n hasUploadOptions() {\r\n return (this.uploadOptionsList?.length ?? 0) > 0;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Abstract set Upload File progress\r\n * @param {Number|number} progress\r\n */\r\n setUploadFileProgress(progress) {\r\n console.warn(\r\n `Not implemented setUploadFileProgress() progress:`,\r\n progress\r\n );\r\n },\r\n\r\n /**\r\n * Abstract upload File\r\n * @param {{file: File, id: (number|number), uploadFileModel: {Extension: (string|undefined), Draft: boolean, InsertFileOption: {afterLastPage: number, beforeFirstPage: number, overwrite: number}, Comments: string, Enqueue: boolean}}} payload\r\n * @return {Promise}\r\n */\r\n async uploadFile(payload) {\r\n console.warn(`Not implemented uploadFile() payload:`, payload);\r\n },\r\n\r\n /**\r\n * Abstract upload Compound Document File\r\n * @param {{id: Number, file: any, insertBeforePage: Number, enqueue: Boolean, comments: string}} payload\r\n * @return {Promise<{id: number, name: string, categoryId: number, children: number, createdBy: string, creationDate: string, extension: string, flags: number, isComposite: boolean, isDeleted: boolean, isDraft: boolean, isLink: boolean, isLocked: boolean, isReadOnly: boolean, modificationDate: string, owner: string, pageCount: number, parentId: number, recordType: string, recordTypeId: number, state: string, stateId: number, version: number, versionDate: string, versionOwner: string}>}\r\n */\r\n async uploadCompoundDocumentFile(payload) {\r\n throw notImplementedMethod(\r\n `uploadCompoundDocumentFile() payload: ${payload}`\r\n );\r\n },\r\n\r\n /**\r\n * Abstract Check In File\r\n * @param {{file: File, id: (number|number), uploadFileModel: {Extension: (string|undefined), Draft: boolean, InsertFileOption: {afterLastPage: number, beforeFirstPage: number, overwrite: number}, Comments: string, Enqueue: boolean}}} payload\r\n */\r\n checkInFile(payload) {\r\n throw notImplementedMethod(`checkInFile() payload: ${payload}`);\r\n },\r\n\r\n /**\r\n * On File Input Change Event handler\r\n * @param file\r\n */\r\n onFileInputChange(file) {\r\n try {\r\n this.uploadFileInput = file;\r\n this.setUploadFileProgress(0);\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n\r\n /**\r\n * On Check In File Option Change Event handler\r\n * @param {Number|number} option\r\n */\r\n onCheckInOptionChange(option) {\r\n try {\r\n if (this.checkInFileOptions.find(el => el.value === option)) {\r\n this.checkInFileOption = option;\r\n console.log(\r\n `onCheckInOptionChange() this.checkInFileSelectOption:`,\r\n this.checkInFileOption\r\n );\r\n } else {\r\n console.warn(\r\n `Couldn't change Check In File Option: ${option}. Provided Not valid Check File In Option.`\r\n );\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n },\r\n\r\n /**\r\n * format Upload File Progress Text\r\n * @param {Number|number} progress\r\n * @return {string}\r\n */\r\n formatUploadFileProgressText(progress) {\r\n return `${progress} %`;\r\n },\r\n\r\n /**\r\n * Overwrite is Valid Check In File Option\r\n * @param {{value:number, text: string}} option\r\n */\r\n isValidCheckInFileOption(option) {\r\n switch (option?.value) {\r\n case checkInFileOption.insertBeforeFirstPage: {\r\n return this.canInsertFileAtBeginning;\r\n }\r\n case checkInFileOption.insertAfterLastPage: {\r\n return this.canInsertFileAtBeginning;\r\n }\r\n case checkInFileOption.overwrite: {\r\n return this.canOverwriteFileVersion;\r\n }\r\n default: {\r\n return false;\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Performs uploadFile/checkInFile\r\n * @param {File} file\r\n * @param {Boolean} isInsertFile\r\n * @param {Boolean} insertAtBeginning\r\n * @param {{isCheckInDraft: boolean, isCheckInOCR : boolean, checkInComment : string}} checkInOption\r\n * @return {Promise}\r\n */\r\n async performCheckIn(file, isInsertFile, insertAtBeginning, checkInOption) {\r\n if (!this.record) {\r\n throw `Cannot Check In File. There is no Current Record`;\r\n }\r\n\r\n console.log(`performCheckIn() file to:`, fullRecordName(this.record));\r\n\r\n const insertOption = isInsertFile\r\n ? insertAtBeginning\r\n ? insertFileOption.beforeFirstPage\r\n : insertFileOption.afterLastPage\r\n : insertFileOption.overwrite;\r\n\r\n const model = UploadOptionModel(\r\n checkInOption.checkInComment,\r\n checkInOption.isCheckInOCR,\r\n checkInOption.isCheckInDraft,\r\n insertOption\r\n );\r\n\r\n switch (this.record.recordTypeId) {\r\n case recordType.RECORD: {\r\n await this.uploadFile({\r\n id: this.record?.id ?? -1,\r\n file: file,\r\n uploadFileModel: model\r\n });\r\n break;\r\n }\r\n case recordType.FILE: {\r\n await this.checkInFile({\r\n id: this.record?.id ?? -1,\r\n file: file,\r\n uploadFileModel: model\r\n });\r\n break;\r\n }\r\n case recordType.DOCUMENT: {\r\n //\r\n // TODO: provide all UI entries for:\r\n // - insertBeforePage\r\n // - enqueue (canOcr)\r\n // - comments\r\n //\r\n await this.uploadCompoundDocumentFile({\r\n id: this.record?.id ?? -1,\r\n file: file,\r\n insertBeforePage: -1,\r\n enqueue: true,\r\n comments: \"Upload Compound Document File\"\r\n });\r\n break;\r\n }\r\n default: {\r\n const msg = `Not supported upload file to: ${this.record.recordType}.`;\r\n console.log(msg);\r\n throw msg;\r\n }\r\n }\r\n },\r\n enabledCheckInOption(option) {\r\n return this.isViewer ? false : !this.isValidCheckInFileOption(option);\r\n },\r\n\r\n /**\r\n * Update Upload Option list with selected Option\r\n * @return {string}\r\n */\r\n updateSelectedOptionList() {\r\n this.uploadOptionsList = [];\r\n if (this.checkInOption.checkInComment)\r\n this.uploadOptionsList.push(\"Comment\");\r\n if (this.checkInOption.isCheckInDraft)\r\n this.uploadOptionsList.push(\"Draft\");\r\n }\r\n },\r\n watch: {\r\n visibleUploadFilePopoverMenu() {\r\n //\r\n // Re-set UploadFile related variables\r\n //\r\n this.uploadFileInput = undefined;\r\n this.uploadFileError = undefined;\r\n this.setUploadFileProgress(0);\r\n }\r\n }\r\n};\r\n","import { toLowerCaseSafe } from \"@/utils\";\r\nimport { insertFileOption } from \"@/model/record/fileModel\";\r\n\r\n/**\r\n * create Check In Option\r\n * @param {string} comment Check In comment\r\n * @param {boolean} draft Check In as draft\r\n * @param {boolean} ocr Optically recognize text of an image\r\n * @return {{isCheckInDraft: boolean, isCheckInOCR : boolean, checkInComment : string}}\r\n */\r\nconst createCheckInOption = (comment = \"\", draft = false, ocr = true) => {\r\n return {\r\n checkInComment: comment ?? \"\",\r\n isCheckInDraft: draft ?? false,\r\n isCheckInOCR: ocr ?? false\r\n };\r\n};\r\n\r\n/**\r\n * create CheckIn Model\r\n * @param {boolean} isFileChanged\r\n * @param {number} filePageCount\r\n * @param {boolean} visibleCheckInProgress\r\n * @param {string} currentError\r\n * @param {string} checkInExtensionKey\r\n * @param {string} checkInExtensionValue\r\n * @return {{currentError: undefined, isFileChanged: boolean, visibleCheckInProgress: boolean, filePageCount: number, checkInExtension: {value: undefined, key: undefined}}}\r\n */\r\nconst createCheckInModel = (\r\n isFileChanged = false,\r\n filePageCount = -1,\r\n visibleCheckInProgress = false,\r\n currentError = undefined,\r\n checkInExtensionKey = undefined,\r\n checkInExtensionValue = undefined\r\n) => {\r\n return {\r\n isFileChanged: isFileChanged,\r\n filePageCount: filePageCount,\r\n visibleCheckInProgress: visibleCheckInProgress,\r\n currentError: currentError,\r\n checkInExtension: {\r\n key: checkInExtensionKey,\r\n value: checkInExtensionValue\r\n }\r\n };\r\n};\r\n\r\n/**\r\n * Available Check In Option names\r\n * @type {Readonly<{draft: string, comment: string, ocr: string}>}\r\n */\r\nconst checkInOptionName = Object.freeze({\r\n comment: \"comment\",\r\n draft: \"draft\",\r\n ocr: \"ocr\"\r\n});\r\n\r\n/**\r\n * check In Options\r\n * @type {({name: string, description: string, label: string})[]}\r\n */\r\nconst checkInOptions = Object.freeze([\r\n {\r\n name: checkInOptionName.comment,\r\n label: \"Comment\",\r\n description: \"Check In optional comment\"\r\n },\r\n {\r\n name: checkInOptionName.draft,\r\n label: \"Draft\",\r\n description: \"Check In file as a draft\"\r\n },\r\n {\r\n name: checkInOptionName.ocr,\r\n label: \"OCR and Index Recognized Text\",\r\n description:\r\n \"Perform Optical Character Recognition and index recognized text to make text searchable\"\r\n }\r\n]);\r\n\r\n/**\r\n * find Check In Option by its name\r\n * @param {string} name Check In Option name\r\n * @return {{name: string, description: string, label: string}}\r\n */\r\nconst findCheckInOption = name =>\r\n checkInOptions.find(\r\n el => toLowerCaseSafe(el?.name) === toLowerCaseSafe(name)\r\n );\r\n\r\n/**\r\n * Create UploadFileCheckInOption Model\r\n * @param {string|undefined} extension\r\n * @param {string|undefined} comment\r\n * @param {boolean} ocr\r\n * @param {boolean} draft\r\n * @param {{afterLastPage: number, beforeFirstPage: number, overwrite: number}} insertOption\r\n * @return {{Extension: (string|undefined), Draft: boolean, InsertFileOption: {afterLastPage: number, beforeFirstPage: number, overwrite: number}, Comments: (string|string), Enqueue: boolean}}\r\n * @constructor\r\n */\r\nconst UploadFileCheckInOptionModel = (\r\n extension = undefined,\r\n comment = \"\",\r\n ocr = false,\r\n draft = false,\r\n insertOption = insertFileOption.afterLastPage\r\n) => {\r\n return {\r\n Extension: extension,\r\n Comments: comment ?? \"\",\r\n Enqueue: ocr,\r\n Draft: draft,\r\n InsertFileOption: insertOption\r\n };\r\n};\r\n\r\n/**\r\n * Create CheckInOption Model\r\n * @param {string|undefined} extension\r\n * @param {string|undefined} comment\r\n * @param {boolean} ocr\r\n * @param {boolean} draft\r\n * @return {{Extension: undefined, Draft: boolean, Comments: string, Enqueue: boolean}}\r\n * @constructor\r\n */\r\nconst CheckInOptionModel = (\r\n extension = undefined,\r\n comment = \"\",\r\n ocr = false,\r\n draft = false\r\n) => {\r\n return {\r\n Extension: extension,\r\n Comments: comment,\r\n Enqueue: ocr,\r\n Draft: draft\r\n };\r\n};\r\n\r\n/**\r\n * Create CheckInOption Model\r\n * @param {string|undefined} comment\r\n * @param {boolean} ocr\r\n * @param {boolean} draft\r\n * @param {{afterLastPage: number, beforeFirstPage: number, overwrite: number}} insertOption\r\n * @return {{ Draft: boolean, Comments: string, Enqueue: boolean,InsertFileOption: {afterLastPage: number, beforeFirstPage: number, overwrite: number}}}\r\n */\r\nconst UploadOptionModel = (\r\n comment = \"\",\r\n ocr = false,\r\n draft = false,\r\n insertOption = insertFileOption.afterLastPage\r\n) => {\r\n return {\r\n Comments: comment,\r\n Enqueue: ocr,\r\n Draft: draft,\r\n InsertFileOption: insertOption\r\n };\r\n};\r\n\r\nexport {\r\n createCheckInOption,\r\n createCheckInModel,\r\n checkInOptionName,\r\n checkInOptions,\r\n findCheckInOption,\r\n CheckInOptionModel,\r\n UploadFileCheckInOptionModel,\r\n UploadOptionModel\r\n};\r\n","// vuex\r\nimport { createNamespacedHelpers } from \"vuex\";\r\nconst { mapState, mapGetters, mapActions } = createNamespacedHelpers(\"user\");\r\n\r\nimport { principalMixin } from \"@/mixins/shared/user/principalMixin\";\r\nimport { systemOperations } from \"@/model/user/userModel\";\r\n\r\n/**\r\n * Encapsulate Questys current user\r\n */\r\nexport const userMixin = {\r\n mixins: [principalMixin],\r\n computed: {\r\n ...mapState({\r\n currentUser: \"user\",\r\n repositories: \"repositories\",\r\n categoryTypes: \"categoryTypes\"\r\n }),\r\n ...mapGetters({\r\n actorName: \"actorName\",\r\n userCategories: \"categories\",\r\n userFields: \"fields\",\r\n formFields: \"formFields\",\r\n findUserField: \"findField\",\r\n findFormField: \"findFormField\",\r\n countUserFields: \"countFields\",\r\n isPersistentField: \"isPersistentField\",\r\n isSystemField: \"isSystemField\",\r\n countUserCategories: \"countCategories\",\r\n findCategory: \"findCategory\",\r\n isAllowedViewField: \"isAllowedViewField\",\r\n createRecordCategories: \"createRecordCategories\",\r\n createRecordCategoriesByCategoryType:\r\n \"createRecordCategoriesByCategoryType\",\r\n updateRecordCategories: \"updateRecordCategories\",\r\n updateRecordCategoriesByCategoryType:\r\n \"updateRecordCategoriesByCategoryType\",\r\n isAllowedModifyField: \"isAllowedModifyField\",\r\n isAllowedSystemOperation: \"isAllowedSystemOperation\",\r\n isUserLoggedIn: \"isUserLoggedIn\",\r\n repository: \"repository\"\r\n }),\r\n\r\n /**\r\n * compute whether current user is allowed Access WF Projects\r\n * @return {boolean} true if current user is allowed to Access/Mange workflow Projects\r\n */\r\n allowedAccessWFProjects() {\r\n return !!this.isAllowedSystemOperation(systemOperations.accessWFProjects);\r\n },\r\n\r\n /**\r\n * compute whether current user is allowed to access Agenda Clerk Module\r\n * @return {boolean} true if current user is allowed to access/Mange workflow Projects\r\n */\r\n allowedAccessClerkModule() {\r\n return !!this.isAllowedSystemOperation(\r\n systemOperations.accessClerkModule\r\n );\r\n }\r\n\r\n /**\r\n * insert here allowed systemOperations on demand\r\n * ...\r\n */\r\n },\r\n methods: {\r\n ...mapActions({ setFormField: \"setFormField\" })\r\n }\r\n};\r\n","// Broadcast Mixin, can be expanded on demand, currently postMessage and receive Message Required\r\nexport const broadcastMixin = {\r\n data() {\r\n return {\r\n postedRecord: undefined\r\n };\r\n },\r\n methods: {\r\n /**\r\n * Gets the Updated record and sends message to all the listeners , so they can update record\r\n * @param {{RecordInfo: ({agendaItemOperations: Array<{name: string, allowed: boolean, valid: boolean}>, extension: string, checkOutExtension: string, version: number, versionDate: string, versionOwner: string, pageCount: number, fileSize: number, comments: string, id: number, name: string, parentId: number, ancestor: {id: number, name: string, categoryId: number, recordType: {id: number, name: string}, code: number, flags: number, createdBy: {id: number, name: string}, updatedBy: {id: number, name: string}, isComposite: boolean, isDeleted: boolean, isDraft: boolean, isHidden: boolean, isLocked: boolean, isOnHold: boolean, isReadOnly: boolean, isRetained: boolean}, categoryId: number, stateId: number, stateOwnerId: number, state: string, recordTypeId: number, recordType: string, createdBy: string, updatedBy: string, owner: string, creationDate: string, modificationDate: string, flags: number, children: number, isDraft: boolean, isReadOnly: boolean, isLocked: boolean, isDeleted: boolean, isComposite: boolean, isLink: boolean, localFile: {hasFile: boolean, isModified: boolean, pageCount: number, extension: {type: number, extensions: Array, description: string}}, searchFields: Array<{name: string, fieldDataType: number, fieldDataTypeName: string, operations: Array<{name: string, allowed: boolean, valid: boolean}>, id: number, value: string}>, operations: Array<{name: string, allowed: boolean, valid: boolean}>, meetingOperations: Array<{name: string, allowed: boolean, valid: boolean}>, fields: Array}|{agendaItemOperations: Array<{name: string, allowed: boolean, valid: boolean}>, extension: string, version: number, versionDate: string, versionOwner: string, pageCount: number, fileSize: number, id: number, name: string, parentId: number, ancestor: {id: number, name: string, categoryId: number, recordType: {id: number, name: string}, code: number, flags: number, createdBy: {id: number, name: string}, updatedBy: {id: number, name: string}, isComposite: boolean, isDeleted: boolean, isDraft: boolean, isHidden: boolean, isLocked: boolean, isOnHold: boolean, isReadOnly: boolean, isRetained: boolean}, categoryId: number, stateId: number, stateOwnerId: number, state: string, recordTypeId: number, recordType: string, createdBy: string, updatedBy: string, owner: string, creationDate: string, modificationDate: string, flags: number, children: number, isDraft: boolean, isReadOnly: boolean, isLocked: boolean, isDeleted: boolean, isComposite: boolean, isLink: boolean, localFile: {hasFile: boolean, isModified: boolean, pageCount: number, extension: {type: number, extensions: Array, description: string}}, searchFields: Array<{name: string, fieldDataType: number, fieldDataTypeName: string, operations: Array<{name: string, allowed: boolean, valid: boolean}>, id: number, value: string}>, operations: Array<{name: string, allowed: boolean, valid: boolean}>, meetingOperations: Array<{name: string, allowed: boolean, valid: boolean}>, fields: Array}|{agendaItemOperations: Array<{name: string, allowed: boolean, valid: boolean}>, extension: string, version: number, versionDate: string, versionOwner: string, pageCount: number, fileSize: number, id: number, name: string, parentId: number, ancestor: {id: number, name: string, categoryId: number, recordType: {id: number, name: string}, code: number, flags: number, createdBy: {id: number, name: string}, updatedBy: {id: number, name: string}, isComposite: boolean, isDeleted: boolean, isDraft: boolean, isHidden: boolean, isLocked: boolean, isOnHold: boolean, isReadOnly: boolean, isRetained: boolean}, categoryId: number, stateId: number, stateOwnerId: number, state: string, recordTypeId: number, recordType: string, createdBy: string, updatedBy: string, owner: string, creationDate: string, modificationDate: string, flags: number, children: number, isDraft: boolean, isReadOnly: boolean, isLocked: boolean, isDeleted: boolean, isComposite: boolean, isLink: boolean, localFile: {hasFile: boolean, isModified: boolean, pageCount: number, extension: {type: number, extensions: Array, description: string}}, searchFields: Array<{name: string, fieldDataType: number, fieldDataTypeName: string, operations: Array<{name: string, allowed: boolean, valid: boolean}>, id: number, value: string}>, operations: Array<{name: string, allowed: boolean, valid: boolean}>, meetingOperations: Array<{name: string, allowed: boolean, valid: boolean}>, fields: Array} | {agendaItemOperations: Array<{name: string, allowed: boolean, valid: boolean}>, id: number, name: string, parentId: number, ancestor: {id: number, name: string, categoryId: number, recordType: {id: number, name: string}, code: number, flags: number, createdBy: {id: number, name: string}, updatedBy: {id: number, name: string}, isComposite: boolean, isDeleted: boolean, isDraft: boolean, isHidden: boolean, isLocked: boolean, isOnHold: boolean, isReadOnly: boolean, isRetained: boolean}, categoryId: number, stateId: number, stateOwnerId: number, state: string, recordTypeId: number, recordType: string, createdBy: string, updatedBy: string, owner: string, creationDate: string, modificationDate: string, flags: number, children: number, isDraft: boolean, isReadOnly: boolean, isLocked: boolean, isDeleted: boolean, isComposite: boolean, isLink: boolean, localFile: {hasFile: boolean, isModified: boolean, pageCount: number, extension: {type: number, extensions: Array, description: string}}, searchFields: Array<{name: string, fieldDataType: number, fieldDataTypeName: string, operations: Array<{name: string, allowed: boolean, valid: boolean}>, id: number, value: string}>, operations: Array<{name: string, allowed: boolean, valid: boolean}>, meetingOperations: Array<{name: string, allowed: boolean, valid: boolean}>, fields: Array}), HasVersionChanged: boolean}} changedRecordModel\r\n */\r\n postMessage(changedRecordModel) {\r\n console.log(\r\n `${this.$options.name}:postMessage() message:`,\r\n changedRecordModel\r\n );\r\n\r\n // Message sent to both listeners, so if there is collision, both can receive message separately\r\n this.$viewerChannel.postMessage(changedRecordModel);\r\n this.$mainAppChannel.postMessage(changedRecordModel);\r\n }\r\n }\r\n};\r\n","import VCard from './VCard'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VCardActions = createSimpleFunctional('v-card__actions')\nconst VCardSubtitle = createSimpleFunctional('v-card__subtitle')\nconst VCardText = createSimpleFunctional('v-card__text')\nconst VCardTitle = createSimpleFunctional('v-card__title')\n\nexport {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VCard,\n VCardActions,\n VCardSubtitle,\n VCardText,\n VCardTitle,\n },\n}\n","// Styles\nimport './VCard.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\nimport Routable from '../../mixins/routable'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Loadable,\n Routable,\n VSheet\n).extend({\n name: 'v-card',\n\n props: {\n flat: Boolean,\n hover: Boolean,\n img: String,\n link: Boolean,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n raised: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-card': true,\n ...Routable.options.computed.classes.call(this),\n 'v-card--flat': this.flat,\n 'v-card--hover': this.hover,\n 'v-card--link': this.isClickable,\n 'v-card--loading': this.loading,\n 'v-card--disabled': this.disabled,\n 'v-card--raised': this.raised,\n ...VSheet.options.computed.classes.call(this),\n }\n },\n styles (): object {\n const style: Dictionary = {\n ...VSheet.options.computed.styles.call(this),\n }\n\n if (this.img) {\n style.background = `url(\"${this.img}\") center center / cover no-repeat`\n }\n\n return style\n },\n },\n\n methods: {\n genProgress () {\n const render = Loadable.options.methods.genProgress.call(this)\n\n if (!render) return null\n\n return this.$createElement('div', {\n staticClass: 'v-card__progress',\n key: 'progress',\n }, [render])\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.style = this.styles\n\n if (this.isClickable) {\n data.attrs = data.attrs || {}\n data.attrs.tabindex = 0\n }\n\n return h(tag, this.setBackgroundColor(this.color, data), [\n this.genProgress(),\n getSlot(this),\n ])\n },\n})\n"],"sourceRoot":""}