diff --git a/field_timepicker/__manifest__.py b/field_timepicker/__manifest__.py index d96ddf6c7..755aafeec 100644 --- a/field_timepicker/__manifest__.py +++ b/field_timepicker/__manifest__.py @@ -36,8 +36,8 @@ 'depends': ['base'], "assets": { 'web.assets_backend': [ - 'field_timepicker/static/wickedpicker/dist/wickedpicker.min.css', - 'field_timepicker/static/wickedpicker/dist/wickedpicker.min.js', + 'field_timepicker/static/wickedpicker/stylesheets/wickedpicker.css', + 'field_timepicker/static/wickedpicker/src/wickedpicker.js', 'field_timepicker/static/src/js/time_widget.js', ], 'web.assets_qweb': [ diff --git a/field_timepicker/static/src/js/time_widget.js b/field_timepicker/static/src/js/time_widget.js index bab2064a1..757b0cf7f 100644 --- a/field_timepicker/static/src/js/time_widget.js +++ b/field_timepicker/static/src/js/time_widget.js @@ -57,10 +57,12 @@ odoo.define('field_timepicker.timepicker', function(require) { title: 'Timepicker', showSeconds: true, }; + if (global_show_time) { options['now'] = global_show_time; } - $input.wickedpicker(options); + + $input.wickedpicker('open'); } else { Dialog.alert(this, "Timepicker widget only works with 'Char' field type"); return false; diff --git a/field_timepicker/static/wickedpicker/dist/wickedpicker.min.css b/field_timepicker/static/wickedpicker/dist/wickedpicker.min.css deleted file mode 100644 index 6048cb76a..000000000 --- a/field_timepicker/static/wickedpicker/dist/wickedpicker.min.css +++ /dev/null @@ -1 +0,0 @@ -.wickedpicker{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-shadow:0 0 0 1px rgba(14,41,57,.12),0 2px 5px rgba(14,41,57,.44),inset 0 -1px 2px rgba(14,41,57,.15);background:#fefefe;margin:0 auto;border-radius:.1px;width:270px;height:130px;font-size:14px;display:none}.wickedpicker__title{background-image:-webkit-linear-gradient(top,#fff 0,#f2f2f2 100%);position:relative;background:#f2f2f2;margin:0 auto;border-bottom:1px solid #e5e5e5;padding:12px 11px 10px 15px;color:#4C4C4C;font-size:inherit}.wickedpicker__close{-webkit-transform:translateY(-25%);-moz-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);position:absolute;top:25%;right:10px;color:#34495e;cursor:pointer}.wickedpicker__close:before{content:'\00d7'}.wickedpicker__controls{padding:10px 0;line-height:normal;margin:0}.wickedpicker__controls__control,.wickedpicker__controls__control--separator{vertical-align:middle;display:inline-block;font-size:inherit;margin:0 auto;width:35px;letter-spacing:1.3px}.wickedpicker__controls__control-down,.wickedpicker__controls__control-up{color:#34495e;position:relative;display:block;margin:3px auto;font-size:18px;cursor:pointer}.wickedpicker__controls__control-up:before{content:'\e800'}.wickedpicker__controls__control-down:after{content:'\e801'}.wickedpicker__controls__control--separator{width:5px}.text-center,.wickedpicker__controls,.wickedpicker__controls__control,.wickedpicker__controls__control--separator,.wickedpicker__controls__control-down,.wickedpicker__controls__control-up,.wickedpicker__title{text-align:center}.hover-state{color:#3498db}@font-face{font-family:fontello;src:url(../fonts/fontello.eot?52602240);src:url(../fonts/fontello.eot?52602240#iefix) format("embedded-opentype"),url(../fonts/fontello.woff?52602240) format("woff"),url(../fonts/fontello.ttf?52602240) format("truetype"),url(../fonts/fontello.svg?52602240#fontello) format("svg");font-weight:400;font-style:normal}.fontello-after:after,.fontello:before,.wickedpicker__controls__control-down:after,.wickedpicker__controls__control-up:before{font-family:fontello;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} \ No newline at end of file diff --git a/field_timepicker/static/wickedpicker/dist/wickedpicker.min.js b/field_timepicker/static/wickedpicker/dist/wickedpicker.min.js deleted file mode 100644 index 394c14cb0..000000000 --- a/field_timepicker/static/wickedpicker/dist/wickedpicker.min.js +++ /dev/null @@ -1,315 +0,0 @@ -! function($, window, document) { - "use strict"; - - function Wickedpicker(e, t) { - this.element = $(e), this.options = $.extend({}, defaults, t), this.element.addClass("hasWickedpicker"), this.element.attr("onkeypress", "return false;"), this.element.attr("aria-showingpicker", "false"), this.createPicker(), this.timepicker = $(".wickedpicker"), this.up = $("." + this.options.upArrow.split(/\s+/) - .join(".")), this.down = $("." + this.options.downArrow.split(/\s+/) - .join(".")), this.separator = $(".wickedpicker__controls__control--separator"), this.hoursElem = $(".wickedpicker__controls__control--hours"), this.minutesElem = $(".wickedpicker__controls__control--minutes"), this.secondsElem = $(".wickedpicker__controls__control--seconds"), this.meridiemElem = $(".wickedpicker__controls__control--meridiem"), this.close = $("." + this.options.close.split(/\s+/) - .join(".")); - var i = this.timeArrayFromString(this.options.now); - this.options.now = new Date(today.getFullYear(), today.getMonth(), today.getDate(), i[0], i[1], i[2]), this.selectedHour = this.parseHours(this.options.now.getHours()), this.selectedMin = this.parseSecMin(this.options.now.getMinutes()), this.selectedSec = this.parseSecMin(this.options.now.getSeconds()), this.selectedMeridiem = this.parseMeridiem(this.options.now.getHours()), this.setHoverState(), this.attach(e), this.setText(e) - } - "function" != typeof String.prototype.endsWith && (String.prototype.endsWith = function(e) { - return e.length > 0 && this.substring(this.length - e.length, this.length) === e - }); - var isMobile = function() { - return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) - }, - today = new Date, - pluginName = "wickedpicker", - defaults = { - now: today.getHours() + ":" + today.getMinutes(), - twentyFour: !1, - upArrow: "wickedpicker__controls__control-up", - downArrow: "wickedpicker__controls__control-down", - close: "wickedpicker__close", - hoverState: "hover-state", - title: "Timepicker", - showSeconds: !1, - timeSeparator: " : ", - secondsInterval: 1, - minutesInterval: 1, - beforeShow: null, - afterShow: null, - show: null, - clearable: !1, - closeOnClickOutside: !0, - onClickOutside: function() {} - }; - $.extend(Wickedpicker.prototype, { - showPicker: function(e) { - "function" == typeof this.options.beforeShow && this.options.beforeShow(e, this.timepicker); - var t = $(e) - .offset(); - if($(e) - .attr({ - "aria-showingpicker": "true", - tabindex: -1 - }), this.setText(e), this.showHideMeridiemControl(), this.getText(e) !== this.getTime()) { - var i = this.getText(e), - s = /\s[ap]m$/i, - o = s.test(i) ? i.substr(-2, 2) : null, - n = i.replace(s, "") - .split(this.options.timeSeparator), - r = {}; - r.hours = n[0], r.minutes = n[1], r.meridiem = o, this.options.showSeconds && (r.seconds = n[2]), this.setTime(r) - } - this.timepicker.css({ - "z-index": this.element.css("z-index") + 1, - position: "absolute", - left: t.left, - top: t.top + $(e)[0].offsetHeight - }) - .show(), "function" == typeof this.options.show && this.options.show(e, this.timepicker), this.handleTimeAdjustments(e) - }, - hideTimepicker: function(e) { - this.timepicker.hide(), "function" == typeof this.options.afterShow && this.options.afterShow(e, this.timepicker), { - start: function() { - var e = $.Deferred(); - return $('[aria-showingpicker="true"]') - .attr("aria-showingpicker", "false"), e.promise() - } - }.start() - .then(function(e) { - setTimeout(function() { - $('[aria-showingpicker="false"]') - .attr("tabindex", e) - }, 400) - }(0)) - }, - createPicker: function() { - if(0 === $(".wickedpicker") - .length) { - var e = '
' + this.options.title + '