{"version":3,"file":"chunks/gdpr.6781.64657d4826e9ad05f583.chunk.js","mappings":"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","sources":["webpack://gdprPackage/./src/constants/constants.ts","webpack://gdprPackage/./src/checkIsJSON.ts","webpack://gdprPackage/./src/controllers/announcementManager/answersStorage.ts"],"sourcesContent":["import { TFunction } from 'i18next';\nimport { ListResponse } from 'types';\n\nexport enum TASK_TYPE {\n search,\n anonymize,\n}\n\nexport enum SCOPE_TYPE {\n jql = 'jql',\n cql = 'cql',\n}\n\nexport enum PREDEFINED_SCOPE {\n all = 'project is not EMPTY',\n lastThirty = 'created >= -30d',\n}\n\nexport enum SortingTypeEnum {\n asc = 'asc',\n desc = 'desc',\n}\n\nexport const TASK_STATUS_STARTED = 'STARTED';\n\nexport const DEBOUNCE_SELECT_TIMEOUT = 500;\n\nexport const DEBOUNCE_TEXTFIELD = 700;\n\nexport const DEBOUNCE_FOR_AUTOSAVE = 300;\n\nexport const taskType = {\n search: 0,\n anonymization: 1,\n};\n\nexport const addonPathStart = `/plugins/servlet/ac/${window.atlassianAddonKey}`;\n\nexport const SERVER_TYPE = {\n jira: 'jira',\n confluence: 'confluence',\n};\n\nexport const PREVIEW_EXTENSIONS: { [key: string]: string } = {\n jira: 'jspa',\n confluence: 'action',\n};\n\nexport enum TimeFramesValues {\n always = 'false',\n only = 'true',\n}\n\nexport const getDisplayTypeLabel = (t:TFunction<'translation'>) => ({\n center: t`announcerEditor.displayTypeOptions.center`,\n bottom: t`announcerEditor.displayTypeOptions.bottom`,\n pin: t`announcerEditor.displayTypeOptions.pinFooter`,\n 'block-login-form': t`announcerEditor.displayTypeOptions.blockLogin`,\n 'pin-center': t`announcerEditor.displayTypeOptions.pinFooterCenter`,\n 'pin-bottom': t`announcerEditor.displayTypeOptions.pinFooterBottom`,\n 'pin-block-login-form': t`announcerEditor.displayTypeOptions.pinBlockLoginForm`,\n});\n\nexport const ANNOUNCEMENT_TYPE = {\n required: 'required',\n optional: 'optional',\n};\n\nexport const INITIAL_LIST_RESPONSE: ListResponse = {\n data: {\n items: [],\n count: 0,\n page: 0,\n total: 0,\n },\n};\n\n// AMPLITUDE CONSTANTS START\nexport const PAGE_OPEN_EVENT = 'PAGE_OPEN_EVENT';\n// AMPLITUDE CONSTANTS END\n\nexport const gdprSubmittedAnnouncementsKey = 'gdpr_submitted_announcements';\n\nexport const blockLoginFormStyles = ['pin-block-login-form', 'block-login-form'];\n\nexport const times = [\n '00:00', '00:30', '01:00', '01:30', '02:00', '02:30', '03:00', '03:30',\n '04:00', '04:30', '05:00', '05:30', '06:00', '06:30', '07:00', '07:30',\n '08:00', '08:30', '09:00', '09:30', '10:00', '10:30', '11:00', '11:30',\n '12:00', '12:30', '13:00', '13:30', '14:00', '14:30', '15:00', '15:30',\n '16:00', '16:30', '17:00', '17:30', '18:00', '18:30', '19:00', '19:30',\n '20:00', '20:30', '21:00', '21:30', '22:00', '22:30', '23:00', '23:30',\n];\n\nexport const PAGINATION_LIMIT = 20;\n","export const checkIsJSON = (string: string) => {\n try {\n JSON.parse(string);\n\n return true;\n } catch (_error) {\n return false;\n }\n};\n","import { gdprSubmittedAnnouncementsKey } from 'constants/constants';\nimport { checkIsJSON } from 'checkIsJSON';\nimport type { LoginFormAnnouncement, LoginFormAnnouncementAnswers } from './types';\n\nexport const GDPR_LOGIN_FORM_ANNOUNCEMENTS_KEY = 'gdpr-login-form-announcements-answers';\n\nexport class AnswersStorage {\n getUserAnswers = () => {\n const answersJSON = localStorage.getItem(GDPR_LOGIN_FORM_ANNOUNCEMENTS_KEY);\n\n return checkIsJSON(answersJSON) ? JSON.parse(answersJSON) : null;\n };\n\n saveUserAnswers = (answers: LoginFormAnnouncementAnswers) => {\n const prevAnswers = this.getUserAnswers();\n\n const newAnswers = !prevAnswers\n ? { ...answers, isChanged: true }\n : ({ ...prevAnswers, ...answers, isChanged: true });\n\n localStorage.setItem(GDPR_LOGIN_FORM_ANNOUNCEMENTS_KEY, JSON.stringify(newAnswers));\n };\n\n removeInvalidAnswers = (currentAnnouncements: LoginFormAnnouncement[]) => {\n const prevAnswers = this.getUserAnswers() || {};\n\n const filteredAnswersEntries = Object\n .entries(prevAnswers)\n .map(([key, value]) => {\n if (key === 'isChanged') return [key, value];\n\n if (currentAnnouncements.find(({ id }: { id: number }) => id === Number(key))) {\n return [key, value];\n }\n\n return null;\n })\n .filter((item) => !!item);\n\n const filteredAnswers = Object.fromEntries(filteredAnswersEntries);\n\n localStorage.setItem(GDPR_LOGIN_FORM_ANNOUNCEMENTS_KEY, JSON.stringify(filteredAnswers));\n };\n\n markAsSent = (answers: LoginFormAnnouncementAnswers) => {\n localStorage.setItem(\n GDPR_LOGIN_FORM_ANNOUNCEMENTS_KEY,\n JSON.stringify({ ...answers, isChanged: false }),\n );\n };\n\n setSubmittedAnnouncements = (announcementId: number) => {\n const submittedAnnouncementsFromStorage = localStorage.getItem(gdprSubmittedAnnouncementsKey);\n\n if (checkIsJSON(submittedAnnouncementsFromStorage)) {\n const submittedAnnouncements = JSON.parse(submittedAnnouncementsFromStorage);\n\n const newAnnouncementIds = Array.isArray(submittedAnnouncements)\n ? [...submittedAnnouncements, announcementId]\n : [announcementId];\n\n localStorage.setItem(gdprSubmittedAnnouncementsKey, JSON.stringify(newAnnouncementIds));\n } else {\n localStorage.setItem(gdprSubmittedAnnouncementsKey, JSON.stringify([announcementId]));\n }\n };\n}\n"],"names":["TASK_TYPE","SCOPE_TYPE","PREDEFINED_SCOPE","SortingTypeEnum","TASK_STATUS_STARTED","DEBOUNCE_SELECT_TIMEOUT","DEBOUNCE_TEXTFIELD","DEBOUNCE_FOR_AUTOSAVE","taskType","addonPathStart","SERVER_TYPE","PREVIEW_EXTENSIONS","TimeFramesValues","getDisplayTypeLabel","t","ANNOUNCEMENT_TYPE","INITIAL_LIST_RESPONSE","PAGE_OPEN_EVENT","gdprSubmittedAnnouncementsKey","blockLoginFormStyles","times","PAGINATION_LIMIT","checkIsJSON","string","_error","GDPR_LOGIN_FORM_ANNOUNCEMENTS_KEY","AnswersStorage","answersJSON","answers","prevAnswers","newAnswers","currentAnnouncements","filteredAnswersEntries","key","value","id","item","filteredAnswers","announcementId","submittedAnnouncementsFromStorage","submittedAnnouncements","newAnnouncementIds"],"sourceRoot":""}