PluginProbe
Charitable – Donation & Fundraising Platform (Donation Forms, Recurring Donations & Fundraising Campaigns) / 1.8.11
Charitable – Donation & Fundraising Platform (Donation Forms, Recurring Donations & Fundraising Campaigns) v1.8.11
1.8.13.1 1.8.13 1.8.12.3 1.8.12.2 1.8.12.1 1.8.12 1.8.11.3 1.8.11.2 1.8.11.1 1.8.11 1.6.6 1.6.60 1.6.7 1.6.8 1.6.9 1.7.0 1.7.0.1 1.7.0.11 1.7.0.12 1.7.0.14 1.7.0.2 1.7.0.3 1.7.0.5 1.7.0.6 1.7.0.7 All 212 releases
charitable / assets / js / campaign-builder / admin-tour.js

admin-tour.js in Charitable – Donation & Fundraising Platform (Donation Forms, Recurring Donations & Fundraising Campaigns) 1.8.11, at assets/js/campaign-builder/admin-tour.js

961 lines 29.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /* global Charitable, CharitableCampaignBuilder, wpchar */
2 /**
3 * Charitable Tour function.
4 *
5 * @since 1.8.1.15
6 */
7 "use strict";
8
9 var CharitableTour =
10 window.CharitableTour ||
11 (function (document, window, $) {
12 /**
13 * Public functions and properties.
14 *
15 * @since 1.8.1.15
16 *
17 * @type {object}
18 */
19 var app = {
20 /**
21 * Start the engine.
22 *
23 * @since 1.8.1.15
24 */
25 init: function () {
26 $(app.ready);
27 $(window).on("load", function () {
28 // in case of jQuery 3.+ we need to wait for an `ready` event first.
29 if (typeof $.ready.then === "function") {
30 $.ready.then(app.load);
31 } else {
32 app.load();
33 }
34 });
35 },
36
37 /**
38 * Document ready.
39 *
40 * @since 1.8.1.15
41 */
42 ready: function () {},
43
44 /**
45 * Window load.
46 *
47 * @since 1.8.1.15
48 */
49 load: function () {
50 app.setup();
51 },
52
53 /**
54 * Initial setup.
55 *
56 * @since 1.8.1.15
57 */
58 setup: function () {
59 // test and see if Shepherd is available, etc. - if not, return.
60 if (
61 typeof Shepherd === "undefined" ||
62 typeof charitable_admin_builder_onboarding === "undefined" ||
63 typeof charitable_admin_builder_onboarding.option === "undefined" ||
64 typeof charitable_admin_builder_onboarding.option.tour ===
65 "undefined" ||
66 typeof charitable_admin_builder_onboarding.option.tour.status ===
67 "undefined"
68 ) {
69 // output error message to console.
70 console.error(
71 "Charitable Error: Shepherd or charitable_admin_builder_onboarding is not available.",
72 );
73 // eslint-disable-line
74 return;
75 }
76
77 // possible values: 'init', 'started', 'completed', 'skipped'.
78 if (
79 charitable_admin_builder_onboarding.option.tour.status === "init" ||
80 charitable_admin_builder_onboarding.option.tour.status === ""
81 ) {
82 // eslint-disable-line
83 app.events();
84 if ( app.isCampaignView() ) {
85 app.setupTourOnboarding();
86 } else {
87 app.setupTour();
88 }
89 } else if (
90 charitable_admin_builder_onboarding.option.tour.status === "started"
91 ) {
92
93 }
94
95 // remove ANY cookies that would hold campaign status.
96 wpCookies.remove("charitable_panel");
97 wpCookies.remove("charitable_panel_tab_section_tab_id");
98 wpCookies.remove("charitable_panel_layout_options_tabs_tab_open_template");
99 wpCookies.remove("charitable_panel_layout_options_tabs_tab_open_design");
100 wpCookies.remove("charitable_panel_layout_options_tabs_tab_open_settings");
101 wpCookies.remove("charitable_panel_layout_options_tabs_tab_open_marketing");
102 wpCookies.remove("charitable_panel_layout_options_tabs_tab_open_payment");
103 wpCookies.remove("charitable_panel_content_section");
104 wpCookies.remove("charitable_panel_active_field_id");
105 wpCookies.remove("charitable_panel_design_layout_options_group");
106
107 },
108
109 isCampaignView: function () {
110
111 if ( window.location.search.includes("view=design") ) {
112 return true;
113 }
114
115 return false;
116
117 },
118
119 /**
120 * Setup the tour steps.
121 *
122 * @since 1.8.1.15
123 */
124 setupTour: function () {
125
126 const tour = new Shepherd.Tour({
127 defaultStepOptions: {
128 cancelIcon: {
129 enabled: true,
130 },
131 exitOnEsc: true,
132 classes: "",
133 classPrefix: "wpchar",
134 scrollTo: { behavior: "smooth", block: "center" },
135 when: {
136 show() {
137 const footer = $(".shepherd-footer"),
138 currentStep = tour?.getCurrentStep(),
139 currentStepNumber = tour?.steps.indexOf(currentStep) + 1,
140 totalSteps = tour?.steps.length;
141
142 if (
143 currentStepNumber === 1 ||
144 currentStepNumber === totalSteps
145 ) {
146 return;
147 }
148
149 var progressPercentage = (currentStepNumber / totalSteps) * 100;
150
151 if (progressPercentage > 100) {
152 progressPercentage = 100;
153 }
154
155 // insert HTML into footer that is a progress bar showing % of current/completed steps.
156 footer.after(
157 '<span class="charitable-tour-progress-bar"><span class="charitable-tour-progress" style="width: ' +
158 progressPercentage +
159 '%"></span></span>',
160 );
161
162 if ( currentStepNumber > 2 ) {
163 // remove .shshepherd-target class from the target element.
164 $(".shepherd-target").removeClass("shepherd-target");
165 }
166
167 },
168 },
169 },
170 tourName: "wpchar-visual-campaign-builder",
171 useModalOverlay: true,
172 modalContainer: document.getElementById("charitable-builder"),
173 stepContainer: document.getElementById("charitable-builder"),
174 });
175
176 tour.addStep({
177 id: "wpchar-visual-campaign-builder-step-0",
178 text: charitable_builder.onboarding_tour.step_0_text,
179 arrow: false,
180 cancelIcon: {
181 enabled: true,
182 },
183 classes: "wpchar-visual-campaign-builder-step-0",
184 buttons: [
185 {
186 text: charitable_builder.onboarding_tour.start_tour,
187 classes: "charitable-tour-btn-primary",
188 action: tour.next,
189 },
190 // {
191 // text: charitable_builder.onboarding_tour.watch_video,
192 // classes: "charitable-tour-btn-primary",
193 // action: function () {
194 // app.openVideo();
195 // },
196 // },
197 ],
198 });
199
200 const name_step = tour.addStep({
201 id: "wpchar-visual-campaign-builder-step-1",
202 title: charitable_builder.onboarding_tour.step_1_title,
203 text: charitable_builder.onboarding_tour.step_1_text,
204 attachTo: {
205 element: "#charitable_settings_title",
206 on: "bottom",
207 },
208 classes: "wpchar-visual-campaign-builder-step-1",
209 buttons: [
210 {
211 text: charitable_builder.onboarding_tour.next,
212 classes:
213 "charitable-tour-btn-primary charitable-tour-btn-disabled",
214 action: tour.next,
215 },
216 ],
217 });
218
219 tour.addStep({
220 id: "wpchar-visual-campaign-builder-step-2",
221 title: charitable_builder.onboarding_tour.step_2_title,
222 text: charitable_builder.onboarding_tour.step_2_text,
223 arrow: true,
224 modalOverlayOpeningPadding: 8,
225 attachTo: {
226 element:
227 ".charitable-template-animal-sanctuary div.charitable-template",
228 on: "right",
229 },
230 classes: "wpchar-visual-campaign-builder-step-2",
231 buttons: [
232 {
233 text: charitable_builder.onboarding_tour.choose_a_template,
234 classes: "charitable-tour-btn-primary",
235 action: tour.hide,
236 },
237 ],
238 });
239
240 tour.addStep({
241 id: "wpchar-visual-campaign-builder-step-3",
242 title: charitable_builder.onboarding_tour.step_3_title,
243 text: charitable_builder.onboarding_tour.step_3_text,
244 arrow: true,
245 modalOverlayOpeningPadding: 5,
246
247 attachTo: {
248 element: "#add-layout",
249 on: "right-end",
250 },
251 classes: "wpchar-visual-campaign-builder-step-3",
252 buttons: [
253 {
254 text: charitable_builder.onboarding_tour.next,
255 classes: "charitable-tour-btn-primary",
256 action: tour.next,
257 },
258 ],
259 });
260
261 tour.addStep({
262 id: "wpchar-visual-campaign-builder-step-4",
263 title: charitable_builder.onboarding_tour.step_4_title,
264 text: charitable_builder.onboarding_tour.step_4_text,
265 arrow: true,
266 modalOverlayOpeningPadding: 5,
267 attachTo: {
268 element: "#charitable-tour-block-1",
269 on: "left",
270 },
271 classes: "wpchar-visual-campaign-builder-step-4",
272 buttons: [
273 {
274 text: charitable_builder.onboarding_tour.next,
275 classes: "charitable-tour-btn-primary",
276 action: tour.next,
277 },
278 ],
279 });
280
281 tour.addStep({
282 id: "wpchar-visual-campaign-builder-step-5",
283 title: charitable_builder.onboarding_tour.step_5_title,
284 text: charitable_builder.onboarding_tour.step_5_text,
285 arrow: true,
286 modalOverlayOpeningPadding: 5,
287 attachTo: {
288 element: "#charitable-tour-block-2",
289 on: "left",
290 },
291 classes: "wpchar-visual-campaign-builder-step-5",
292 buttons: [
293 {
294 text: charitable_builder.onboarding_tour.next,
295 classes: "charitable-tour-btn-primary",
296 action: tour.next,
297 },
298 ],
299 });
300
301 tour.addStep({
302 id: "wpchar-visual-campaign-builder-step-6",
303 title: charitable_builder.onboarding_tour.step_6_title,
304 text: charitable_builder.onboarding_tour.step_6_text,
305 arrow: true,
306 modalOverlayOpeningPadding: 5,
307 attachTo: {
308 element: "#charitable-tour-block-3",
309 on: "left",
310 },
311 classes: "wpchar-visual-campaign-builder-step-6",
312 buttons: [
313 {
314 text: charitable_builder.onboarding_tour.next,
315 classes: "charitable-tour-btn-primary",
316 action: tour.next,
317 },
318 ],
319 });
320
321 tour.addStep({
322 id: "wpchar-visual-campaign-builder-step-7",
323 title: charitable_builder.onboarding_tour.step_7_title,
324 text: charitable_builder.onboarding_tour.step_7_text,
325 arrow: true,
326 modalOverlayOpeningPadding: 5,
327 attachTo: {
328 element: "#charitable-save",
329 on: "top-end",
330 },
331 classes: "wpchar-visual-campaign-builder-step-7",
332 buttons: [
333 {
334 text: charitable_builder.onboarding_tour.next,
335 classes: "charitable-tour-btn-primary",
336 action: function () {
337 app.gotoDraftPublishStep();
338 tour.next();
339 },
340 },
341 ],
342 });
343
344 tour.addStep({
345 id: "wpchar-visual-campaign-builder-step-8",
346 title: charitable_builder.onboarding_tour.step_8_title,
347 text: charitable_builder.onboarding_tour.step_8_text,
348 arrow: true,
349 modalOverlayOpeningPadding: 10,
350
351 attachTo: {
352 element: "#charitable-tour-block-4",
353 on: "left-start",
354 },
355 classes: "wpchar-visual-campaign-builder-step-8",
356 buttons: [
357 {
358 text: charitable_builder.onboarding_tour.next,
359 classes: "charitable-tour-btn-primary",
360 action: function () {
361 app.undoDraftPublishStep();
362 tour.next();
363 },
364 },
365 ],
366 });
367
368 tour.addStep({
369 id: "wpchar-visual-campaign-builder-step-9",
370 title: charitable_builder.onboarding_tour.step_9_title,
371 text: charitable_builder.onboarding_tour.step_9_text,
372 arrow: true,
373 modalOverlayOpeningPadding: 3,
374
375 attachTo: {
376 element: "#charitable-preview-btn",
377 on: "top",
378 },
379 classes: "wpchar-visual-campaign-builder-step-9",
380 buttons: [
381 {
382 text: charitable_builder.onboarding_tour.next,
383 classes: "charitable-tour-btn-primary",
384 action: function () {
385 tour.next();
386 },
387 },
388 ],
389 });
390
391 tour.addStep({
392 id: "wpchar-visual-campaign-builder-step-10",
393 title: charitable_builder.onboarding_tour.step_10_title,
394 text: charitable_builder.onboarding_tour.step_10_text,
395 arrow: true,
396 modalOverlayOpeningPadding: 3,
397
398 attachTo: {
399 element: "#charitable-view-btn",
400 on: "top",
401 },
402 classes: "wpchar-visual-campaign-builder-step-10",
403 buttons: [
404 {
405 text: charitable_builder.onboarding_tour.next,
406 classes: "charitable-tour-btn-primary",
407 action: function () {
408 tour.next();
409 },
410 },
411 ],
412 });
413
414 tour.addStep({
415 id: "wpchar-visual-campaign-builder-step-11",
416 title: charitable_builder.onboarding_tour.step_11_title,
417 text: charitable_builder.onboarding_tour.step_11_text,
418 arrow: true,
419 modalOverlayOpeningPadding: 3,
420
421 attachTo: {
422 element: "#charitable-embed",
423 on: "top",
424 },
425 classes: "wpchar-visual-campaign-builder-step-11",
426 buttons: [
427 {
428 text: charitable_builder.onboarding_tour.next,
429 classes: "charitable-tour-btn-primary",
430 action: function () {
431 app.gotoSettingsStep();
432 tour.next();
433 },
434 },
435 ],
436 });
437
438 tour.addStep({
439 id: "wpchar-visual-campaign-builder-step-12",
440 title: charitable_builder.onboarding_tour.step_12_title,
441 text: charitable_builder.onboarding_tour.step_12_text,
442 arrow: true,
443 modalOverlayOpeningPadding: 0,
444
445 attachTo: {
446 element: "#charitable-panel-settings .charitable-panel-sidebar",
447 on: "right",
448 },
449 classes: "wpchar-visual-campaign-builder-step-12",
450 buttons: [
451 {
452 text: charitable_builder.onboarding_tour.next,
453 classes: "charitable-tour-btn-primary",
454 action: function () {
455 CharitableCampaignBuilder.panelSwitch("design");
456 tour.next();
457 },
458 },
459 ],
460 });
461
462 tour.addStep({
463 id: "wpchar-visual-campaign-builder-step-13",
464 title: charitable_builder.onboarding_tour.step_13_title,
465 text: charitable_builder.onboarding_tour.step_13_text,
466 arrow: false,
467 classes: "wpchar-visual-campaign-builder-step-13",
468 cancelIcon: {
469 enabled: false,
470 },
471 buttons: [
472 {
473 text: charitable_builder.onboarding_tour.lets_get_started,
474 classes: "charitable-tour-btn-primary",
475 action: tour.next,
476 },
477 ],
478 });
479
480 tour.start();
481 },
482
483 setupTourOnboarding: function () {
484
485 const tour = new Shepherd.Tour({
486 defaultStepOptions: {
487 cancelIcon: {
488 enabled: true,
489 },
490 exitOnEsc: true,
491 classes: "",
492 classPrefix: "wpchar",
493 scrollTo: { behavior: "smooth", block: "center" },
494 when: {
495 show() {
496 const footer = $(".shepherd-footer"),
497 currentStep = tour?.getCurrentStep(),
498 currentStepNumber = tour?.steps.indexOf(currentStep) + 1,
499 totalSteps = tour?.steps.length;
500
501 if (
502 currentStepNumber === 1 ||
503 currentStepNumber === totalSteps
504 ) {
505 return;
506 }
507
508 var progressPercentage = (currentStepNumber / totalSteps) * 100;
509
510 if (progressPercentage > 100) {
511 progressPercentage = 100;
512 }
513
514 // insert HTML into footer that is a progress bar showing % of current/completed steps.
515 footer.after(
516 '<span class="charitable-tour-progress-bar"><span class="charitable-tour-progress" style="width: ' +
517 progressPercentage +
518 '%"></span></span>',
519 );
520
521 if ( currentStepNumber > 2 ) {
522 // remove .shshepherd-target class from the target element.
523 $(".shepherd-target").removeClass("shepherd-target");
524 }
525
526 },
527 },
528 },
529 tourName: "wpchar-visual-campaign-builder",
530 useModalOverlay: true,
531 modalContainer: document.getElementById("charitable-builder"),
532 stepContainer: document.getElementById("charitable-builder"),
533 });
534
535 tour.addStep({
536 id: "wpchar-visual-campaign-builder-step-0",
537 text: charitable_builder.onboarding_tour.step_0_text,
538 arrow: false,
539 cancelIcon: {
540 enabled: true,
541 },
542 classes: "wpchar-visual-campaign-builder-step-0",
543 buttons: [
544 {
545 text: charitable_builder.onboarding_tour.start_tour,
546 classes: "charitable-tour-btn-primary",
547 action: tour.next,
548 },
549 // {
550 // text: charitable_builder.onboarding_tour.watch_video,
551 // classes: "charitable-tour-btn-primary",
552 // action: function () {
553 // app.openVideo();
554 // },
555 // },
556 ],
557 });
558
559 // assign a variable true if "view" in the querystring is 'design'.
560 var isDesignView = window.location.search.includes("view=design");
561
562 const name_step = tour.addStep({
563 id: "wpchar-visual-campaign-builder-step-1",
564 title: charitable_builder.onboarding_tour.step_1_title_onboarding,
565 text: charitable_builder.onboarding_tour.step_1_text_onboarding,
566 attachTo: {
567 element: "#charitable_settings_title",
568 on: "bottom",
569 },
570 classes: "wpchar-visual-campaign-builder-step-1",
571 buttons: [
572 {
573 text: charitable_builder.onboarding_tour.next,
574 classes: isDesignView ? "charitable-tour-btn-primary" : "charitable-tour-btn-primary charitable-tour-btn-disabled",
575 action: tour.next,
576 },
577 ],
578 });
579
580 tour.addStep({
581 id: "wpchar-visual-campaign-builder-step-4",
582 title: charitable_builder.onboarding_tour.step_4_title,
583 text: charitable_builder.onboarding_tour.step_4_text,
584 arrow: true,
585 modalOverlayOpeningPadding: 5,
586 attachTo: {
587 element: "#charitable-tour-block-1",
588 on: "left",
589 },
590 classes: "wpchar-visual-campaign-builder-step-4",
591 buttons: [
592 {
593 text: charitable_builder.onboarding_tour.next,
594 classes: "charitable-tour-btn-primary",
595 action: tour.next,
596 },
597 ],
598 });
599
600 tour.addStep({
601 id: "wpchar-visual-campaign-builder-step-5",
602 title: charitable_builder.onboarding_tour.step_5_title,
603 text: charitable_builder.onboarding_tour.step_5_text,
604 arrow: true,
605 modalOverlayOpeningPadding: 5,
606 attachTo: {
607 element: "#charitable-tour-block-2",
608 on: "left",
609 },
610 classes: "wpchar-visual-campaign-builder-step-5",
611 buttons: [
612 {
613 text: charitable_builder.onboarding_tour.next,
614 classes: "charitable-tour-btn-primary",
615 action: tour.next,
616 },
617 ],
618 });
619
620 tour.addStep({
621 id: "wpchar-visual-campaign-builder-step-6",
622 title: charitable_builder.onboarding_tour.step_6_title,
623 text: charitable_builder.onboarding_tour.step_6_text,
624 arrow: true,
625 modalOverlayOpeningPadding: 5,
626 attachTo: {
627 element: "#charitable-tour-block-3",
628 on: "left",
629 },
630 classes: "wpchar-visual-campaign-builder-step-6",
631 buttons: [
632 {
633 text: charitable_builder.onboarding_tour.next,
634 classes: "charitable-tour-btn-primary",
635 action: tour.next,
636 },
637 ],
638 });
639
640 tour.addStep({
641 id: "wpchar-visual-campaign-builder-step-7",
642 title: charitable_builder.onboarding_tour.step_7_title,
643 text: charitable_builder.onboarding_tour.step_7_text,
644 arrow: true,
645 modalOverlayOpeningPadding: 5,
646 attachTo: {
647 element: "#charitable-save",
648 on: "top-end",
649 },
650 classes: "wpchar-visual-campaign-builder-step-7",
651 buttons: [
652 {
653 text: charitable_builder.onboarding_tour.next,
654 classes: "charitable-tour-btn-primary",
655 action: function () {
656 app.gotoDraftPublishStep();
657 tour.next();
658 },
659 },
660 ],
661 });
662
663 tour.addStep({
664 id: "wpchar-visual-campaign-builder-step-8",
665 title: charitable_builder.onboarding_tour.step_8_title,
666 text: charitable_builder.onboarding_tour.step_8_text,
667 arrow: true,
668 modalOverlayOpeningPadding: 10,
669
670 attachTo: {
671 element: "#charitable-tour-block-4",
672 on: "left-start",
673 },
674 classes: "wpchar-visual-campaign-builder-step-8",
675 buttons: [
676 {
677 text: charitable_builder.onboarding_tour.next,
678 classes: "charitable-tour-btn-primary",
679 action: function () {
680 app.undoDraftPublishStep();
681 tour.next();
682 },
683 },
684 ],
685 });
686
687 tour.addStep({
688 id: "wpchar-visual-campaign-builder-step-9",
689 title: charitable_builder.onboarding_tour.step_9_title,
690 text: charitable_builder.onboarding_tour.step_9_text,
691 arrow: true,
692 modalOverlayOpeningPadding: 3,
693
694 attachTo: {
695 element: "#charitable-preview-btn",
696 on: "top",
697 },
698 classes: "wpchar-visual-campaign-builder-step-9",
699 buttons: [
700 {
701 text: charitable_builder.onboarding_tour.next,
702 classes: "charitable-tour-btn-primary",
703 action: function () {
704 tour.next();
705 },
706 },
707 ],
708 });
709
710 tour.addStep({
711 id: "wpchar-visual-campaign-builder-step-10",
712 title: charitable_builder.onboarding_tour.step_10_title,
713 text: charitable_builder.onboarding_tour.step_10_text,
714 arrow: true,
715 modalOverlayOpeningPadding: 3,
716
717 attachTo: {
718 element: "#charitable-view-btn",
719 on: "top",
720 },
721 classes: "wpchar-visual-campaign-builder-step-10",
722 buttons: [
723 {
724 text: charitable_builder.onboarding_tour.next,
725 classes: "charitable-tour-btn-primary",
726 action: function () {
727 tour.next();
728 },
729 },
730 ],
731 });
732
733 tour.addStep({
734 id: "wpchar-visual-campaign-builder-step-11",
735 title: charitable_builder.onboarding_tour.step_11_title,
736 text: charitable_builder.onboarding_tour.step_11_text,
737 arrow: true,
738 modalOverlayOpeningPadding: 3,
739
740 attachTo: {
741 element: "#charitable-embed",
742 on: "top",
743 },
744 classes: "wpchar-visual-campaign-builder-step-11",
745 buttons: [
746 {
747 text: charitable_builder.onboarding_tour.next,
748 classes: "charitable-tour-btn-primary",
749 action: function () {
750 app.gotoSettingsStep();
751 tour.next();
752 },
753 },
754 ],
755 });
756
757 tour.addStep({
758 id: "wpchar-visual-campaign-builder-step-12",
759 title: charitable_builder.onboarding_tour.step_12_title,
760 text: charitable_builder.onboarding_tour.step_12_text,
761 arrow: true,
762 modalOverlayOpeningPadding: 0,
763
764 attachTo: {
765 element: "#charitable-panel-settings .charitable-panel-sidebar",
766 on: "right",
767 },
768 classes: "wpchar-visual-campaign-builder-step-12",
769 buttons: [
770 {
771 text: charitable_builder.onboarding_tour.next,
772 classes: "charitable-tour-btn-primary",
773 action: function () {
774 CharitableCampaignBuilder.panelSwitch("design");
775 tour.next();
776 },
777 },
778 ],
779 });
780
781 tour.addStep({
782 id: "wpchar-visual-campaign-builder-step-13",
783 title: charitable_builder.onboarding_tour.step_13_title,
784 text: charitable_builder.onboarding_tour.step_13_text,
785 arrow: false,
786 classes: "wpchar-visual-campaign-builder-step-13",
787 cancelIcon: {
788 enabled: false,
789 },
790 buttons: [
791 {
792 text: charitable_builder.onboarding_tour.lets_get_started,
793 classes: "charitable-tour-btn-primary",
794 action: tour.next,
795 },
796 ],
797 });
798
799 tour.start();
800 },
801
802 /**
803 * Register JS events.
804 *
805 * @since 1.8.1.15
806 * @version 1.8.4.3 resolved TypeError, added checks.
807 */
808 events: function () {
809 $("a.create-campaign").on("blur", function () {
810 $(document).trigger("select-template");
811 });
812
813 $(document).on("charitableEditorScreenStart", function () {
814 // wait 2 seconds for the fields to load
815 setTimeout(function () {
816 if (Shepherd.activeTour && typeof Shepherd.activeTour.next === 'function') {
817 // Call the next() function if it exists and is a function
818 Shepherd.activeTour.next();
819 } else {
820 // Shepherd.activeTour or Shepherd.activeTour.next is not available.
821 }
822 }, 500);
823 });
824
825 $(document).on("enter-campaign-name", () => {
826 if ( app.isCampaignView() ) {
827 return;
828 }
829 if (name_step.isOpen()) {
830 // Shepherd.activeTour.next();
831 $(".charitable-tour-btn-primary").removeClass(
832 "charitable-tour-btn-disabled",
833 );
834 }
835 });
836
837 $("#charitable_settings_title").on("input", function () {
838 if ( app.isCampaignView() ) {
839 return;
840 }
841 if ($(this).val().length >= 5) {
842 // $( document ).trigger( 'enter-campaign-name' );
843 $(".charitable-tour-btn-primary").removeClass(
844 "charitable-tour-btn-disabled",
845 );
846 } else {
847 $(".charitable-tour-btn-primary").addClass(
848 "charitable-tour-btn-disabled",
849 );
850 }
851 });
852
853 ["complete", "cancel"].forEach((event) =>
854 Shepherd.on(event, () => {
855
856 // Remove any 'charitable-tour-block' elements from the page so the user can click through them.
857 $(".charitable-tour-block").remove();
858
859 // if the tour is completed or cancelled, update the option in the database.
860 var typeData = {
861 status: event === "complete" ? "completed" : "skipped",
862 };
863
864 var data = {
865 type: "tour",
866 optionData: typeData,
867 };
868
869 var ajaxData = {
870 action: "charitable_onboarding_tour_save_option",
871 dataType: "json",
872 data: data,
873 nonce: charitable_admin_builder_onboarding.nonce,
874 };
875
876 $.post(charitable_builder.ajax_url, ajaxData, function (response) {
877 if (response.success) {
878 }
879 })
880 .fail(function (xhr, textStatus, e) {
881 // eslint-disable-line
882
883
884 })
885 .always(function () {});
886 }),
887 );
888 },
889
890 /**
891 * Open the video iframe on the first step.
892 *
893 * @since 1.8.1.15
894 *
895 * @return {void}
896 */
897 openVideo: function () {
898 $("#charitable-tour-video").html(
899 '<iframe width="560" height="315" src="https://www.youtube.com/embed/834h3huzzk8?autoplay=1" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>',
900 );
901 },
902
903 /**
904 * Simulate the dropdown, etc.
905 *
906 * @since 1.8.1.15
907 *
908 * @param {object} e Event object.
909 */
910 gotoDraftPublishStep: function (e) {
911 // eslint-disable-line
912
913 var $dropdown = $("#charitable-status-button");
914
915 $dropdown
916 .parent()
917 .find("ul#charitable-status-dropdown")
918 .removeClass("charitable-hidden");
919 $dropdown.addClass("active");
920 },
921
922 /**
923 * Simulate the dropdown, etc.
924 *
925 * @since 1.8.1.15
926 *
927 * @param {object} e Event object.
928 */
929 undoDraftPublishStep: function (e) {
930 // eslint-disable-line
931
932 var $dropdown = $("#charitable-status-button");
933
934 $dropdown
935 .parent()
936 .find("ul#charitable-status-dropdown")
937 .addClass("charitable-hidden");
938 $dropdown.removeClass("active");
939 },
940
941 /**
942 * Switch panel to settings.
943 *
944 * @since 1.8.1.15
945 *
946 * @param {object} e Event object.
947 */
948 gotoSettingsStep: function (e) {
949 // eslint-disable-line
950
951 CharitableCampaignBuilder.panelSwitch("settings");
952 },
953 };
954
955 // Provide access to public functions/properties.
956 return app;
957 })(document, window, jQuery); // eslint-disable-line
958
959 // Initialize.
960 CharitableTour.init();
961