PageSourceSearch

https://childadv.net/_/js/c/1954cd0470921b4ffd134c2f66c684354358bd48.js?_n=m6a8ffa4ba71247.42339223

js childadv.net collected 2026-09-30 05:07:17 UTC 10,336 bytes, 271 lines download raw bytes

1
2/* cached asset-dump98e6a8b281a9cba7430393cd9c2d0c670ee2c0fd: */
3var forge = forge || {};
4forge.blockCallback = function(block, action, callbackFunc) {
5    var obj = {
6        id: block.id,
7        action: action,
8        uri: block.callbackUri + "/" + action,
9        requestPath:  window.location.pathname
10    };
11    return callbackFunc.apply(obj);
12};
13forge.requestData = function(data) {
14    data = data || {};
15    data.userId      = forge.user ? forge.user.id : null;
16    data.pageId      = forge.page ? forge.page.id : null;
17    data.requestPath = window.location.pathname;
18    return data;
19};
20/* cached asset-dump4d17f5359d19239542a417f70a49120bb86c0065: */
21"use strict";
22
23(function () {
24  var __data_block_id = 13565171;
25  var __block_id = "dvsn5";
26  var foundBlockNode = document.getElementsByClassName("f_" + __block_id).length > 0;
27  if (!foundBlockNode) {
28    var templates = document.querySelectorAll('template');
29    for (var i = 0; i < templates.length; i++) {
30      if (templates[i].content.querySelector('.f_' + __block_id)) {
31        foundBlockNode = true;
32        break;
33      }
34    }
35  }
36  if (foundBlockNode) {
37    var ready = function ready(counter) {
38      if (!('__forgePageBlockData' in window) || !(__data_block_id in __forgePageBlockData)) {
39        if (counter == 10) {
40          throw Error("Giving up waiting for block data");
41          return;
42        }
43        return setTimeout(function () {
44          ready(counter + 1);
45        }, 250);
46      }
47      if (typeof __forgePageBlockData[__data_block_id] == 'number') {
48        __forgePageBlockData[__data_block_id] = __forgePageBlockData[__forgePageBlockData[__data_block_id]] || {};
49      }
50      var events = __forgePageBlockData[__data_block_id].events;
51      var selected = __forgePageBlockData[__data_block_id].selected;
52      var year = __forgePageBlockData[__data_block_id].year;
53      var month = __forgePageBlockData[__data_block_id].month;
54      var noEventsLabel = __forgePageBlockData[__data_block_id].noEventsLabel;
55      var showEndDate = __forgePageBlockData[__data_block_id].showEndDate;
56      var _block = __forgePageBlockData[__data_block_id]._block;
57      var _page = __forgePageBlockData[__data_block_id]._page;
58      var _ts = __forgePageBlockData[__data_block_id]._ts;
59      var _elements = __forgePageBlockData[__data_block_id]._elements;
60      var block = {
61        id: "13565171",
62        callbackUri: "/_/b/13565171"
63      };
64      var call = function call(action, callbackFunc) {
65        return forge.blockCallback(block, action, callbackFunc);
66      };
67      var callback = function callback(action, data) {
68        return call(action, function () {
69          data = withData(data || {});
70
71          // check if any of the formData is a File or Blob
72          var isFile = false;
73          for (var key in data) {
74            if (!isFile && data[key]) {
75              var arr = Array.isArray(data[key]) ? data[key] : [data[key]];
76              for (var i = 0; i < arr.length; i++) {
77                if (arr[i] === Object(arr[i]) && (arr[i].constructor == File || arr[i].constructor === Blob)) {
78                  isFile = true;
79                  break;
80                }
81              }
82            }
83          }
84          if (isFile) {
85            var formData = new FormData();
86            for (var key in data) {
87              if (data[key] && (Array.isArray(data[key]) || data[key] === Object(data[key])) && data[key].constructor !== File && data[key].constructor !== Blob) {
88                for (var idx in data[key]) {
89                  formData.append(key + '[' + idx + ']', data[key][idx]);
90                }
91              } else {
92                formData.append(key, data[key]);
93              }
94            }
95            return axios.post(this.uri, formData, {
96              headers: {
97                'Content-Type': 'multipart/form-data',
98                'X-Lazy-Load': 'off'
99              }
100            });
101          } else {
102            return axios.post(this.uri, data, {
103              headers: {
104                'X-Lazy-Load': 'off'
105              }
106            });
107          }
108        });
109      };
110      var withData = function withData(data) {
111        return forge.requestData(data);
112      };
113      dayjs.extend(window.dayjs_plugin_advancedFormat);
114      var MONTH_NAMES = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
115      function parseEvents(events) {
116        var eventsByDate = {};
117        (events || []).forEach(function (event) {
118          var date = event.start.split(' ')[0];
119          var day = Number(date.split('-')[2]);
120          if (!(day in eventsByDate)) {
121            eventsByDate[day] = [];
122          }
123          eventsByDate[day].push(event);
124        });
125        return eventsByDate;
126      }
127      window['calendar' + block.id] = function () {
128        return {
129          MONTH_NAMES: MONTH_NAMES,
130          month: month > 0 ? month - 1 : 11,
131          // month is 0 indexed
132          year: year,
133          get no_of_days() {
134            var daysInMonth = new Date(this.year, this.month + 1, 0).getDate();
135            var daysArray = [];
136            for (var i = 1; i <= daysInMonth; i++) {
137              daysArray.push(i);
138            }
139            return daysArray;
140          },
141          get blankdays() {
142            // find where to start calendar day of week
143            var dayOfWeek = new Date(this.year, this.month).getDay();
144            var blankdays = [];
145            for (var i = 1; i <= dayOfWeek; i++) {
146              blankdays.push(i);
147            }
148            return blankdays;
149          },
150          days: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
151          selected: selected,
152          selectedDate: Number(selected.split('-').pop()),
153          eventsByDate: parseEvents(events),
154          showSlider: true,
155          swiper: null,
156          modalEvent: null,
157          showEndDate: showEndDate ? true : false,
158          setupSlider: function setupSlider() {
159            if (this.swiper) {
160              this.swiper.destroy();
161              this.swiper = null;
162            }
163            if ((this.eventsByDate[this.selectedDate] || []).length > 1) {
164              this.swiper = new Swiper(this.$refs.slider, {
165                slidesPerView: 1,
166                centeredSlides: true,
167                pagination: {
168                  el: this.$refs.pagination
169                },
170                navigation: {
171                  nextEl: this.$refs.next,
172                  prevEl: this.$refs.previous
173                }
174              });
175              this.showSlider = true;
176            } else {
177              this.showSlider = false;
178            }
179          },
180          directions: function directions(event) {
181            var address = encodeURIComponent([event.address.line1, event.address.line2, event.address.city, event.address.state, event.address.zip].join(" "));
182            return "https://www.google.com/maps/dir/".concat(address);
183          },
184          dateString: function dateString(event) {
185            var date = dayjs(event.start, "YYYY-MM-DD HH:mm:ss");
186            return date.format("MMMM Do, YYYY");
187          },
188          timeString: function timeString(event, prefix) {
189            var start = dayjs(event.start, "YYYY-MM-DD HH:mm:ss");
190            var end = dayjs(event.end, "YYYY-MM-DD HH:mm:ss");
191            var parts = [];
192            var startHour = start.hour();
193            var startSuffix = 'AM';
194            var startMinute = start.format("mm");
195            if (startHour > 12) {
196              startHour -= 12;
197              startSuffix = 'PM';
198            } else if (startHour == 12) {
199              startSuffix = 'PM';
200            }
201            var endHour = end.hour();
202            var endSuffix = 'AM';
203            var endMinute = end.format("mm");
204            if (endHour > 12) {
205              endHour -= 12;
206              endSuffix = 'PM';
207            } else if (endHour == 12) {
208              endSuffix = 'PM';
209            }
210            if (startMinute == 0) {
211              parts.push("<span class='text-xl font-bold'>".concat(startHour, "</span>").concat(startSuffix));
212            } else {
213              parts.push("<span class='text-xl font-bold'>".concat(startHour, ":").concat(startMinute, "</span>").concat(startSuffix));
214            }
215            if (this.showEndDate) {
216              if (endMinute == 0) {
217                parts.push("<span class='text-xl font-bold'>".concat(endHour, "</span>").concat(endSuffix));
218              } else {
219                parts.push("<span class='text-xl font-bold'>".concat(endHour, ":").concat(endMinute, "</span>").concat(endSuffix));
220              }
221            }
222            return (prefix ? "".concat(prefix, " ") : '') + parts.join(" &mdash; ");
223          },
224          select: function select(date) {
225            var _this = this;
226            this.selectedDate = date;
227            this.selected = dayjs(new Date(this.year, this.month, date)).format('YYYY-MM-DD');
228            this.$nextTick(function () {
229              return _this.setupSlider();
230            });
231          },
232          isSelected: function isSelected(date) {
233            return dayjs(new Date(this.year, this.month, date)).format('YYYY-MM-DD') === this.selected;
234          },
235          prevMonth: function prevMonth() {
236            this.month--;
237            if (this.month < 0) {
238              this.month = 11;
239              this.year = Number(this.year) - 1;
240            }
241            this.loadEvents();
242            this.selectedDate = null;
243            this.selected = null;
244          },
245          nextMonth: function nextMonth() {
246            this.month++;
247            if (this.month > 11) {
248              this.month = 0;
249              this.year = Number(this.year) + 1;
250            }
251            this.loadEvents();
252            this.selectedDate = null;
253            this.selected = null;
254          },
255          loadEvents: function loadEvents() {
256            var _this2 = this;
257            this.eventsByDate = {};
258            this.events = [];
259            callback("events", {
260              month: this.month + 1,
261              year: this.year
262            }).then(function (result) {
263              _this2.eventsByDate = parseEvents(result.data.events);
264            });
265          }
266        };
267      };
268    };
269    ready(0);
270  }
271})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.