{"version":3,"file":"js/43579-1a1c673543bcdd886c88.js","mappings":"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","sources":["webpack://assistant/./frontend/packs/models/CalendarManager.ts"],"sourcesContent":["import axios from \"axios\"\nimport CalendarTag from \"packs/models/CalendarTag\"\nimport Util from \"packs/utils/Util\"\nimport { DateTime } from \"luxon\"\nimport { funcName, Logger, sleep } from \"packs/common\"\nimport Event from \"packs/models/Event\"\nimport MeetingAttendeesGroup from \"packs/models/MeetingAttendeesGroup\"\nimport NotificationControl from \"packs/utils/NotificationControl\"\nimport AvailableScheduleTag from \"packs/models/AvailableScheduleTag\"\nimport RoomMember from \"packs/models/RoomMember\"\nimport UserSetting from \"packs/models/UserSetting\"\nimport RoomSetting from \"packs/models/RoomSetting\"\nimport PossibleDatesManager from \"packs/models/PossibleDatesManager\"\nimport PossibleDate from \"packs/models/PossibleDate\"\nimport RoomStorage from \"packs/models/RoomStorage\"\nimport LocationTag from \"packs/models/LocationTag\"\nimport Notice from \"./Notice\"\nimport Const from \"packs/utils/Const\"\nimport CalendarUtil from \"packs/utils/CalendarUtil\"\nimport Appointment from \"./Appointment\"\nimport Room from \"./Room\"\nimport { reactive } from \"vue\"\n\ninterface CalendarManager {\n ctList: CalendarTag[] // Google、MSから取得してきた全てのArray\n edittingMag: MeetingAttendeesGroup\n edittingAttendees: CalendarTag[]\n edittingCtag: CalendarTag\n edittingAstag: AvailableScheduleTag\n edittingAttendeesNeedVote: CalendarTag[]\n displayMode: string\n astag: AvailableScheduleTag\n schedules: { [key: string]: Event[] }\n // addSchedules: { key: string; value: Event[] }\n // removeSchedules: { key: string; value: Event[] }\n mags: MeetingAttendeesGroup[]\n\n hasUnsaved: boolean\n\n gettingEvents: boolean\n userInfo: RoomMember\n rs: RoomSetting\n previewDuration: number\n pdm: any\n currentPossibleDates: PossibleDate[]\n dailyPossibleDates: { [key: string]: any }\n months: string[]\n ctagEmails: string[]\n dailyEvents: any\n eventsMagDic: any\n calendar_name_dic: any\n alldayHeight: number\n mouseOverCell: string\n displayMagName: string\n displayWeekSpan: number\n selectedEvent: Event\n zoomLoctags: CalendarTag[]\n teamsLoctags: CalendarTag[]\n loctags: LocationTag[]\n calendarRefreshText: string\n // updatedEventDays: string[]\n registrable_attendees: any[]\n registered_attendees: any[]\n createType: string\n voteViewType: string // calendar, mail\n auto_suggested_vote_possible_dates_max_num: number\n isOpeningEventMenu: boolean\n beforeAstag: AvailableScheduleTag\n autoloadWithIndexName: string\n fileterOnlyWritable: boolean\n sharedCalendarTagsDic: any\n sharedAstagId: string\n magEventsWeekSpan: any // {mag.name: weekNum}\n\n setNew(...args)\n resetAstagInfo()\n resetSchedules()\n resetSelectingAllEvents(evs: Event[], datestr)\n resetSelectingEventsDic(dic: { [key: string]: Event[] }, datestr)\n updateSchedules(schedules: any, type: string, ...args)\n resetOptionalSchedules()\n updateMags(mags: MeetingAttendeesGroup[])\n updateMagName(name: string)\n updateWeekSpan(weekSpan: number)\n updateRoomSetting(rs: RoomSetting)\n showAttendeesEdit(): boolean\n saveLocal()\n getCalList(...args): Promise\n isCachedMagEvents(...args): boolean\n getMagEvents(...args): Promise\n getPossibleDatesEvents(...args)\n getUsedCtagList(): CalendarTag[]\n findCurrrentCtList(): CalendarTag[]\n getCtagEvents(ctags: CalendarTag[], startTime: number, endTime: number): Promise\n editStart(mag: MeetingAttendeesGroup)\n editEnd()\n deleteSelectedCtag(ctag: CalendarTag)\n resetEditting()\n editStartAstag()\n editEndAstag(astag: AvailableScheduleTag)\n editStartCtag(ctag: CalendarTag)\n editEndCtag(ctag: CalendarTag)\n getWritableCalendars()\n getOnlineLocations(...args): Promise\n getLocations(): Promise\n updatePossibleDatesForVote(...args)\n getOwnerUserId(): string\n deletePossibleDates(pd: PossibleDate)\n checkOpenEventMenu()\n magsToIndexName()\n}\n\n// データストア\nlet _CalendarManager: CalendarManager = reactive({\n ctList: [], // Google、MSから取得してきた全てのArray\n\n // 編集中の情報.(編集~確定までをここで扱います。)\n edittingMag: null,\n edittingAttendees: null,\n edittingCtag: null,\n edittingAstag: null,\n\n // 投票形式の場合、edittingAttendeesは投票不要な出席者です.\n // edittingAttendeesNeedVoteは投票が必要なカレンダーを付け合わせている人です.\n edittingAttendeesNeedVote: null,\n\n // AvailableScheduleView画面で summary(サマリー) or detail(詳細)画面の変更をコントロール.\n displayMode: `summary`,\n\n // 編集中のastag\n astag: null,\n schedules: null,\n // addSchedules: null,\n // removeSchedules: null,\n mags: null,\n\n // 保存していない変更点がある場合、true trueで戻ろうとするとwarningを表示.\n hasUnsaved: false,\n\n gettingEvents: false,\n\n userInfo: null,\n pdm: PossibleDatesManager,\n currentPossibleDates: null,\n dailyPossibleDates: null,\n months: [],\n\n // 取得済みのctag.email[]\n ctagEmails: [],\n\n // プレビューで利用するroom_setting情報\n // duration, step_sizeで利用.\n rs: null,\n previewDuration: null,\n\n // {MMdd: Event[]}\n dailyEvents: {},\n eventsMagDic: {},\n // { email: name }\n calendar_name_dic: {},\n alldayHeight: Const.CELL_HEIGHT * 2,\n mouseOverCell: null,\n // イベント表示中のmag\n displayMagName: null,\n // 週次カレンダー表示中のweekNum\n displayWeekSpan: null,\n // ツールチップ表示して選択中のイベント\n selectedEvent: null,\n\n zoomLoctags: null,\n teamsLoctags: null,\n loctags: null,\n // 週次カレンダーの更新を仰ぐテキストを表示します.\n calendarRefreshText: null,\n\n // アップデートを加えた日付(datestr `0114`)のみを入れておきます.\n // 変更があった場合に、ここに加えたdayLineのみを更新させます.\n // updatedEventDays: [],\n\n // 日程確定時にイベント登録する出席者をarrayで入れます。\n registrable_attendees: [],\n // 確定した場合に、すでにイベント登録しているユーザー.\n registered_attendees: [],\n\n // 作成タイプ, normal: 通常のAstagを作成します。 vote: 投票形式の作成を行います.\n createType: `normal`,\n // 投票の場合、calendar→mailの流れ\n voteViewType: `calendar`,\n // 投票の場合のmax提案件数\n auto_suggested_vote_possible_dates_max_num: -1,\n\n isOpeningEventMenu: false,\n\n beforeAstag: null,\n\n autoloadWithIndexName: null,\n\n // 書き込み可能なctagのみを表示する.\n fileterOnlyWritable: false,\n\n // 共有を受けている調整カレンダーのオーナーのctagsを保持します. {astag.sid: ctags}\n sharedCalendarTagsDic: {},\n // 現在編集中の共有を受けているastag.idを保持します.\n sharedAstagId: null,\n\n // イベント取得済みの期間を保持します. {mag.name: [202337, 202338]}\n magEventsWeekSpan: {},\n\n setNew(\n userInfo: RoomMember,\n us: UserSetting,\n astag: AvailableScheduleTag,\n rs: RoomSetting = null,\n refreshPdm = true,\n appo: Appointment = null\n ) {\n this.resetAstagInfo(refreshPdm)\n Logger(`CalendarManager.${funcName()} rs:${Util.output(rs)}`)\n this.userInfo = userInfo\n if (rs) {\n this.rs = { ...rs }\n } else {\n this.rs = UserSetting.toRoomSetting({ ...us })\n }\n if (astag.is_only_use_optional_schedules) {\n this.createType = `vote`\n } else {\n this.createType = `normal`\n }\n if (Util.isPresent(appo)) {\n this.previewDuration = appo.duration\n } else {\n this.previewDuration = 60\n }\n\n this.auto_suggested_vote_possible_dates_max_num = us.auto_suggested_vote_possible_dates_max_num || 15\n this.astag = AvailableScheduleTag.copy(astag)\n this.beforeAstag = AvailableScheduleTag.copy(astag)\n this.schedules = astag.optional_schedules\n // this.updatedEventDays = Object.keys(this.schedules)\n let mags = [...(astag.meeting_attendees_groups || [])]\n if (Util.isPresent(mags)) {\n this.displayMagName = `A`\n } else {\n if (this.showAttendeesEdit()) {\n let mag = MeetingAttendeesGroup.createDefault()\n mags = [mag]\n }\n }\n this.mags = mags\n\n Logger(`CM 初期値をセットしました. ${Util.output(this.astag)}`)\n },\n resetAstagInfo(refreshPdm = true) {\n this.dailyEvents = {}\n this.displayMagName = null\n this.selectedEvent = {}\n this.schedules = null\n this.edittingMag = null\n this.edittingAttendees = null\n this.edittingCtag = null\n this.mags = null\n this.createType = `normal`\n this.voteViewType = `calendar`\n this.rs = null\n this.astag = null\n this.edittingAttendeesNeedVote = null\n this.beforeAstag = null\n this.fileterOnlyWritable = false\n this.resetSchedules(refreshPdm)\n },\n resetSchedules(refreshPdm = true) {\n Logger(`cm.resetSchedules refreshPdm:${refreshPdm}`)\n this.eventsMagDic = {}\n this.magEventsWeekSpan = {}\n this.months = []\n if (this.pdm && refreshPdm) this.pdm.resetPdm()\n // this.pdm = null\n this.currentPossibleDates = null\n this.dailyPossibleDates = null\n },\n resetSelectingAllEvents(evs: Event[], datestr: string = null) {\n if (Util.isBlank(evs)) return []\n for (let _ev of evs) {\n let st = DateTime.fromSeconds(_ev.start_time)\n if (st.toFormat(\"MMdd\") != datestr) {\n _ev.isSelecting = false\n }\n }\n return evs\n },\n // 変更日以外のすべてのisSelecting(選択中ステータス)をfalseに変更します.\n resetSelectingEventsDic(dic: { [key: string]: Event[] }, datestr: string = null) {\n if (Util.isBlank(dic)) return {}\n Object.values(dic).forEach(_opEvs => {\n let opEvs = _opEvs as Event[]\n opEvs = this.resetSelectingAllEvents(opEvs, datestr)\n })\n return dic\n },\n updateSchedules(schedules: any, type: string, date: DateTime) {\n // if (type == `add`) {\n // this.addSchedules = schedules\n // this.astag.optional_add_schedules = schedules\n // } else if (type == `remove`) {\n // this.removeSchedules = schedules\n // this.astag.optional_remove_schedules = schedules\n // } else\n if (type == `all`) {\n // Event[]形式で受け取って、\n // let adds = schedules.filter(e => e.type == `optional_add`)\n let datestr = date.toFormat(`MMdd`)\n\n let oSchedules = { ...(this.schedules || {}) }\n // 変更日以外のすべてのisSelecting(選択中ステータス)をfalseに変更します.\n oSchedules = this.resetSelectingEventsDic(oSchedules, datestr)\n\n oSchedules[datestr] = schedules\n this.schedules = oSchedules\n\n Logger(\n `cm.updateSchedules date:${datestr} add: ${Util.output(this.addSchedules)}, remove: ${Util.output(\n this.removeSchedules\n )}`\n )\n\n let _astag = { ...this.astag }\n _astag.optional_schedules = this.schedules\n this.astag = _astag\n // this.updatedEventDays.push(datestr)\n }\n this.hasUnsaved = true\n\n // this.saveLocal()\n },\n resetOptionalSchedules() {\n let _astag = { ...this.astag }\n this.schedules = {}\n _astag.optional_schedules = this.schedules\n this.astag = _astag\n this.hasUnsaved = true\n },\n updateMags(mags: MeetingAttendeesGroup[]) {\n Logger(`cm.updateMags displayMagName:${this.displayMagName}`)\n this.mags = mags\n if (Util.isPresent(this.astag)) {\n this.astag.meeting_attendees_groups = mags\n }\n\n let _mag = mags.find(m => m.name == this.displayMagName)\n if (!_mag) {\n let _mag_a = mags.find(m => m.name == `A`)\n if (_mag_a) {\n this.displayMagName = `A`\n } else {\n this.displayMagName = null\n }\n }\n\n this.hasUnsaved = true\n\n // this.saveLocal()\n },\n // 週次イベントの表示中のmag名\n updateMagName(name: string) {\n this.displayMagName = name\n },\n updateWeekSpan(weekSpan: number) {\n this.displayWeekSpan = weekSpan\n },\n updateRoomSetting(rs: RoomSetting) {\n this.rs = rs\n },\n // カレンダー連携していなくても、magをつなぐフィールドを表示させる場合はtrueを返します.\n showAttendeesEdit(): boolean {\n if (!this.astag) return false\n if (this.astag.can_connect_calendar) return true\n let mags = this.astag.meeting_attendees_groups || []\n let validMags = mags.filter(mag => MeetingAttendeesGroup.isPresent(mag))\n if (validMags.length > 0) return true\n return false\n },\n /**\n * ローカルストレージにastagを保存します。\n */\n saveLocal() {\n let ast: AvailableScheduleTag = { ...this.astag }\n let roomStorage = new RoomStorage()\n roomStorage.saveAstag(ast)\n },\n /**\n * 連携しているカレンダー一覧を取得してきます。\n * selectedCtagsが存在する場合、そのctag.idと比較してチェックボックスにチェックとignore_alldayを設定します。\n */\n getCalList(refresh = false): Promise {\n // すでに取得済みのcalListを返します.\n if (Util.isPresent(this.ctList) && !refresh) return Promise.resolve(this.ctList)\n\n let params = {}\n if (refresh) {\n params = { refresh: true }\n }\n\n return axios\n .get(`${Util.prefixUrl}/calendar_tags`, { params: params })\n .then(res => {\n let ctList: CalendarTag[] = CalendarTag.fetchFromJson(res.data.calendar_tags, \"ctag\")\n Logger(`cm.getCalList: ${Util.output(ctList)}`)\n\n // 今までどおり代入.\n this.ctList = ctList\n if (!this.edittingMag) this.resetEditting()\n\n return ctList\n })\n .catch(err => {\n Logger(`err: ${err.message} ${Util.output(err.response)}`)\n NotificationControl.showErrorMessage(err)\n return []\n })\n },\n getPossibleDatesEvents(\n needRefresh: boolean = true,\n month: string = null,\n room: Room = null,\n week: string = null\n ): Promise {\n // let magNum = (this.astag.meeting_attendees_groups || []).length\n let calendarShowType = this.pdm.getCalendarShowType(this.rs, false)\n Logger(\n `CM.getPossibleDatesEvents needRefresh:${needRefresh}, month:${month}, week:${week}, createType:${\n this.createType\n }, rs:${Util.output(this.rs)}, calendarShowType:${calendarShowType}`\n )\n if (!this.astag) return\n if (this.createType == `vote` || (this.astag && this.astag.is_only_use_optional_schedules)) {\n this.gettingEvents = false\n return\n }\n\n // gtagClick(`PossibleDates取得.`, `またはの数:${magNum}`)\n\n // 取得中のため、二度叩き防止.\n // if (this.gettingEvents) return Promise.resolve(null)\n this.gettingEvents = true\n\n let _astag = { ...this.astag }\n let rs = { ...this.rs }\n if (_astag.id == `newId`) {\n _astag.id = null\n }\n\n let months = null\n let weeks = null\n\n if (calendarShowType == `weekly`) {\n weeks = week ? [week] : [CalendarUtil.toWeekSpan(DateTime.local())]\n months = null\n } else {\n months = month ? [month] : [CalendarUtil.toCalId(DateTime.local())]\n weeks = null\n }\n\n if (needRefresh) {\n this.currentPossibleDates = null\n this.dailyPossibleDates = null\n }\n\n let _duration = 60\n if (Util.isPresent(this.rs)) {\n _duration = this.previewDuration\n }\n if (this.createType == `normal` && !Util.isRoomSettingsPreview()) {\n // 日程候補を表示する必要がないので、\n rs = null\n }\n let max_bookings_num = 1\n if (room && room.max_bookings_num > 1) {\n max_bookings_num = room.max_bookings_num\n }\n let locationName = _astag.location_name\n\n return AvailableScheduleTag.getPossibleDatesPreview(\n _astag,\n this.userInfo,\n _duration,\n true,\n locationName,\n rs,\n months,\n needRefresh,\n max_bookings_num,\n room,\n weeks,\n calendarShowType\n ).then(pdm => {\n this.gettingEvents = false\n if (!pdm) {\n Logger(`CalendarManager.getPossibleDatesEvents pdm not found.`)\n // Notice.message = `うまく取得できませんでした。再度更新してください。`\n return null\n }\n // 取得内容を調整ページの候補日時と同じUIにはめます。\n // すでに別のastagを利用しているため、取得したpdmのデータは捨てます.\n if (this.astag && this.astag.id && this.astag.id != `newId`) {\n Logger(`CalendarManager.getPossibleDatesEvents astag.id:${this.astag?.id} pdm.astag_id:${pdm?.astag_id}`)\n if (this.astag.id != pdm.astag_id) return\n }\n this.pdm = pdm as typeof PossibleDatesManager\n let gettableItems = this.pdm.getGettableItems()\n\n let posDates = this.pdm.possibleDates\n Logger(\n `CalendarManager.getPossibleDatesEvents calendarShowType:${calendarShowType}, gettableItems:${Util.output(\n gettableItems\n )} posDates:${Util.output(posDates)}`\n )\n if ((posDates || []).length == 0 && gettableItems.length > 0) {\n if (calendarShowType == `weekly`) {\n this.getPossibleDatesEvents(false, null, null, gettableItems[0])\n } else {\n this.getPossibleDatesEvents(false, gettableItems[0])\n }\n } else {\n if (this.createType == `vote` || _astag.is_only_use_optional_schedules) {\n // let pds = this.pdm.possibleDates\n let dailyPds = this.pdm.dailyPossibleDates\n let stepSize = CalendarUtil.selectDisplayMeetingTimeArr.find(dic => dic.time == this.rs.step_size_type)\n let meetingDuration = this.previewDuration\n\n // let evsDic = dailyPds || {}\n let pevs = []\n\n let totalCounter = 0\n // let maxNum = this.auto_suggested_vote_possible_dates_max_num\n // let dailyMaxNum = 2\n const name = this.displayMagName || `A`\n Object.entries(dailyPds).forEach(([datestr, evsDic]) => {\n let dailyCounter = 0\n let dailyPevs = []\n let userId = this.getOwnerUserId()\n let _dic = evsDic[userId].group_events_dic[name]\n let pds = [...(_dic.possible_events || [])]\n Logger(`${funcName()} VOTE [${datestr}](${(pds || []).length}) = ${Util.output(pds)} `)\n\n // 取得してきたpossible_datesを幅広から分割します.\n for (let _longpd of pds) {\n let newPds = Event.toSeparatePossibleDates(_longpd, meetingDuration, stepSize.number) || []\n for (let _pd of newPds) {\n // 合計が最大に達したら残りは捨てます.\n // if (dailyCounter >= dailyMaxNum) continue\n // if (totalCounter >= maxNum) break\n\n pevs.push(_pd)\n dailyPevs.push(_pd)\n\n // dailyCounter++\n // totalCounter++\n }\n // Array.prototype.push.apply(pevs, newPds)\n }\n if (Util.isPresent(dailyPevs)) {\n this.updatePossibleDatesForVote(dailyPevs, datestr)\n }\n })\n\n this.currentPossibleDates = pevs\n this.pdm.possibleDates = pevs\n // this.pdm.dailyPossibleDates = dailyPevs\n // this.dailyPossibleDates = _dailyDic\n } else {\n this.currentPossibleDates = this.pdm.possibleDates\n this.dailyPossibleDates = this.pdm.dailyPossibleDates\n }\n }\n\n // this.dailyPossibleDates = this.pdm.dailyPossibleDates\n if (this.astag) {\n this.astag.systemUpdatedAt = Util.getSec()\n }\n\n Array.prototype.push.apply(this.months, pdm.months || [])\n return pdm\n })\n },\n getUsedCtagList(): CalendarTag[] {\n let mags = this.astag.meeting_attendees_groups as MeetingAttendeesGroup[]\n let ctags = []\n let ctagEmails = []\n for (let _mag of mags) {\n let _atts = _mag.required_attendees\n for (let _att of _atts) {\n if (!ctagEmails.includes(_att.email)) {\n ctags.push(_att)\n ctagEmails.push(_att.email)\n }\n }\n }\n return ctags\n },\n /**\n * 現在のastagの共有しているカレンダーとそうでない場合の外部カレンダーをよしなに返却します.\n * @returns\n */\n findCurrrentCtList(): CalendarTag[] {\n if (this.astag.is_shared) {\n let ctags = this.sharedCalendarTagsDic[this.astag.id]\n Logger(`${funcName()} is_shared Astag1. ctags:${(ctags || []).length}`)\n if (Util.isBlank(ctags)) return\n return [...ctags]\n }\n\n if (this.sharedAstagId) {\n let ctags = this.sharedCalendarTagsDic[this.sharedAstagId]\n Logger(`${funcName()} is_shared Astag2. ctags:${(ctags || []).length}`)\n if (Util.isBlank(ctags)) return\n return [...ctags]\n }\n\n if (Util.isBlank(this.ctList)) return\n return [...this.ctList]\n },\n /**\n *\n * @param startTime [DateTime]\n * @param magName [string] A,B,C\n * @param weekSpan [number] 202337\n * @returns\n */\n isCachedMagEvents(startTime: DateTime, magName: string = null, weekSpan: number = null) {\n if (Util.isBlank(this.magEventsWeekSpan)) return false\n\n let weekNum\n if (Util.isPresent(weekSpan)) {\n weekNum = weekSpan\n } else {\n // let startWeekNum = `${startTime.weekNumber}`.padStart(2, \"0\")\n // weekNum = Number(`${startTime.year}${startWeekNum}`)\n weekNum = Number(CalendarUtil.toWeekSpan(startTime))\n }\n\n if (!magName) magName = this.displayMagName\n // Logger(\n // `cm.isCachedMagEvents magName:${magName} weekNum:${weekNum} magEventsWeekSpan:${Util.output(this.magEventsWeekSpan)}`\n // )\n let magSpan = this.magEventsWeekSpan[magName] || []\n if (magSpan.includes(weekNum)) {\n Logger(\n `cm.isCachedMagEvents Find Cache. magName:${magName} weekNum:${weekNum}, magEventsWeekSpan:${Util.output(\n this.magEventsWeekSpan\n )}`\n )\n return true\n }\n Logger(\n `cm.isCachedMagEvents Not Find Cache. magName:${magName} weekNum:${weekNum}, magEventsWeekSpan:${Util.output(\n this.magEventsWeekSpan\n )}`\n )\n return false\n },\n getMagEvents(startTime: DateTime, magName: string = null, endTime: DateTime = null, refresh: boolean = false): Promise {\n Logger(`cm.getMagEvents startTime:${startTime}, endTime:${endTime}, magName:${magName}, refresh:${refresh}`)\n if (!startTime) {\n startTime = DateTime.local()\n }\n let et = endTime || startTime?.plus({ month: 1 })?.endOf(`month`)\n\n let _astag = { ...this.astag }\n // すでに取得済みの場合、そのまま返します.\n if (!refresh && this.isCachedMagEvents(startTime, magName)) return Promise.resolve(this.eventsMagDic)\n\n if (this.gettingEvents) return Promise.resolve(null)\n this.gettingEvents = true\n\n if (_astag.id == `newId`) _astag.id = null\n\n const params = {\n available_time: _astag,\n start_time: startTime?.toSeconds(),\n end_time: et?.toSeconds(),\n mag_name: magName,\n }\n Logger(\n `cm.getMagEvents magEventsの取得を開始しました. start_time:${startTime?.toISO()}, end_time:${et?.toISO()}, mag_name:${magName}`\n )\n\n return axios\n .post(`${Util.prefixUrl}/available_schedule_tags/events`, params)\n .then(result => {\n // this.gettingEvents = false\n if (this.astag.id && this.astag.id != `newId`) {\n // astagを切り替えたため、取得したイベント情報を破棄します.\n if (this.astag.id != result.data.available_time_id) return\n }\n Logger(`cm.getMagEvents result: ${Util.output(result.data)}`)\n /**\n * 'a': {\n * 'name': 'A'\n 'team_name': 'Aチーム',\n 'description': 'Aチームが担当します',\n 'daily_events': {\n 'mmdd': [\n PDM_EVENT_HASH,\n PDM_EVENT_HASH,\n ]\n }\n * }\n */\n let sharedCtags = result.data.shared_calendar_tags\n if (Util.isPresent(sharedCtags)) {\n this.sharedCalendarTagsDic[result.data.available_time_id] = sharedCtags\n }\n const evDic = result.data.events_mag_dic\n if (!refresh && Util.isPresent(this.eventsMagDic)) {\n // ドッキングします.\n Object.entries(evDic).forEach(([key, value]) => {\n if (magName && magName != key) return\n\n let _value = value as any\n let _evs = _value.daily_events\n let evs = this.eventsMagDic[key].daily_events\n Object.entries(_evs).forEach(([date, events]) => {\n let _events = events as any\n let _evs = evs[date] || []\n Array.prototype.push.apply(_evs, _events)\n evs[date] = _evs\n })\n })\n } else {\n this.eventsMagDic = evDic\n }\n let magWeekSpan = this.magEventsWeekSpan[magName]\n if (Util.isBlank(magWeekSpan)) {\n magWeekSpan = result.data.week_span\n } else {\n Array.prototype.push.apply(magWeekSpan, result.data.week_span)\n }\n this.magEventsWeekSpan[magName] = magWeekSpan\n this.calendar_name_dic = result.data.calendar_name_dic\n\n this.gettingEvents = false\n return this.eventsMagDic\n })\n .catch(err => {\n this.gettingEvents = false\n Logger(`err: ${err.message} ${Util.output(err.response)}`)\n // Notice.message = `カレンダー情報をうまく取得できませんでした。`\n NotificationControl.showErrorMessage(err)\n return {}\n })\n },\n /**\n * Ctagsを利用したpossible_datesを叩きます。\n */\n getCtagEvents(ctags: CalendarTag[], startTime: number, endTime: number): Promise {\n // const _ctags = [...(ctags || [])]\n Logger(`CalendarManager.getCtagEvents 選択しているctags: ${Util.output(ctags)}`)\n\n const params = { calendar_tags: ctags }\n if (startTime) {\n params[`start_time`] = startTime\n }\n if (endTime) {\n params[`end_time`] = endTime\n }\n\n return axios\n .post(`${Util.prefixUrl}/calendar_tags/events`, params)\n .then(result => {\n Logger(`CalendarManager.getCtagEvents result: ${Util.output(result.data)}`)\n const _dailyEvents = result.data.daily_events\n let dailyEvents = {}\n Object.entries(_dailyEvents).forEach(([date, events]) => {\n let _events: Event[] = events as any\n let evs = []\n for (let ev of _events) {\n ev.systemUpdatedAt = DateTime.local().toMillis() + ev.start_time\n evs.push(ev)\n }\n let devs = this.dailyEvents[date] || []\n Array.prototype.push.apply(devs, evs)\n dailyEvents[date] = devs\n })\n this.dailyEvents = dailyEvents\n\n return dailyEvents || {}\n })\n .catch(err => {\n Logger(`err: ${err.message} ${Util.output(err.response)}`)\n // Notice.message = `カレンダー情報をうまく取得できませんでした。`\n NotificationControl.showErrorMessage(err)\n return {}\n })\n },\n /**\n * グループの編集を開始します。\n * @param mag\n */\n editStart(mag: MeetingAttendeesGroup): void {\n if (mag) {\n this.edittingMag = mag\n this.edittingAttendees = mag.required_attendees || []\n } else {\n this.resetEditting()\n }\n },\n /**\n * 編集を確定します。\n */\n editEnd(): MeetingAttendeesGroup {\n let mag = this.edittingMag\n mag.required_attendees = this.edittingAttendees\n mag.systemUpdatedAt = Util.getSec()\n this.resetEditting()\n return mag\n },\n resetEditting() {\n this.edittingMag = MeetingAttendeesGroup.createDefault()\n this.edittingAttendees = this.edittingMag.required_attendees\n this.edittingCtag = null\n },\n deleteSelectedCtag(ctag: CalendarTag): void {\n this.edittingAttendees = this.edittingAttendees.filter(e => e.email != ctag.email)\n this.edittingMag.required_attendees = this.edittingAttendees\n },\n /**\n * Astagの無視キーワードなどを設定します.\n */\n editStartAstag() {\n Logger(`CM#editStartAstag ${Util.output(this.astag)}`)\n if (!this.astag) return\n this.edittingCtag = null\n this.edittingAstag = { ...this.astag }\n\n return this.edittingAstag\n },\n editEndAstag(astag: AvailableScheduleTag) {\n this.astag = astag\n this.edittingAstag = null\n },\n /**\n * 個々のctagを編集を開始します。\n * @param ctag\n */\n editStartCtag(ctag: CalendarTag) {\n let ct = this.edittingAttendees.find(e => e.email == ctag.email)\n Logger(`個々のctagを編集を開始します。: ${Util.output(ct)}`)\n if (!ct) return null\n\n ct.systemUpdatedAt = Util.getSec()\n this.edittingCtag = ct\n return ct\n },\n editEndCtag(ctag: CalendarTag) {\n let ctags = []\n for (let ct of this.edittingAttendees) {\n if (ct.email == ctag.email) {\n Object.assign(ct, ctag)\n ct.systemUpdatedAt = Util.getSec()\n }\n ctags.push(ct)\n }\n Logger(`editEndCtag: 編集を終了します。 ${Util.output(ctags)}`)\n this.edittingAttendees = ctags\n if (this.edittingMag) this.edittingMag.required_attendees = this.edittingAttendees\n return ctags\n },\n // 取得済みカレンダーに対して書込可能なカレンダーのみフィルターします。\n getWritableCalendars() {\n let ctList = this.findCurrrentCtList() || []\n return ctList.filter(cal => cal.writable)\n },\n getOnlineLocations(providers = [`zoom`]): Promise {\n if (JSON.stringify(providers) === JSON.stringify([`zoom`]) && this.zoomLoctags) {\n return Promise.resolve(this.zoomLoctags)\n }\n if (JSON.stringify(providers) === JSON.stringify([`teams`]) && this.teamsLoctags) {\n return Promise.resolve(this.teamsLoctags)\n }\n\n return LocationTag.getOnlineLocations(providers).then(_loctags => {\n Logger(`locationを取得しました:[${Util.output(providers)}] ${Util.output(_loctags)}`)\n if (_loctags) {\n if (providers.includes(`zoom`)) {\n this.zoomLoctags = _loctags.filter(_l => _l.provider == `zoom`)\n }\n if (providers.includes(`teams`)) {\n this.teamsLoctags = _loctags.filter(_l => [`ms_for_link`, `teams_for_link`].includes(_l.provider))\n }\n }\n return this.zoomLoctags\n })\n },\n getLocations(): Promise {\n if (this.loctags) return Promise.resolve(this.loctags)\n return LocationTag.getLocations().then(res => {\n if (res) {\n this.loctags = res\n }\n return this.loctags\n })\n },\n /**\n *\n * 更新する情報 pdm.possibleDates\n * @param posEvents\n * @param datestr\n */\n // 投票形式の場合は、可能候補を選ぶため、PossibleDatesとdailyPossibleDatesを更新していきます.\n updatePossibleDatesForVote(posEvents: PossibleDate[], datestr: string) {\n let evsDic = (this.dailyPossibleDates || {})[datestr] || {}\n const name = this.displayMagName || `A`\n Logger(`${funcName()} name:${name} datestr:${datestr}`)\n\n if (Util.isPresent(evsDic)) {\n let _dic = null\n let userId = this.getOwnerUserId()\n _dic = evsDic[userId].group_events_dic[name]\n Logger(`${funcName()} _dic:${Util.output(_dic)}`)\n\n if (_dic) {\n let pevs = [..._dic.possible_events] || []\n for (let pd of posEvents) {\n if (pevs.some(pev => PossibleDate.isSame(pev, pd))) {\n } else {\n pevs.push(pd)\n }\n }\n pevs = Util.sortBy(pevs, `start_time`)\n // Array.prototype.push.apply(pevs, posEvents)\n // this.possibleEvents = pevs\n _dic.possible_events = pevs\n let userId = this.getOwnerUserId()\n this.dailyPossibleDates[datestr][userId].group_events_dic[name] = _dic\n }\n } else {\n Logger(`${funcName()} evsDicがないためつくります. ${Util.output(this.dailyPossibleDates)}`)\n\n let _dic = {}\n let userId = this.getOwnerUserId()\n _dic[userId] = { group_events_dic: {} }\n _dic[userId].group_events_dic[name] = { possible_events: posEvents }\n this.dailyPossibleDates = this.dailyPossibleDates ? this.dailyPossibleDates : {}\n this.dailyPossibleDates[datestr] = _dic\n }\n if (Util.isBlank(this.pdm)) {\n this.pdm = PossibleDatesManager\n }\n let pds = [...(this.pdm.possibleDates || [])]\n for (let _pd of posEvents) {\n if (pds.some(pev => PossibleDate.isSame(pev, _pd))) {\n } else {\n pds.push(_pd)\n }\n }\n pds = Util.sortBy(pds, `start_time`)\n this.pdm.possibleDates = pds\n this.currentPossibleDates = pds\n Logger(`CalendarManager#updatePossibleDatesForVote currentPossibleDates ${Util.output(this.currentPossibleDates)}`)\n\n // Array.prototype.push.apply(this.pdm.possibleDates, posEvents)\n },\n getOwnerUserId() {\n let userId = this.userInfo.user_id\n if (this.astag.is_shared) {\n // シェアされている場合は、オーナーのIDを利用します.\n userId = this.astag.owner.user_id\n }\n return userId\n },\n deletePossibleDates(pd: PossibleDate) {\n Logger(`deletePossibleDates: ${Util.output(pd)}`)\n let pds = [...this.pdm.possibleDates]\n Logger(`pds total: ${pds.length}`)\n let datestr = pd.date_format\n let userId = this.getOwnerUserId()\n const name = this.displayMagName || `A`\n let _dic = (this.dailyPossibleDates || {})[datestr][userId].group_events_dic[name]\n let dic = { ..._dic }\n dic.possible_events = dic.possible_events.filter(_pd => !PossibleDate.isSame(pd, _pd))\n\n this.dailyPossibleDates[datestr][userId].group_events_dic[name].possible_events = dic.possible_events\n\n pds = pds.filter(_pd => !PossibleDate.isSame(pd, _pd))\n this.pdm.possibleDates = pds\n this.currentPossibleDates = pds\n Logger(`AFTER pds total: ${pds.length}`)\n },\n checkOpenEventMenu() {\n if (Util.isBlank(this.selectedEvent)) {\n this.isOpeningEventMenu = false\n return\n }\n sleep(100).then(_ => {\n let openMenu = $(`.btn-group.dropdown.open`)[0]\n Logger(`${funcName()} openMenu:${openMenu}`)\n if (Util.isPresent(openMenu)) {\n this.isOpeningEventMenu = true\n } else {\n this.isOpeningEventMenu = false\n }\n })\n },\n magsToIndexName(): string {\n return Util.output(this.mags)\n },\n})\nexport default _CalendarManager\n"],"names":["_CalendarManager","reactive","ctList","edittingMag","edittingAttendees","edittingCtag","edittingAstag","edittingAttendeesNeedVote","displayMode","astag","schedules","mags","hasUnsaved","gettingEvents","userInfo","pdm","PossibleDatesManager","currentPossibleDates","dailyPossibleDates","months","ctagEmails","rs","previewDuration","dailyEvents","eventsMagDic","calendar_name_dic","alldayHeight","Const","CELL_HEIGHT","mouseOverCell","displayMagName","displayWeekSpan","selectedEvent","zoomLoctags","teamsLoctags","loctags","calendarRefreshText","registrable_attendees","registered_attendees","createType","voteViewType","auto_suggested_vote_possible_dates_max_num","isOpeningEventMenu","beforeAstag","autoloadWithIndexName","fileterOnlyWritable","sharedCalendarTagsDic","sharedAstagId","magEventsWeekSpan","setNew","us","refreshPdm","appo","this","resetAstagInfo","Logger","concat","funcName","Util","output","__assign","UserSetting","toRoomSetting","is_only_use_optional_schedules","isPresent","duration","AvailableScheduleTag","copy","optional_schedules","__spreadArray","meeting_attendees_groups","showAttendeesEdit","MeetingAttendeesGroup","createDefault","resetSchedules","resetPdm","resetSelectingAllEvents","evs","datestr","isBlank","_i","evs_1","length","_ev","DateTime","fromSeconds","start_time","toFormat","isSelecting","resetSelectingEventsDic","dic","_this","Object","values","forEach","_opEvs","opEvs","updateSchedules","type","date","oSchedules","addSchedules","removeSchedules","_astag","resetOptionalSchedules","updateMags","find","m","name","_mag_a","updateMagName","updateWeekSpan","weekSpan","updateRoomSetting","can_connect_calendar","filter","mag","saveLocal","ast","RoomStorage","saveAstag","getCalList","refresh","Promise","resolve","params","axios","get","prefixUrl","then","res","CalendarTag","fetchFromJson","data","calendar_tags","resetEditting","err","message","response","NotificationControl","showErrorMessage","getPossibleDatesEvents","needRefresh","month","room","week","calendarShowType","getCalendarShowType","id","weeks","CalendarUtil","toWeekSpan","local","toCalId","_duration","isRoomSettingsPreview","max_bookings_num","locationName","location_name","getPossibleDatesPreview","_a","astag_id","gettableItems","getGettableItems","posDates","possibleDates","dailyPds","stepSize_1","selectDisplayMeetingTimeArr","time","step_size_type","meetingDuration_1","pevs_1","name_1","entries","dailyPevs","_dic","getOwnerUserId","group_events_dic","pds","possible_events","pds_1","_longpd","_b","newPds_1","Event","toSeparatePossibleDates","number","_pd","push","updatePossibleDatesForVote","systemUpdatedAt","getSec","Array","prototype","apply","getUsedCtagList","ctags","mags_1","_atts_1","required_attendees","_att","includes","email","findCurrrentCtList","is_shared","isCachedMagEvents","startTime","magName","weekNum","Number","getMagEvents","endTime","et","plus","endOf","available_time","toSeconds","end_time","mag_name","toISO","post","result","available_time_id","sharedCtags","shared_calendar_tags","evDic","events_mag_dic","key","value","_evs","daily_events","_events","magWeekSpan","week_span","getCtagEvents","_dailyEvents","_events_1","ev","toMillis","devs","editStart","editEnd","deleteSelectedCtag","ctag","e","editStartAstag","editEndAstag","editStartCtag","ct","editEndCtag","assign","getWritableCalendars","cal","writable","getOnlineLocations","providers","JSON","stringify","LocationTag","_loctags","_l","provider","getLocations","posEvents","evsDic","userId","pevs","pd","some","pev","PossibleDate","isSame","posEvents_1","sortBy","userId_1","posEvents_2","user_id","owner","deletePossibleDates","date_format","checkOpenEventMenu","sleep","_","openMenu","$","magsToIndexName"],"sourceRoot":""}