File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/ui/install/js/ui/dialogs/whats-new/dist/whats-new.bundle.js.map
Back
{"version":3,"file":"whats-new.bundle.js","sources":["../src/slide.js","../src/whats-new.js"],"sourcesContent":["import { Type, Cache, Tag, Dom } from 'main.core';\nimport type { SlideOptions } from './types/slide-options';\nimport type { VideoOptions, VideoSourceOptions } from './types/video-options';\n\nexport default class Slide\n{\n\t#id: string = '';\n\t#title: string = '';\n\t#description: string = '';\n\t#className: string = '';\n\t#image: ?string = null;\n\t#videoUrl: ?string = null;\n\t#videoIframe: ?HTMLIFrameElement = null;\n\t#videoHtmlElement: ?HTMLVideoElement = null;\n\t#videoOptions: ?VideoOptions = null;\n\t#videoPlayPromise: Promise = null;\n\t#autoplay: boolean = false;\n\t#html: string | HTMLElement | null = null;\n\t#cache = new Cache.MemoryCache();\n\n\tconstructor(options: SlideOptions)\n\t{\n\t\toptions = Type.isPlainObject(options) ? options : {};\n\n\t\tthis.#id = Type.isStringFilled(options.id) ? options.id : this.#id;\n\t\tthis.#className = Type.isStringFilled(options.className) ? options.className : this.#className;\n\t\tthis.#image = Type.isStringFilled(options.image) ? options.image : this.#image;\n\t\tthis.#title = Type.isStringFilled(options.title) ? options.title : this.#title;\n\t\tthis.#description = Type.isStringFilled(options.description) ? options.description : this.#description;\n\n\t\tthis.#setVideo(options.video);\n\t\tthis.#autoplay = Type.isBoolean(options.autoplay) ? options.autoplay : this.#autoplay;\n\n\t\tif (Type.isElementNode(options.html) || Type.isStringFilled(options.html))\n\t\t{\n\t\t\tthis.#html = options.html;\n\t\t}\n\t}\n\n\tgetId(): string\n\t{\n\t\treturn this.#id;\n\t}\n\n\tgetTitle(): string\n\t{\n\t\treturn this.#title;\n\t}\n\n\tgetDescription(): string\n\t{\n\t\treturn this.#description;\n\t}\n\n\tgetBullet(): HTMLElement\n\t{\n\t\treturn this.#cache.remember('bullet', () => {\n\t\t\treturn Tag.render`<span class=\"ui-whats-new-bullet\" title=\"${this.getTitle()}\"></span>`;\n\t\t});\n\t}\n\n\t#setVideo(options: string | VideoOptions)\n\t{\n\t\tif (Type.isStringFilled(options))\n\t\t{\n\t\t\tconst url = new URL(options);\n\t\t\tif (url.host.includes('youtube'))\n\t\t\t{\n\t\t\t\turl.searchParams.append('enablejsapi', '1');\n\t\t\t}\n\n\t\t\tthis.#videoUrl = url.toString();\n\t\t}\n\t\telse if (Type.isPlainObject(options) && Type.isArrayFilled(options.sources))\n\t\t{\n\t\t\tthis.#videoOptions = options;\n\t\t}\n\t}\n\n\tgetVideoIframe(): ?HTMLIFrameElement\n\t{\n\t\treturn this.#videoIframe;\n\t}\n\n\tgetVideoHtmlElement(): ?HTMLVideoElement\n\t{\n\t\treturn this.#videoHtmlElement;\n\t}\n\n\tpauseVideo(): void\n\t{\n\t\tif (this.getVideoIframe())\n\t\t{\n\t\t\tthis.getVideoIframe().contentWindow.postMessage(JSON.stringify({ event: 'command', func: 'stopVideo' }), '*');\n\t\t}\n\t\telse if (this.getVideoHtmlElement())\n\t\t{\n\t\t\tif (this.#videoPlayPromise)\n\t\t\t{\n\t\t\t\tthis.#videoPlayPromise\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.getVideoHtmlElement().pause();\n\t\t\t\t\t\tthis.#videoPlayPromise = null;\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\n\t\t\t\t\t})\n\t\t\t\t;\n\t\t\t}\n\t\t}\n\t}\n\n\tplayVideo(): void\n\t{\n\t\tif (this.getVideoIframe())\n\t\t{\n\t\t\tthis.getVideoIframe().contentWindow.postMessage(JSON.stringify({ event: 'command', func: 'playVideo' }), '*');\n\t\t}\n\t\telse if (this.getVideoHtmlElement())\n\t\t{\n\t\t\tthis.#videoPlayPromise = this.getVideoHtmlElement().play();\n\t\t}\n\t}\n\n\tisVideo(): boolean\n\t{\n\t\treturn this.#videoUrl !== null || this.#videoOptions !== null;\n\t}\n\n\tisAutoplay(): boolean\n\t{\n\t\treturn this.#autoplay;\n\t}\n\n\tgetContainer(): HTMLElement\n\t{\n\t\treturn this.#cache.remember('container', () => {\n\t\t\tif (this.#videoUrl)\n\t\t\t{\n\t\t\t\tthis.#videoIframe = Tag.render`<iframe \n\t\t\t\t\t\tsrc=\"${this.#videoUrl}\" \n\t\t\t\t\t\tid=\"${this.#id}\" \n\t\t\t\t\t\tclass=\"ui-whats-new-slide-item ${this.#className}\" \n\t\t\t\t\t\tframeborder=\"0\"\n\t\t\t\t\t\tallow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" \n\t\t\t\t\t\tallowfullscreen></iframe>\n\t\t\t\t`;\n\n\t\t\t\treturn this.#videoIframe;\n\t\t\t}\n\t\t\telse if (this.#videoOptions)\n\t\t\t{\n\t\t\t\tconst sources = [];\n\n\t\t\t\tthis.#videoOptions.sources.forEach((source: VideoSourceOptions) => {\n\t\t\t\t\tsources.push(`<source src=\"${source.src}\" type=\"${source.type}\" />`);\n\t\t\t\t});\n\n\t\t\t\tthis.#videoHtmlElement = Tag.render`<video>${sources.join('')}</video>`;\n\t\t\t\tif (Type.isPlainObject(this.#videoOptions.attrs))\n\t\t\t\t{\n\t\t\t\t\tDom.attr(this.#videoHtmlElement, this.#videoOptions.attrs);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tTag.render`\n\t\t\t\t\t\t<div \n\t\t\t\t\t\t\tid=\"${this.#id}\" \n\t\t\t\t\t\t\tclass=\"ui-whats-new-slide-item ${this.#className}\"\n\t\t\t\t\t\t>${this.#videoHtmlElement}</div>`\n\t\t\t\t);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn Tag.render`<div \n\t\t\t\t\t\tid=\"${this.#id}\" \n\t\t\t\t\t\tclass=\"ui-whats-new-slide-item ${this.#className}\" \n\t\t\t\t\t\t${this.#image ? 'style=\"background-image: url(' + this.#image + ')\"' : ''}>${this.#html ?? ''}</div>`\n\t\t\t\t\t;\n\t\t\t}\n\t\t});\n\t}\n}","import { Cache, Dom, Event, Tag, Type } from 'main.core';\nimport { BaseEvent, EventEmitter } from 'main.core.events';\nimport { Popup, type PopupOptions } from 'main.popup';\nimport Slide from './slide';\nimport type { WhatsNewOptions } from './types/whats-new-options';\n\nexport default class WhatsNew extends EventEmitter\n{\n\t#popup: Popup = null;\n\t#slides: Array<Slide> = [];\n\t#cache = new Cache.MemoryCache();\n\t#position: ?number = null;\n\t#popupOptions: PopupOptions = {};\n\tinfinityLoop: boolean = false;\n\t#documentKeyDownHandler: Function = null;\n\t#destroying: boolean = false;\n\n\tconstructor(options: WhatsNewOptions)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.UI.Dialogs.WhatsNew');\n\n\t\toptions = Type.isPlainObject(options) ? options : {};\n\n\t\tif (!Type.isArrayFilled(options.slides))\n\t\t{\n\t\t\tthrow new Error('NewStructurePopup: \"items\" parameter is required.');\n\t\t}\n\n\t\toptions.slides.forEach(slideOptions => {\n\t\t\tthis.#slides.push(new Slide(slideOptions));\n\t\t});\n\n\t\tif (Type.isPlainObject(options.popupOptions))\n\t\t{\n\t\t\tthis.#popupOptions = options.popupOptions;\n\t\t}\n\n\t\tif (Type.isBoolean(options.infinityLoop))\n\t\t{\n\t\t\tthis.infinityLoop = options.infinityLoop;\n\t\t}\n\n\t\tthis.#documentKeyDownHandler = this.#handleDocumentKeyDown.bind(this);\n\t\tthis.subscribeFromOptions(options.events);\n\t}\n\n\tgetPopup(): Popup\n\t{\n\t\tif (this.#popup !== null)\n\t\t{\n\t\t\treturn this.#popup;\n\t\t}\n\n\t\tthis.#popup = new Popup(Object.assign({\n\t\t\tclassName: 'ui-whats-new-popup',\n\t\t\tcloseIcon: false,\n\t\t\tcloseByEsc: true,\n\t\t\toverlay: true,\n\t\t\tcacheable: false,\n\t\t\tanimation: 'scale',\n\t\t\tcontent: this.getContentContainer(),\n\t\t\twidth: 720,\n\t\t\theight: 530,\n\t\t\tautoHide: true\n\t\t}, this.#popupOptions));\n\n\t\tthis.#popup.subscribe('onDestroy', this.#handlePopupDestroy.bind(this));\n\t\tthis.#popup.subscribe('onShow', this.#handlePopupShow.bind(this));\n\t\tthis.#popup.subscribe('onClose', this.#handlePopupClose.bind(this));\n\n\t\tthis.selectSlide();\n\n\t\treturn this.#popup;\n\t}\n\n\tgetCurrentSlide(): Slide\n\t{\n\t\treturn this.#slides[this.#position];\n\t}\n\n\tgetSlides(): Slide[]\n\t{\n\t\treturn this.#slides;\n\t}\n\n\tgetSlideByPosition(position: number): ?Slide\n\t{\n\t\treturn this.#slides[position] ?? null;\n\t}\n\n\tgetPositionBySlide(slide: Slide): ?number\n\t{\n\t\tfor (let position = 0; position < this.#slides.length; position++)\n\t\t{\n\t\t\tconst current = this.#slides[position];\n\t\t\tif (current === slide)\n\t\t\t{\n\t\t\t\treturn position;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetFirstPosition(): number\n\t{\n\t\treturn 0;\n\t}\n\n\tgetLastPosition(): number\n\t{\n\t\treturn this.#slides.length - 1;\n\t}\n\n\tgetContentContainer(): HTMLElement\n\t{\n\t\treturn this.#cache.remember('content', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-whats-new-content\"> \n\t\t\t\t\t${this.getHeadContainer()}\n\t\t\t\t\t<div class=\"ui-whats-new-slide-wrap\"> \n\t\t\t\t\t\t${this.getPrevBtn()} \n\t\t\t\t\t\t${this.getNextBtn()} \n\t\t\t\t\t\t<div class=\"ui-whats-new-slide-inner\">${this.getSliderBox()}</div> \n\t\t\t\t\t</div> \n\t\t\t\t\t<div class=\"ui-whats-new-bullet-box\" onclick=\"${this.#handleBulletClick.bind(this)}\">${\n\t\t\t\t\t\tthis.#slides.map(slide => slide.getBullet())\n\t\t\t\t\t}</div>\n\t\t\t\t\t<div class=\"ui-whats-new-close-btn\" onclick=\"${this.hide.bind(this)}\"></div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetHeadContainer(): HTMLElement\n\t{\n\t\treturn this.#cache.remember('head', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-whats-new-head\"> \n\t\t\t\t\t${this.getTitleContainer()}\n\t\t\t\t\t${this.getDescContainer()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetTitleContainer(): HTMLElement\n\t{\n\t\treturn this.#cache.remember('title', () => {\n\t\t\treturn Tag.render`<div class=\"ui-whats-new-title\"></div>`;\n\t\t});\n\t}\n\n\tgetDescContainer(): HTMLElement\n\t{\n\t\treturn this.#cache.remember('description', () => {\n\t\t\treturn Tag.render`<div class=\"ui-whats-new-desc\"></div>`;\n\t\t});\n\t}\n\n\tgetSliderBox(): HTMLElement\n\t{\n\t\treturn this.#cache.remember('sliderBox', () => {\n\t\t\treturn Tag.render`<div class=\"ui-whats-new-slide-box\">${\n\t\t\t\tthis.#slides.map(slide => slide.getContainer())\n\t\t\t}</div>`;\n\t\t});\n\t}\n\n\tgetPrevBtn(): HTMLElement\n\t{\n\t\treturn this.#cache.remember('prevBtn', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div \n\t\t\t\t\tclass=\"ui-whats-new-slide-btn --btn-prev\" \n\t\t\t\t\tonclick=\"${this.selectPrevSlide.bind(this)}\">\n\t\t\t\t</div>`\n\t\t\t\t;\n\t\t});\n\t}\n\n\tgetNextBtn(): HTMLElement\n\t{\n\t\treturn this.#cache.remember('nextBtn', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div \n\t\t\t\t\tclass=\"ui-whats-new-slide-btn --btn-next\" \n\t\t\t\t\tonclick=\"${this.selectNextSlide.bind(this)}\">\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tshow(): void\n\t{\n\t\tthis.getPopup().show();\n\t}\n\n\thide(): void\n\t{\n\t\tthis.getPopup().close();\n\t}\n\n\tdestroy(): void\n\t{\n\t\tif (this.#destroying)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#destroying = true;\n\t\tthis.emit('onDestroy');\n\n\t\tthis.#unbindEvents();\n\t\tthis.getPopup().destroy();\n\n\t\tfor (const property in this)\n\t\t{\n\t\t\tif (this.hasOwnProperty(property))\n\t\t\t{\n\t\t\t\tdelete this[property];\n\t\t\t}\n\t\t}\n\n\t\tObject.setPrototypeOf(this, null);\n\t}\n\n\tselectPrevSlide(): void\n\t{\n\t\tif (this.infinityLoop && this.#position === this.getFirstPosition())\n\t\t{\n\t\t\tthis.selectSlide(this.getLastPosition());\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.selectSlide(this.#position - 1);\n\t\t}\n\t}\n\n\tselectNextSlide(): void\n\t{\n\t\tif (this.infinityLoop && this.#position === this.getLastPosition())\n\t\t{\n\t\t\tthis.selectSlide(this.getFirstPosition());\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.selectSlide(this.#position + 1);\n\t\t}\n\t}\n\n\tselectSlide(position = 0): void\n\t{\n\t\tconst firstPosition = this.getFirstPosition();\n\t\tconst lastPosition = this.getLastPosition();\n\n\t\tposition = Math.min(Math.max(position, firstPosition), lastPosition);\n\t\tif (this.#position === position)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst currentSlide = this.getSlideByPosition(this.#position);\n\t\tconst newSlide = this.getSlideByPosition(position);\n\t\tconst event = new BaseEvent({ data: { currentSlide, newSlide } });\n\n\t\tthis.emit('Slide:onBeforeSelect', event);\n\t\tif (event.isDefaultPrevented())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.#position = position;\n\n\t\t// Ears\n\t\tif (!this.infinityLoop)\n\t\t{\n\t\t\tif (position === firstPosition)\n\t\t\t{\n\t\t\t\tDom.addClass(this.getPrevBtn(), '--hide');\n\t\t\t\tDom.removeClass(this.getNextBtn(), '--hide');\n\t\t\t}\n\t\t\telse if (position === lastPosition)\n\t\t\t{\n\t\t\t\tDom.removeClass(this.getPrevBtn(), '--hide');\n\t\t\t\tDom.addClass(this.getNextBtn(), '--hide');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.removeClass(this.getPrevBtn(), '--hide');\n\t\t\t\tDom.removeClass(this.getNextBtn(), '--hide');\n\t\t\t}\n\t\t}\n\n\t\t// Sliding\n\t\tDom.style(\n\t\t\tthis.getSliderBox(),\n\t\t\t{\n\t\t\t\ttransform: 'translateX(' + (-position * this.getSliderBox().offsetWidth) + 'px)',\n\t\t\t}\n\t\t);\n\n\t\t// Bullets\n\t\tthis.#slides.forEach((slide, index) => {\n\t\t\tif (position === index)\n\t\t\t{\n\t\t\t\tDom.addClass(slide.getBullet(), '--active');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.removeClass(slide.getBullet(), '--active');\n\t\t\t}\n\t\t});\n\n\t\t// Header\n\t\tDom.style(this.getHeadContainer(), { opacity: 0, transition: 'none' });\n\n\t\tconst title = newSlide.getTitle().trim();\n\t\tconst desc = newSlide.getDescription().trim();\n\n\t\tif (Type.isStringFilled(title))\n\t\t{\n\t\t\tDom.removeClass(this.getContentContainer(), '--empty-head');\n\t\t\tif (Type.isStringFilled(desc))\n\t\t\t{\n\t\t\t\tDom.removeClass(this.getContentContainer(), '--empty-desc');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.addClass(this.getContentContainer(), '--empty-desc');\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.addClass(this.getContentContainer(), '--empty-head');\n\t\t}\n\n\t\tthis.getTitleContainer().innerHTML = title;\n\t\tthis.getDescContainer().innerHTML = desc;\n\n\t\tconst finalize = () => {\n\t\t\tthis.getSlides().forEach((slide: Slide) => {\n\t\t\t\tif (this.getCurrentSlide() !== slide)\n\t\t\t\t{\n\t\t\t\t\tDom.style(slide.getContainer(), 'opacity', null);\n\t\t\t\t\tslide.pauseVideo();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tDom.style(this.getHeadContainer(), 'opacity', null);\n\t\t};\n\n\t\tif (newSlide.isVideo() && newSlide.isAutoplay())\n\t\t{\n\t\t\tnewSlide.playVideo();\n\t\t}\n\n\t\tsetTimeout(finalize, 700);\n\n\t\trequestAnimationFrame(() => {\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tif (currentSlide)\n\t\t\t\t{\n\t\t\t\t\tDom.style(currentSlide.getContainer(), 'opacity', 0);\n\t\t\t\t}\n\t\t\t\tDom.style(newSlide.getContainer(), 'opacity', 1);\n\t\t\t\tDom.style(this.getHeadContainer(), 'opacity', 1);\n\t\t\t\tDom.style(this.getHeadContainer(), 'transition', null);\n\t\t\t});\n\t\t});\n\n\t\tthis.emit('Slide:onSelect', { slide: newSlide });\n\t}\n\n\t#bindEvents(): void\n\t{\n\t\tEvent.bind(document, 'keydown', this.#documentKeyDownHandler);\n\t}\n\n\t#unbindEvents(): void\n\t{\n\t\tEvent.unbind(document, 'keydown', this.#documentKeyDownHandler);\n\t}\n\n\t#handleDocumentKeyDown(event: KeyboardEvent): void\n\t{\n\t\tif (!this.getPopup().isShown())\n\t\t{\n\t\t\tthis.#unbindEvents();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (event.metaKey || event.ctrlKey || event.altKey)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tif (event.key === 'ArrowLeft')\n\t\t{\n\t\t\tthis.selectPrevSlide();\n\t\t}\n\t\telse if (event.key === 'ArrowRight')\n\t\t{\n\t\t\tthis.selectNextSlide();\n\t\t}\n\t}\n\n\t#handleBulletClick(event: MouseEvent): void\n\t{\n\t\tconst slide = this.getSlides().find((slide: Slide) => {\n\t\t\treturn event.target === slide.getBullet();\n\t\t});\n\n\t\tconst position = this.getPositionBySlide(slide);\n\t\tif (position !== null)\n\t\t{\n\t\t\tthis.selectSlide(position);\n\t\t}\n\t}\n\n\t#handlePopupShow(): void\n\t{\n\t\tthis.#bindEvents();\n\n\t\tthis.emit('onShow');\n\t}\n\n\t#handlePopupClose(): void\n\t{\n\t\tthis.#unbindEvents();\n\t\tthis.getSlides().forEach((slide: Slide) => {\n\t\t\tslide.pauseVideo();\n\t\t});\n\n\t\tthis.emit('onHide');\n\t}\n\n\t#handlePopupDestroy(): void\n\t{\n\t\tthis.getSlides().forEach((slide: Slide) => {\n\t\t\tslide.pauseVideo();\n\t\t});\n\n\t\tthis.destroy();\n\t}\n}"],"names":["Slide","constructor","options","Cache","MemoryCache","Type","isPlainObject","isStringFilled","id","className","image","title","description","video","isBoolean","autoplay","isElementNode","html","getId","getTitle","getDescription","getBullet","remember","Tag","render","getVideoIframe","getVideoHtmlElement","pauseVideo","contentWindow","postMessage","JSON","stringify","event","func","then","pause","catch","playVideo","play","isVideo","isAutoplay","getContainer","sources","forEach","source","push","src","type","join","attrs","Dom","attr","url","URL","host","includes","searchParams","append","toString","isArrayFilled","WhatsNew","EventEmitter","infinityLoop","setEventNamespace","slides","Error","slideOptions","popupOptions","bind","subscribeFromOptions","events","getPopup","Popup","Object","assign","closeIcon","closeByEsc","overlay","cacheable","animation","content","getContentContainer","width","height","autoHide","subscribe","selectSlide","getCurrentSlide","getSlides","getSlideByPosition","position","getPositionBySlide","slide","length","current","getFirstPosition","getLastPosition","getHeadContainer","getPrevBtn","getNextBtn","getSliderBox","map","hide","getTitleContainer","getDescContainer","selectPrevSlide","selectNextSlide","show","close","destroy","emit","property","hasOwnProperty","setPrototypeOf","firstPosition","lastPosition","Math","min","max","currentSlide","newSlide","BaseEvent","data","isDefaultPrevented","addClass","removeClass","style","transform","offsetWidth","index","opacity","transition","trim","desc","innerHTML","finalize","setTimeout","requestAnimationFrame","Event","document","unbind","isShown","metaKey","ctrlKey","altKey","key","find","target"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings