Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.`
142 | lorem += `
Why do we use it?
It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).`
143 | lorem += `
Where can I get some?
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.`
144 | let sm = `This is a simple message.`
145 | let sc = `There are options to give elements different ids and classes. Then it's a matter of customizing and reusing parts however you want.`
146 | let s2 = `
Bubbagum
`
147 | let s3 = `
Open Another Window
`
148 | let s4 = `This window will autoclose.`
149 | let stoy = `
Symmetric Harmony
By Tiffany Rayside
`
150 | let pops = []
151 | let colors = [`green`, `blue`, `red`, `black`]
152 | let current_color = 0
153 |
154 | function pop (position) {
155 | let color = colors[current_color]
156 | current_color += 1
157 |
158 | if (current_color === colors.length) {
159 | current_color = 0
160 | }
161 |
162 | let message, title
163 |
164 | if (color === `green`) {
165 | message = `Your popup is ready.`
166 | title = `Success`
167 | }
168 | else if (color === `blue`) {
169 | message = `You can click the popups.`
170 | title = `Reminder`
171 | }
172 | else if (color === `red`) {
173 | message = `Your ice cream is melting.`
174 | title = `Warning`
175 | }
176 | else if (color === `black`) {
177 | message = `Try giving me a star on GitHub!`
178 | title = `Tip`
179 | }
180 |
181 | let sideStack = el(`#select_sideStack`).value
182 | let autoclose = el(`#input_autoclose`).checked
183 | let sideStack_collapse = el(`#input_sideStack_collapse`).checked
184 | let enable_titlebar = el(`#input_enable_titlebar`).checked
185 | let window_x = el(`#select_window_x`).value
186 | let overlay_x = el(`#select_overlay_x`).value
187 | let enable_overlay = el(`#input_enable_overlay`).checked
188 | let lock = el(`#input_lock`).checked
189 | let enable_progressbar
190 |
191 | if (autoclose) {
192 | enable_progressbar = true
193 | }
194 | else {
195 | enable_progressbar = false
196 | }
197 |
198 | let popup = Msg.factory({
199 | class: color,
200 | preset: `popup`,
201 | position: position,
202 | autoclose: autoclose,
203 | autoclose_delay: 2000,
204 | window_x: window_x,
205 | overlay_x: overlay_x,
206 | enable_overlay: enable_overlay,
207 | enable_progressbar: enable_progressbar,
208 | lock: lock,
209 | sideStack: sideStack,
210 | sideStack_collapse: sideStack_collapse,
211 | enable_titlebar: enable_titlebar,
212 | edge_padding_x: el(`#input_edge_padding_x`).value,
213 | edge_padding_y: el(`#input_edge_padding_y`).value,
214 | sideStack_padding: el(`#input_sideStack_padding`).value,
215 | window_cursor: `pointer`,
216 | window_unselectable: true,
217 | on_click: function (instance) {
218 | show_options(instance)
219 | },
220 | })
221 |
222 | pops.push(popup)
223 | popup.show([title, message])
224 | }
225 |
226 | function show_options (popup) {
227 | let msg = Msg.factory({
228 | class: popup.options.class,
229 | enable_titlebar: true,
230 | center_titlebar: true,
231 | })
232 |
233 | let s = ``
234 | let keys = Object.keys(popup.options)
235 |
236 | for (let key of keys) {
237 | let prop = popup.options[key]
238 |
239 | if (typeof prop === `string`) {
240 | prop = `"${prop}"`
241 | }
242 |
243 | s += key + `: `
244 | s += prop + `
258 | A wonderful serenity has taken possession of my entire soul,
259 | like these sweet mornings of spring which I enjoy with my whole heart.
260 | I am alone, and feel the charm of existence in this spot, which was created for the bliss
261 | of souls like mine. I am so happy, my dear friend, so absorbed in the exquisite sense of mere
262 | tranquil existence, that I neglect my talents. I should be incapable of drawing a single
263 | stroke at the present moment; and yet I feel that I never was a greater artist than now.
264 | When, while the lovely valley teems with vapour around me, and the meridian sun strikes
265 | the upper surface of the impenetrable foliage of my trees, and but a few stray gleams steal
266 | into the inner sanctuary, I throw myself down among the tall grass by the trickling stream;
267 | and, as I lie close to the earth, a thousand unknown plants are noticed by me: when I hear
268 | the buzz of the little world among the stalks, and grow familiar with the countless indescribable
269 | forms of the insects and flies, then I feel the presence of the Almighty, who formed us in his
270 | own image, and the breath of that universal love which bears and sustains us, as it floats around
271 | us in an eternity of bliss; and then, my friend, when darkness overspreads my eyes, and heaven and
272 | earth seem to dwell in my soul and absorb its power, like the form of a beloved mistress,
273 | then I often think with longing, Oh, would I could describe these conceptions, could impress
274 | upon paper all that is living so full and warm within me, that it might be the mirror of my soul,
275 | as my soul is the mirror of the infinite God! O my friend -- but it is too much for my strength
276 | -- I sink under the weight of the splendour of these visions! A wonderful serenity has taken
277 | possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart.
278 |
279 |
133 |
134 | center
135 | top
136 | bottom
137 | left
138 | right
139 | topleft
140 | bottomleft
141 | topright
142 | bottomright
143 |
144 |
145 |
146 |
147 |
148 |
let msg_pop = Msg.factory({
149 | preset: "popup" // or "popup_autoclose",
150 | position: "bottomright"
151 | })
152 |
153 |
154 |
155 |
Full Windows
156 |
157 | Using the "window" preset, full page, clean windows, can be created as a
158 | canvas to create anything on top. This is useful to add different layers
159 | to your application while still taking advantage of the Msg instance
160 | control system. The content takes 100vh height and 100vw width. If you
161 | want to have scrolling content you must create your own containers.
162 |
163 |
164 |
165 | Open Window
167 |
168 |
169 |
let msg_window = Msg.factory({
170 | preset:"window"
171 | })
216 |
217 | To show a window just pass a string or an html element to the show
218 | method:
219 |
220 |
msg.show("<i>Hello</i> <b>World</b>")
224 |
225 | msg.show(document.getElementsByTagName("h1")[0])
229 |
230 |
231 | You can re-use the same instance to display different things.
232 |
Note that an instance can only show one thing at a time.
233 |
If you want to have multiple windows open you need to create
234 | multiple instances.
You can create factory functions to create
235 | and show instances on the fly.
The "persistent" option is to
236 | be considered when creating on the fly instances. If you're not going to
237 | use the instance again, it's advised to use persistent: false, which
238 | destroys the html elements after close, to avoid filling the dom with
239 | unncecesary elements.
240 |
241 |
331 |
332 | By default, ids are based on the number of instances created, they are
333 | incremental. Custom ids and classes can be specified via options.
334 |
335 | The z-index values of the windows are generated when they are shown,
336 | allowing for windows with different ids to stack on top of each other.
337 | This stack is called the zStack.
338 |
339 | Stack Demo
340 |
341 |
342 |
Styling
343 |
344 | You can set custom ids and classes via options.
345 |
346 | You can play with the ids and classes to have different types of
347 | windows.
348 |
349 | Elements can have multiple classes. For example, class:"foo bar" would
350 | create all elements with those classes, for example, content would have
351 | the classes "Msg-content", "Msg-content-foo" and "Msg-content-bar". It
352 | also works with specific classes, like content_class:"foo bar".
353 |
354 | If you don't want a class name to be turned into the Msg-element-classname
355 | format, you can append a "!" to it. For example overlay_class:"!glow"
356 | would use "glow" instead of "Msg-overlay-glow".
357 |
358 | The Msg-content's padding is set depending on your settings, to try to
359 | make it look pleasing in different situations.
360 |
361 | To override the css you will probably need to use !important
362 | declarations.
363 |
364 |
409 |
410 |
411 | There are some pre-made classes:
412 |
413 |
414 |
415 | Red
416 | Blue
417 | Green
418 | Black
419 |
420 |
With titlebar enabled:
421 |
422 |
423 |
424 | Red
425 | Blue
426 | Green
427 | Black
428 |
429 |
430 |
431 |
Options
432 | The following options can be passed inside an object when creating an
433 | instance:
434 |
435 | id (Default: Number of instances): The id of the instance. For
436 | example, id:"foo".
437 |
438 | class (Default: "default"): The class of the instance. For example,
439 | class:"bar". It can be multiple classes, for example, class:"one two
440 | three".
441 |
442 | container_class (Default: undefined): If this is defined, the
443 | Msg-container will use this instead of the class option.
444 |
445 | overlay_class (Default: undefined): If this is defined, the
446 | Msg-overlay will use this instead of the class option.
447 |
448 | window_class (Default: undefined): If this is defined, the
449 | Msg-window will use this instead of the class option.
450 |
451 | topbar_class (Default: undefined): If this is defined, the
452 | Msg-topbar will use this instead of the class option.
453 |
454 | titlebar_class (Default: undefined): If this is defined, the
455 | Msg-titlebar will use this instead of the class option.
456 |
457 | content_class (Default: undefined): If this is defined, the
458 | Msg-content will use this instead of the class option.
459 |
460 | window_inner_x_class (Default: undefined): If this is defined, the
461 | Msg-window-inner-x will use this instead of the class option.
462 |
463 | window_floating_x_class (Default: undefined): If this is defined,
464 | the Msg-window-floating-x will use this instead of the class option.
465 |
466 | window_overlay_x_class (Default: undefined): If this is defined,
467 | the Msg-overlay-x will use this instead of the class option.
468 |
469 | progressbar_container_class (Default: undefined): If this is
470 | defined, the Msg-progressbar-container will use this instead of the class
471 | option.
472 |
473 | progressbar_class (Default: undefined): If this is defined, the
474 | Msg-progressbar will use this instead of the class option.
475 |
476 | lock (Default: true): Prevents scrolling from propagating to the
477 | body. This is done through css by adding a class to the body
478 | temporarily.
479 |
480 | locked_element (Default: "body"): String argument for
481 | document.querySelector() to find the element to be locked.
482 |
483 | close_on_overlay_click (Default: true): Closes the window when the
484 | overlay is clicked.
485 |
486 | close_on_escape (Default: true): Closes the window when Escape is
487 | pressed.
488 |
489 | closeable (Default: true): Whether the window is closable at
490 | all.
491 |
492 | clear_editables (Default: false): When pressing Escape, it removes the last word from an active input=text or textarea element, if it has a value.
493 | If it's empty and close_on_escape is true, it closes the window.
494 |
495 | clear_editables_full (Default: false): Modifies clear_editables to clear the whole input on Escape instead of word per word.
496 |
497 | persistent (Default: true): When true, it keeps the html elements
498 | in the dom when the window is closed. If false, it destroys the html
499 | elements on close.
500 |
501 | remove_after_close (Default: true): If true, it will destroy the
502 | html elements and remove the instance from the instance registry after
503 | close.
504 |
505 | position (Default: "center"): The position of the window in the
506 | screen. Either "center", "left" (hStackable), "right" (hStackable), "top"
507 | (vStackable), "bottom" (vStackable), "topleft" (vStackable) (hStackable),
508 | "topright" (vStackable) (hStackable), "bottomleft" (vStackable)
509 | (hStackable), or "bottomright" (vStackable) (hStackable).
510 |
511 | window_width (Default: "auto"): The width of the Msg-window.
512 |
513 | window_height (Default: "auto"): The height of the Msg-window.
514 |
515 | window_min_width (Default: "auto"): The min-width of the
516 | Msg-window.
517 |
518 | window_min_height (Default: "auto"): The min-height of the
519 | Msg-window.
520 |
521 | window_max_width (Default: "80vw"): The max-width of the
522 | Msg-window.
523 |
524 | window_max_height (Default: "80vh"): The max-height of the
525 | Msg-window.
526 |
527 | window_cursor (Default: "default"): The cursor of the Msg-window.
528 | For example, "pointer" or "none".
529 |
530 | titlebar_cursor (Default: "default"): The cursor of the Msg-titlebar.
531 | For example, "pointer" or "none".
532 |
533 | window_unselectable (Default: false): If true, it will make the
534 | window's content unselectable. For example by dragging with the mouse.
535 |
536 | edge_padding_x (Default: 20): The horizontal padding in pixels from
537 | the edge of the screen. Some positions don't support this.
538 |
539 | edge_padding_y (Default: 20): The vertical padding in pixels from
540 | the edge of the screen. Some positions don't support this.
541 |
542 | sideStack (Default: "vertical"): Either "vertical", "horizontal" or
543 | "none". This is what allows popup windows to stack on top of each other
544 | vertically or appear side by side horizontally.
545 |
546 | sideStack_padding (Default: 20): The separation in pixels between
547 | vertically or horizontally stacked windows.
548 |
549 | sideStack_collapse (Default: true): Whether windows in a vertical
550 | or horizontal stack collapse when a window is closed.
551 |
552 | zStack_level (Default: 2): Level 1 zStacks start at a z-index of
553 | 5000000 (5 with 6 zeros), Level 2 zStacks start at a z-index of 50000000
554 | (5 with 7 zeros). This is useful if you want to have popup messages that
555 | don't go above the modal windows.
556 |
557 | autoclose (Default: false): Closes the window automatically after a
558 | certain amount of time.
559 |
560 | autoclose_delay (Default: 5000): The amount of time in milliseconds
561 | that must pass before closing the window.
562 |
563 | enable_titlebar (Default: false): Whether Msg-titlebar is created
564 | or not.
565 |
566 | center_titlebar (Default: false): A mode where the text is placed
567 | in the center relative to the window. It adjusts to window_x settings.
568 |
569 | enable_progressbar (Default: false): Whether Msg-progressbar is
570 | created or not.
571 |
572 | bind_progressbar_to_autoclose (Default: true): If this is true, the
573 | progressbar will reflect the autoclose delay when the window is shown.
574 |
575 | reverse_autoclose_progressbar (Default: false): If this is true,
576 | instead of the autoclose progressbar animation starting at 100% width and
577 | going down to 0%, it starts at 0% and goes up to 100%.
578 |
579 | close_on_show (Default: false): When show() is called it will first
580 | close the window and then show it.
581 | close_others_on_show (Default: false): When the window is first
582 | shown it will close all other open windows.
583 |
584 | scroll_on_show (Default: true): Whether the scrolltop of
585 | Msg-content-container will become 0 on show. In other words, if it will
586 | automatically be scrolled to the top on show if there is overflow.
587 | enable_overlay (Default: true): Whether the overlay is created or
588 | not.
589 |
590 | window_x (Default: "inner_right"): Makes an x to close the window
591 | inside the window. Either "inner_right", "inner_left", "floating_right",
592 | "floating_left" or "none".
593 |
594 | overlay_x (Default: "none"): Makes an x to close the window inside
595 | the overlay. Either "right", "left" or "none".
596 |
597 | replace_linebreaks (Default: false): If true, strings passed to
598 | show() or set() will have every "\n" replaced with an html linebreak.
599 |
600 | before_show (Default: Empty Function): Function that triggers
601 | before the show method. Receives the instance as an argument. If false is
602 | returned it aborts the execution.
603 |
604 | after_show (Default: Empty Function): Function that triggers after
605 | the show method. Receives the instance as an argument.
606 |
607 | before_set (Default: Empty Function): Function that triggers before
608 | the set method. Receives the instance as an argument. If false is returned
609 | it aborts the execution.
610 |
611 | after_set (Default: Empty Function): Function that triggers after
612 | the set method. Receives the instance as an argument.
613 |
614 | before_set_title (Default: Empty Function): Function that triggers
615 | before the set_title method. Receives the instance as an argument. If
616 | false is returned it aborts the execution.
617 |
618 | after_set_title (Default: Empty Function): Function that triggers
619 | after the set_title method. Receives the instance as an argument.
620 |
621 | before_set_progress (Default: Empty Function): Function that
622 | triggers before the set_progress method. Receives the instance as an
623 | argument. If false is returned it aborts the execution.
624 |
625 | after_set_progress (Default: Empty Function): Function that
626 | triggers after the set_progress method. Receives the instance as an
627 | argument.
628 |
629 | before_close (Default: Empty Function): Function that triggers
630 | before the close method. Receives the instance as an argument. If false is
631 | returned it aborts the execution.
632 |
633 | after_close (Default: Empty Function): Function that triggers after
634 | the close method. Receives the instance as an argument.
635 |
636 | after_last_closed (Default: Empty Function): Function that triggers
637 | after the last remaining open window was closed. Receives the instance as
638 | an argument.
639 |
640 | before_toggle (Default: Empty Function): Function that triggers
641 | before the toggle method. Receives the instance as an argument. If false
642 | is returned it aborts the execution.
643 |
644 | after_toggle (Default: Empty Function): Function that triggers
645 | after the toggle method. Receives the instance as an argument.
646 |
647 | before_create (Default: Empty Function): Function that triggers
648 | before the create method. Receives the instance as an argument. If false
649 | is returned it aborts the execution.
650 |
651 | after_create (Default: Empty Function): Function that triggers
652 | after the create method. Receives the instance as an argument.
653 |
654 | before_destroy (Default: Empty Function): Function that triggers
655 | before the destroy method. Receives the instance as an argument. If false
656 | is returned it aborts the execution.
657 |
658 | after_destroy (Default: Empty Function): Function that triggers
659 | after the destroy method. Receives the instance as an argument.
660 |
661 | on_click (Default: Empty Function): Function that triggers when
662 | the window is clicked.
663 |
664 | on_middle_click (Default: Empty Function): Function that triggers when
665 | the window is middle_clicked.
666 |
667 | on_wheel_down (Default: Empty Function): Function that triggers on
668 | mouse scroll wheel down.
669 |
670 | on_wheel_up (Default: Empty Function): Function that triggers on
671 | mouse scroll wheel up.
672 |
673 | on_overlay_click (Default: Empty Function): Function that triggers when
674 | the overlay is clicked.
675 |
676 | on_titlebar_click (Default: Empty Function): Function that triggers when
677 | the titlebar is clicked.
678 |
679 | on_x_button_click (Default: Empty Function): Function that triggers when
680 | an X close button is clicked.
681 |
682 | disable_transformations (Default: false): Disables transformations
683 | applied to windows to center them or put them in a certain place. Applies
684 | top and left to 0 as well.
711 |
712 |
728 | Test It
729 |
730 |
731 |
732 |
733 |
Properties
734 |
735 | instance.container: The Msg-container html element.
736 |
737 | instance.overlay: The Msg-overlay html element.
738 |
739 | instance.overlay_x: The Msg-overlay-x html element.
740 |
741 | instance.topbar: The Msg-topbar html element.
742 |
743 | instance.titlebar: The Msg-titlebar html element.
744 |
745 | instance.window_inner_x: The Msg-window-inner-x html element.
746 |
747 | instance.window_floating_x: The Msg-window-floating-x html
748 | element.
749 |
750 | instance.window: The Msg-window html element.
751 |
752 | instance.content-container: The Msg-content-container html
753 | element.
754 |
755 | instance.content: The Msg-content html element.
756 |
757 | instance.progressbar-container: The Msg-progressbar-container html
758 | element.
759 |
760 | instance.progressbar: The Msg-progressbar html element.
761 |
762 | instance.options: The options object of the instance.
763 |
764 |
765 |
Methods
766 |
767 | instance.show(html): Opens a window with the received string or
768 | html element as its content and puts it at the top of the zStack.
769 |
770 | instance.show([title, html]): An alternative way to call show is
771 | passing an array with the title for the titlebar and the content html.
772 | Useful if you have the titlebar enabled and you want to change both things
773 | in the same call.
774 |
775 | instance.show(): If no arguments are passed to show(), it displays
776 | the window with the last used html or the one passed to set() and puts it
777 | at the top of the zStack.
778 |
779 | instance.set(html): Updates the html of the window without opening
780 | it. This is useful if you want to prepare the content without showing the
781 | window or if you want to change the content of the window without
782 | triggering the show events.
783 |
784 | instance.set_or_show(html): If the window is open and at the top of
785 | the stack it changes the html content by calling set(). If the window is
786 | closed or not at the top of the stack it opens the window and shows the
787 | html content by calling show().
788 |
789 | instance.set_title(html): Updates the html of the titlebar. This
790 | doesn't open the window.
791 |
792 | instance.close(): Closes the window.
793 |
794 | instance.toggle(): If the window is closed it opens it. If the
795 | window is open it closes it.
796 |
797 | instance.html(): A shortcut for instance.content.innerHTML. Returns
798 | "" if the html elements have not been created yet.
799 |
800 | instance.title_html(): A shortcut for instance.titlebar.innerHTML.
801 | Returns "" if the titlebar element is not created.
802 |
803 | instance.is_open(): Returns true if the window is open.
804 |
805 | instance.any_open(): Returns true if any window with any id is
806 | open.
807 |
808 | instance.any_higher_open(): Returns true if any window with
809 | zStack_level 2 is open. These are usually modals and windows.
810 |
811 | instance.any_lower_open(): Returns true if any window with
812 | zStack_level 1 is open.
813 |
814 | instance.num_open(): Returns the number of windows open.
815 |
816 | instance.num_open_higher(): Returns the number of windows open with
817 | zStack_level 2. These are usually modals and windows.
818 |
819 | instance.num_open_lower(): Returns the number of windows open with
820 | zStack_level 1.
821 |
822 | instance.create(): Creates the html elements if they don't exist
823 | yet. This is done automatically on the first show() or set(), but there
824 | might be cases where you might want to create them first without showing
825 | anything.
826 |
827 | instance.recreate(): Removes the html elements from the dom and
828 | creates them again. This should be called after ids or classes are
829 | changed.
830 |
831 | instance.destroy(): Removes the html elements from the dom.
832 |
833 | instance.remove(): Destroys the html elements and removes the
834 | instance from the instance registry. So it won't appear in
835 | instance.instances() for example.
836 |
837 | instance.highest_zIndex(): Returns the highest z-index among all
838 | the created Msg-container elements. If it retuns -2000 it means no
839 | elements have been created.
840 | instance.highest_instance(): It returns the instance with the
841 | highest z-index. If none is open it returns false.
842 |
843 | instance.is_highest(): Returns true if the window is visible and at
844 | the top of the zStack.
845 |
846 | instance.to_top(): Puts an already opened window at the top of the
847 | zStack. This is done automatically by show(), but there might be cases
848 | where you want to do this without triggering the show events.
849 |
850 | instance.check_options(): This is done automatically when creating
851 | an instance. It checks the options object and applies the corresponding
852 | defaults to undefined properties.
853 |
854 | instance.set_progress(percentage): Fills the progressbar to the
855 | specified percentage.
856 |
857 | instance.get_progress(): Returns the current percentage of the
858 | progressbar.
859 |
860 | instance.instances(): Returns a list with the created instances.
861 |
862 | instance.higher_instances(): Returns a list with the created
863 | instances with zStack_level 2. These are usually modals and windows.
864 |
865 | instance.lower_instances(): Returns a list with the created
866 | instances with zStack_level 1.
867 |
868 | instance.get_instance_by_id(id): Returns an instance that has the
869 | specified instance id.
870 |
871 | instance.show_all(): Opens all the windows.
872 |
873 | instance.close_all(): Closes all the windows.
874 |
875 | instance.close_all_higher(): Closes all the windows with
876 | zStack_level 2. These are usually modals and windows.
877 |
878 | instance.close_all_lower(): Closes all the windows with
879 | zStack_level 1.
880 |
881 | instance.create_all(): Creates the html elements of all the
882 | instances.
883 |
884 | instance.recreate_all(): Recreates the html elements of all the
885 | instances.
886 |
887 | instance.destroy_all(): Removes the html elements of all the
888 | instances.
889 |
890 | instance.hide_titlebar(): Hides the titlebar including the inner_x. The whole topbar is hidden.
891 |
892 | instance.show_titlebar(): Shows the titlebar including the inner_x. The whole topbar is shown.
893 |
894 |
895 |