@mescius/inputman.comment.angular
Version:
このパッケージには、Angular用の[InputManJS](https://developer.mescius.jp/inputmanjs)コンポーネントが含まれます。
1 lines • 22.6 kB
Source Map (JSON)
{"version":3,"file":"mescius-inputman.comment.angular.mjs","sources":["../../comment/common.ts","../../comment/GcComment.ts","../../GcInputMan.module.ts","../../mescius-inputman.comment.angular.ts"],"sourcesContent":["export const IMCommentCtrl = \"__imcomment\";\n\nexport function Property(setter?: string, getter?: string, isPramArr?: boolean, supportWithinConfig?: boolean, order?: number): Function {\n var saveToTargetProDic = function (target: any, propertyName: string) {\n var methods = <PropertyMethod>{\n setter: setter,\n getter: getter,\n isPramArr: isPramArr,\n supportWithinConfig: (typeof supportWithinConfig === \"boolean\") ? supportWithinConfig : true,\n order: (typeof order === \"number\") ? order : -1\n };\n if (!target.propDic) {\n target.propDic = {};\n }\n target.propDic[propertyName] = methods;\n };\n return saveToTargetProDic;\n}\n\nexport const isEmpty = function (value: any): boolean {\n return value === undefined || value === null || value === \"\";\n}\n\nexport const getMethodPrefix = function (type: MethodType): string {\n if (type === MethodType.getter) {\n return \"get\";\n } else if (type === MethodType.setter) {\n return \"set\";\n }\n return '';\n}\n\nexport interface PropertyDictionary {\n [propertyName: string]: PropertyMethod\n}\n\nexport interface PropertyMethod {\n getter: string;\n setter: string;\n isPramArr: boolean;\n supportWithinConfig: boolean;\n order: number;\n}\n\nexport enum MethodType {\n getter,\n setter\n}\n\n","import {\n OnChanges,\n OnDestroy,\n AfterContentInit,\n ElementRef,\n SimpleChanges,\n Input,\n Output,\n EventEmitter,\n Component,\n} from \"@angular/core\";\nimport { GC } from \"../inputman\";\nimport {\n MethodType,\n isEmpty,\n getMethodPrefix,\n PropertyDictionary,\n IMCommentCtrl,\n} from \"./common\";\n\n@Component({\n selector: \"gc-comment\",\n template: `<ng-content></ng-content>`,\n})\nexport class GcCommentComponent\n implements OnChanges, AfterContentInit, OnDestroy\n{\n protected _container: Element;\n protected _imGcComment: GC.InputMan.GcComment;\n protected propDic: PropertyDictionary;\n\n constructor(ref: ElementRef) {\n this._container = ref.nativeElement;\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (!this._imGcComment) {\n return;\n }\n\n Object.keys(changes).forEach((key: string) => {\n let currentValue = changes[key].currentValue;\n this.setValueToIMControl(key, currentValue);\n });\n }\n\n protected setValueToIMControl(key: string, value: any): void {\n if (value === undefined) {\n return;\n }\n\n if (this.isSetAccessor(key)) {\n this._imGcComment[key] = value;\n return;\n }\n\n let setter = this.tryGetPropertyOperator(key, MethodType.setter);\n if (this.hasRealMethod(setter)) {\n if (\n this.propDic &&\n this.propDic[key] &&\n this.propDic[key].isPramArr === true\n ) {\n this._imGcComment[setter].apply(this._imGcComment, value);\n } else {\n this._imGcComment[setter](value);\n }\n }\n }\n\n private hasRealMethod(methodName: string): boolean {\n return (\n this._imGcComment &&\n typeof this._imGcComment[methodName] === \"function\"\n );\n }\n\n private isSetAccessor(key: string) {\n let descriptor = Object.getOwnPropertyDescriptor(\n this._imGcComment.constructor.prototype,\n key\n );\n if (descriptor && descriptor.set) {\n return true;\n }\n return false;\n }\n\n private tryGetPropertyOperator(\n propertyName: string,\n methodType: MethodType\n ): string {\n let method: string = \"\";\n if (this.propDic && this.propDic[propertyName]) {\n method =\n methodType === MethodType.getter\n ? this.propDic[propertyName].getter\n : this.propDic[propertyName].setter;\n if (!isEmpty(method)) {\n return method;\n }\n }\n return (\n getMethodPrefix(methodType) +\n propertyName[0].toUpperCase() +\n propertyName.slice(1)\n );\n }\n\n public ngAfterContentInit(): void {\n this.initGcComment();\n this.bindEvent();\n if (this.propDic) {\n var unSupportWithinConfigProps = Object.keys(this.propDic).filter(\n (p) =>\n this.propDic[p] &&\n this.propDic[p].supportWithinConfig === false\n );\n unSupportWithinConfigProps.sort((p1, p2) => {\n return this.propDic[p1].order - this.propDic[p2].order;\n });\n\n unSupportWithinConfigProps.forEach((p) => {\n this.setValueToIMControl(p, this[p]);\n });\n }\n this._container[IMCommentCtrl] = this._imGcComment;\n }\n\n protected bindEvent(): void {\n if (!this._imGcComment) {\n return;\n }\n this._imGcComment.addEventListener(\n GC.InputMan.GcCommentEvent.EditorCreated,\n (e) => {\n this.editorCreated.emit(e);\n }\n );\n this._imGcComment.addEventListener(\n GC.InputMan.GcCommentEvent.PreprocessError,\n (e) => {\n this.preprocessError.emit(e);\n }\n );\n this._imGcComment.addEventListener(\n GC.InputMan.GcCommentEvent.BeforeExecuteCommand,\n (e) => {\n this.beforeExecuteCommand.emit(e);\n }\n );\n this._imGcComment.addEventListener(\n GC.InputMan.GcCommentEvent.AfterExecuteCommand,\n (e) => {\n this.afterExecuteCommand.emit(e);\n }\n );\n this._imGcComment.addEventListener(\n GC.InputMan.GcCommentEvent.BeforeFirstLoad,\n () => {\n this.beforeFirstLoad.emit();\n }\n );\n this._imGcComment.addEventListener(\n GC.InputMan.GcCommentEvent.AfterFirstLoad,\n () => {\n this.afterFirstLoad.emit();\n }\n );\n }\n\n public ngOnDestroy(): void {\n if (this._container != null) {\n this._container.remove();\n this._imGcComment?.destroy?.();\n this._imGcComment = null;\n }\n }\n\n private initGcComment(): void {\n let element = document.createElement('div');\n this.createTemplate(element);\n this._imGcComment = new GC.InputMan.GcComment(element, this as any);\n if (Array.isArray(this.comments)) {\n this._imGcComment.comments = this.comments;\n }\n if (this.stickedComment) {\n this._imGcComment.stickedComment = this.stickedComment;\n }\n this._imGcComment.addEventListener(\n GC.InputMan.GcCommentEvent.CreateEditor,\n this.createEditor\n );\n this.onInitialized.emit(this._imGcComment);\n }\n\n private createTemplate(element: HTMLElement) {\n this._container.innerHTML = \"\";\n this._container.appendChild(element);\n }\n\n public getNestedIMControl(): GC.InputMan.GcComment {\n return this._imGcComment;\n }\n\n @Input()\n userInfo?: GC.InputMan.UserInfo;\n @Input()\n candidateReactionList?: string[];\n @Input()\n candidateReactionListColumns?: number;\n @Input()\n postTimeFormatter?: GC.InputMan.DateFormatter;\n @Input()\n updateTimeFormatter?: GC.InputMan.DateFormatter;\n @Input()\n showIcon?: boolean;\n @Input()\n addCommentEditorPosition?: GC.InputMan.GcCommentEditorPosition;\n @Input()\n commentMode?: GC.InputMan.GcCommentMode;\n @Input()\n header?: (string | GC.InputMan.GcCommentHeaderFooterItem)[];\n @Input()\n footer?: (string | GC.InputMan.GcCommentHeaderFooterItem)[];\n @Input()\n headerFooterItems?: { [key: string]: (gcComment: GC.InputMan.GcComment) => GC.InputMan.IHeaderFooterItem };\n @Input()\n commentAction?: (string | GC.InputMan.GcCommentCommentActionItem)[];\n @Input()\n commentInfoAction?: (string | GC.InputMan.GcCommentCommentInfoActionItem)[];\n @Input()\n commentActionItem?: { [key: string]: GC.InputMan.ICommentActionItem };\n @Input()\n commentInfoActionItem?: { [key: string]: GC.InputMan.ICommentInfoActionItem };\n @Input()\n commentActionButtonType?: GC.InputMan.GcCommentActionButtonType;\n @Input()\n pageSize?: number;\n @Input()\n loadOnDemand?: boolean;\n @Input()\n allowAnonymous?: boolean;\n @Input()\n anonymousUserInfo?: GC.InputMan.UserInfo;\n @Input()\n warningMessage?: GC.InputMan.IWarningMessage;\n @Input()\n watermark?: GC.InputMan.IWaterMark;\n @Input()\n commentFormatter?: GC.InputMan.CommentFormatter;\n @Input()\n editorConfig?: GC.InputMan.EditorConfig;\n @Input()\n avatarType?: GC.InputMan.GcCommentUserIconType;\n @Input()\n loadUsersInfoHandler?: GC.InputMan.LoadUsersCallback;\n @Input()\n loadComments?: (args: GC.InputMan.LoadMoreCommentsInfo) => GC.InputMan.LoadCommentsResult;\n @Input()\n addNewCommentTo?: GC.InputMan.AddNewCommentPosition;\n @Input()\n keepDraft?: boolean;\n @Input()\n dataSource?: GC.InputMan.IGcCommentDataSource;\n @Input()\n loadCommentCount?: () => number | Promise<number>;\n @Input()\n commentCountFormatter?: (n: number) => string | HTMLElement;\n @Input()\n loadReactionCount?: () => number | Promise<number>;\n @Input()\n reactionCountFormatter?: (n: number) => string | HTMLElement;\n @Input()\n sortInfo?: GC.InputMan.SortInfo;\n @Input()\n createEditor?: (args: GC.InputMan.CreateEditorArgs) => GC.InputMan.ICommentEditor;\n @Input()\n loadRepliesOnDemand?: boolean;\n @Input()\n replyLevel?: number;\n @Input()\n collapseRepliesMode?: GC.InputMan.GcCommentCollapseRepliesMode;\n @Input()\n showCurrentUserName?: boolean;\n @Input()\n contextToolbar?: (string | GC.InputMan.GcCommentContextToolbar | GC.InputMan.ContextToolbarOption)[];\n @Input()\n contextToolbarItem?: { [key: string]: GC.InputMan.ICommentContextToolbarItem };\n @Input()\n loadCommentReplies?: (comment: GC.InputMan.IComment, loadedCount: number) => GC.InputMan.LoadCommentsResult;\n @Input()\n comments?: GC.InputMan.IComment[];\n @Input()\n stickedComment?: GC.InputMan.IComment;\n @Input()\n copiedLinkDisplayTextFormatter?: (comment: GC.InputMan.IComment) => GC.InputMan.ICopiedLinkDisplayTextConfig;\n @Input()\n copiedLinkFormatter?: (comment: GC.InputMan.IComment) => string;\n @Input()\n copiedLinkSearchParams?: (GC.InputMan.GcCommentLinkSearchParams | GC.InputMan.CustomLinkSearchParam)[];\n @Input()\n pastedLinkType?: GC.InputMan.GcCommentPasteLinkType;\n @Input()\n showLinkTypeContextToolbar?: boolean;\n @Input()\n loadCommentByLink?: (link: string) => Promise<GC.InputMan.LoadCommentByLinkResult>;\n @Input()\n openLinkMode?: GC.InputMan.OpenLinkMode;\n @Input()\n loadStickedComment?: () => GC.InputMan.IComment | null;\n @Input()\n showZeroReaction?: boolean;\n @Input()\n showOpenReactionListButton?: boolean;\n \n @Output()\n public editorCreated: EventEmitter<object> = new EventEmitter();\n @Output()\n public preprocessError: EventEmitter<object> = new EventEmitter();\n @Output()\n public beforeExecuteCommand: EventEmitter<object> = new EventEmitter();\n @Output()\n public afterExecuteCommand: EventEmitter<object> = new EventEmitter();\n @Output()\n public beforeFirstLoad: EventEmitter<object> = new EventEmitter();\n @Output()\n public afterFirstLoad: EventEmitter<object> = new EventEmitter();\n @Output()\n public onInitialized: EventEmitter<object> = new EventEmitter();\n}\n","/*Import from angular */\nimport { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\n/**\n * Import from InputManJS\n */\nimport { GcCommentComponent } from './comment/GcComment';\n\n/**\n * Declare & add export modules\n */\n@NgModule({\n imports: [\n CommonModule,\n FormsModule\n ],\n declarations: [\n GcCommentComponent,\n ],\n exports: [\n GcCommentComponent\n ]\n})\nexport class InputManModule {\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './entry';\n"],"names":[],"mappings":"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"}