# yaymail/4.3.3/assets/scripts/wp-editor-plugins/insertdatetime/plugin.min.js

YayMail – WooCommerce Email Customizer, version 4.3.3. 140 lines.

- Page: https://pluginprobe.com/plugins/yaymail/4.3.3/code/assets/scripts/wp-editor-plugins/insertdatetime/plugin.min.js
- Raw: https://pluginprobe.com/plugins/yaymail/4.3.3/raw/assets/scripts/wp-editor-plugins/insertdatetime/plugin.min.js
- Modified: 2026-02-12T15:49:00+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/yaymail/4.3.3/code/assets/scripts/wp-editor-plugins/insertdatetime/plugin.min.js#L10-L20`.

```javascript
!(function () {
  'use strict';
  var r = function (e) {
      var t = e,
        n = function () {
          return t;
        };
      return {
        get: n,
        set: function (e) {
          t = e;
        },
        clone: function () {
          return r(n());
        },
      };
    },
    e = tinymce.util.Tools.resolve('tinymce.PluginManager'),
    n = function (e) {
      return e.getParam('insertdatetime_timeformat', e.translate('%H:%M:%S'));
    },
    a = function (e) {
      return e.getParam('insertdatetime_formats', ['%H:%M:%S', '%Y-%m-%d', '%I:%M:%S %p', '%D']);
    },
    t = function (e) {
      return e.getParam('insertdatetime_dateformat', e.translate('%Y-%m-%d'));
    },
    i = n,
    o = a,
    u = function (e) {
      var t = a(e);
      return 0 < t.length ? t[0] : n(e);
    },
    m = function (e) {
      return e.getParam('insertdatetime_element', !1);
    },
    c = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' '),
    l = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' '),
    s = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' '),
    d =
      'January February March April May June July August September October November December'.split(
        ' ',
      ),
    p = function (e, t) {
      if ((e = '' + e).length < t) for (var n = 0; n < t - e.length; n++) e = '0' + e;
      return e;
    },
    f = function (e, t, n) {
      return (
        (n = n || new Date()),
        (t = (t = (t = (t = (t = (t = (t = (t = (t = (t = (t = (t = (t = (t = (t = (t = t.replace(
          '%D',
          '%m/%d/%Y',
        )).replace('%r', '%I:%M:%S %p')).replace('%Y', '' + n.getFullYear())).replace(
          '%y',
          '' + n.getYear(),
        )).replace('%m', p(n.getMonth() + 1, 2))).replace('%d', p(n.getDate(), 2))).replace(
          '%H',
          '' + p(n.getHours(), 2),
        )).replace('%M', '' + p(n.getMinutes(), 2))).replace(
          '%S',
          '' + p(n.getSeconds(), 2),
        )).replace('%I', '' + (((n.getHours() + 11) % 12) + 1))).replace(
          '%p',
          n.getHours() < 12 ? 'AM' : 'PM',
        )).replace('%B', '' + e.translate(d[n.getMonth()]))).replace(
          '%b',
          '' + e.translate(s[n.getMonth()]),
        )).replace('%A', '' + e.translate(l[n.getDay()]))).replace(
          '%a',
          '' + e.translate(c[n.getDay()]),
        )).replace('%%', '%'))
      );
    },
    g = function (e, t) {
      if (m(e)) {
        var n = f(e, t),
          r = void 0;
        r = /%[HMSIp]/.test(t) ? f(e, '%Y-%m-%dT%H:%M') : f(e, '%Y-%m-%d');
        var a = e.dom.getParent(e.selection.getStart(), 'time');
        a
          ? ((o = a),
            (u = r),
            (c = n),
            (l = (i = e).dom.create('time', { datetime: u }, c)),
            o.parentNode.insertBefore(l, o),
            i.dom.remove(o),
            i.selection.select(l, !0),
            i.selection.collapse(!1))
          : e.insertContent('<time datetime="' + r + '">' + n + '</time>');
      } else e.insertContent(f(e, t));
      var i, o, u, c, l;
    },
    y = f,
    M = function (e) {
      e.addCommand('mceInsertDate', function () {
        g(e, t(e));
      }),
        e.addCommand('mceInsertTime', function () {
          g(e, i(e));
        });
    },
    v = tinymce.util.Tools.resolve('tinymce.util.Tools'),
    S = function (t, n) {
      var r,
        a,
        e,
        i =
          ((a = n),
          (e = o((r = t))),
          v.map(e, function (e) {
            return {
              text: y(r, e),
              onclick: function () {
                a.set(e), g(r, e);
              },
            };
          }));
      t.addButton('insertdatetime', {
        type: 'splitbutton',
        title: 'Insert date/time',
        menu: i,
        onclick: function () {
          var e = n.get();
          g(t, e || u(t));
        },
      }),
        t.addMenuItem('insertdatetime', {
          icon: 'date',
          text: 'Date/time',
          menu: i,
          context: 'insert',
        });
    };
  e.add('insertdatetime', function (e) {
    var t = r(null);
    M(e), S(e, t);
  });
})();

```
