summaryrefslogtreecommitdiff
path: root/addons/website/static/src
diff options
context:
space:
mode:
authorqsm-odoo <qsm@odoo.com>2017-11-07 15:22:43 +0100
committerqsm-odoo <qsm@odoo.com>2017-11-09 09:49:45 +0100
commit938fca4de1ee80d5a77428caebcacf70f559a4d8 (patch)
treebd5aace73b7edff61a6a3c8ff0f3d3b9dcb4c9d5 /addons/website/static/src
parent0a31cb9b4ae461119ecafdd05c5b979621ffb039 (diff)
[REF] website: clean and lint content.js file
Diffstat (limited to 'addons/website/static/src')
-rw-r--r--addons/website/static/src/js/menu/content.js207
-rw-r--r--addons/website/static/src/xml/website.pageProperties.xml2
2 files changed, 109 insertions, 100 deletions
diff --git a/addons/website/static/src/js/menu/content.js b/addons/website/static/src/js/menu/content.js
index ccba660466f..974cf941824 100644
--- a/addons/website/static/src/js/menu/content.js
+++ b/addons/website/static/src/js/menu/content.js
@@ -30,22 +30,30 @@ var PagePropertiesDialog = widget.Dialog.extend({
*/
init: function (parent, page_id, options) {
var self = this;
- var serverUrl = window.location.origin + "/";
+ var serverUrl = window.location.origin + '/';
var length_url = serverUrl.length;
var serverUrlTrunc = serverUrl;
- if(length_url > 30)
+ if (length_url > 30) {
serverUrlTrunc = serverUrl.slice(0,14) + '..' + serverUrl.slice(-14);
+ }
this.serverUrl = serverUrl;
this.serverUrlTrunc = serverUrlTrunc;
this.current_page_url = window.location.pathname;
this.page_id = page_id;
var buttons = [
- {text: _t("Save"), classes: "btn-primary o_save_button", click: self.save},
+ {text: _t("Save"), classes: 'btn-primary o_save_button', click: this.save},
{text: _t("Discard"), close: true},
];
if (options.fromPageManagement) {
- buttons.push({text: _t("Go To Page"), icon: "fa-globe", classes: "btn-link pull-right", click: function(e){window.location.href = self.page.url;}});
+ buttons.push({
+ text: _t("Go To Page"),
+ icon: 'fa-globe',
+ classes: 'btn-link pull-right',
+ click: function (e) {
+ window.location.href = self.page.url;
+ },
+ });
}
this._super(parent, _.extend({}, {
title: _t("Page Properties"),
@@ -64,10 +72,8 @@ var PagePropertiesDialog = widget.Dialog.extend({
defs.push(this._rpc({
model: 'website.page',
method: 'get_page_info',
- args: [self.page_id,context.website_id],
- kwargs: {
- context: context
- },
+ args: [this.page_id, context.website_id],
+ context: context,
}).then(function (page) {
page[0].url = page[0].url.startsWith('/') ? page[0].url.substring(1) : page[0].url;
self.page = page[0];
@@ -85,79 +91,82 @@ var PagePropertiesDialog = widget.Dialog.extend({
/**
* @override
*/
- start: function() {
+ start: function () {
var self = this;
var context = weContext.get();
- this.$(".ask_for_redirect").hide();
- this.$(".redirect_type").hide();
- this.$(".warn_about_call").hide();
+ var defs = [this._super.apply(this, arguments)];
+
+ this.$('.ask_for_redirect').addClass('hidden');
+ this.$('.redirect_type').addClass('hidden');
+ this.$('.warn_about_call').addClass('hidden');
- this._getPageDependencies(self.page_id, context)
+ defs.push(this._getPageDependencies(this.page_id, context)
.then(function (dependencies) {
var dep_text = [];
- _.each(dependencies, function(value, index){
+ _.each(dependencies, function (value, index) {
if (value.length > 0) {
dep_text.push(value.length + ' ' + index.toLowerCase());
}
});
dep_text = dep_text.join(', ');
- $('#dependencies_redirect').html(qweb.render('website.show_page_dependencies', { dependencies: dependencies, dep_text: dep_text }));
- $('#dependencies_redirect [data-toggle="popover"]').popover({
- container: 'body'
+ self.$('#dependencies_redirect').html(qweb.render('website.show_page_dependencies', { dependencies: dependencies, dep_text: dep_text }));
+ self.$('#dependencies_redirect [data-toggle="popover"]').popover({
+ container: 'body',
});
- });
- this._getSupportedMimetype(context)
+ }));
+
+ defs.push(this._getSupportedMimetype(context)
.then(function (mimetypes) {
self.supportedMimetype = mimetypes;
- });
- this._getPageKeyDependencies(self.page_id, context)
+ }));
+
+ defs.push(this._getPageKeyDependencies(this.page_id, context)
.then(function (dependencies) {
var dep_text = [];
- _.each(dependencies, function(value, index){
+ _.each(dependencies, function (value, index) {
if (value.length > 0) {
dep_text.push(value.length + ' ' + index.toLowerCase());
}
});
dep_text = dep_text.join(', ');
- $('.warn_about_call').html(qweb.render('website.show_page_key_dependencies', { dependencies: dependencies, dep_text: dep_text }));
- $('.warn_about_call [data-toggle="popover"]').popover({
- container: 'body'
+ self.$('.warn_about_call').html(qweb.render('website.show_page_key_dependencies', {dependencies: dependencies, dep_text: dep_text}));
+ self.$('.warn_about_call [data-toggle="popover"]').popover({
+ container: 'body',
});
- });
+ }));
var l10n = _t.database.parameters;
var datepickersOptions = {
- minDate: moment({ y: 1900 }),
- maxDate: moment().add(200, "y"),
- calendarWeeks: true,
- icons : {
- time: 'fa fa-clock-o',
- date: 'fa fa-calendar',
- next: 'fa fa-chevron-right',
- previous: 'fa fa-chevron-left',
- up: 'fa fa-chevron-up',
- down: 'fa fa-chevron-down',
- },
- locale : moment.locale(),
- format : time.strftime_to_moment_format(l10n.date_format +' '+ l10n.time_format),
- widgetPositioning : {
- horizontal: 'auto',
- vertical: 'top',
- },
- };
- if (self.page.date_publish) {
- datepickersOptions.defaultDate = self.page.date_publish;
- }
-
- this.$("#date_publish_container").datetimepicker(datepickersOptions);
-
- return this._super.apply(this, arguments);
+ minDate: moment({y: 1900}),
+ maxDate: moment().add(200, 'y'),
+ calendarWeeks: true,
+ icons : {
+ time: 'fa fa-clock-o',
+ date: 'fa fa-calendar',
+ next: 'fa fa-chevron-right',
+ previous: 'fa fa-chevron-left',
+ up: 'fa fa-chevron-up',
+ down: 'fa fa-chevron-down',
+ },
+ locale : moment.locale(),
+ format : time.strftime_to_moment_format(l10n.date_format +' '+ l10n.time_format),
+ widgetPositioning : {
+ horizontal: 'auto',
+ vertical: 'top',
+ },
+ };
+ if (this.page.date_publish) {
+ datepickersOptions.defaultDate = this.page.date_publish;
+ }
+ this.$('#date_publish_container').datetimepicker(datepickersOptions);
+
+ return $.when.apply($, defs);
},
/**
* @override
*/
- destroy: function(){
+ destroy: function () {
$('.popover').popover('hide');
return this._super.apply(this, arguments);
},
@@ -169,41 +178,41 @@ var PagePropertiesDialog = widget.Dialog.extend({
/**
* @override
*/
- save: function(data){
+ save: function (data) {
var self = this;
var context = weContext.get();
- var url = $(".o_page_management_info #page_url").val();
+ var url = this.$('#page_url').val();
- var date_publish = $(".o_page_management_info #date_publish").val();
- if (date_publish != "") {
+ var date_publish = this.$('#date_publish').val();
+ if (date_publish !== '') {
date_publish = time.datetime_to_str(new Date(date_publish));
}
var params = {
- id: self.page.id,
- name: $(".o_page_management_info #page_name").val(),
- //replace duplicate following "/" by only one "/"
- url: url.replace(/\/{2,}/g,"/"),
- is_menu: $(".o_page_management_info #is_menu").prop('checked'),
- is_homepage: $(".o_page_management_info #is_homepage").prop('checked'),
- website_published: $(".o_page_management_info #is_published").prop('checked'),
- create_redirect: $(".o_page_management_info #create_redirect").prop('checked'),
- redirect_type: $(".o_page_management_info #redirect_type").val(),
- website_indexed: $(".o_page_management_info #is_indexed").prop('checked'),
+ id: this.page.id,
+ name: this.$('#page_name').val(),
+ // Replace duplicate following '/' by only one '/'
+ url: url.replace(/\/{2,}/g, '/'),
+ is_menu: this.$('#is_menu').prop('checked'),
+ is_homepage: this.$('#is_homepage').prop('checked'),
+ website_published: this.$('#is_published').prop('checked'),
+ create_redirect: this.$('#create_redirect').prop('checked'),
+ redirect_type: this.$('#redirect_type').val(),
+ website_indexed: this.$('#is_indexed').prop('checked'),
date_publish: date_publish,
};
- self._rpc({
+ this._rpc({
model: 'website.page',
method: 'save_page_info',
args: [[context.website_id], params],
- kwargs: {
- context: context
- },
+ context: context,
}).then(function () {
- // If from page manager: reload url, if from page itself: go to (possibly) new url
- if (self._getMainObject().model == 'website.page')
+ // If from page manager: reload url, if from page itself: go to
+ // (possibly) new url
+ if (self._getMainObject().model === 'website.page') {
window.location.href = url.toLowerCase();
- else
+ } else {
window.location.reload(true);
+ }
});
},
@@ -276,37 +285,32 @@ var PagePropertiesDialog = widget.Dialog.extend({
// Handlers
//--------------------------------------------------------------------------
+ /**
+ * @private
+ */
_onUrlChanged: function () {
var url = this.$('input#page_url').val();
- if (url != this.page.url) {
- this.$(".ask_for_redirect").show();
- }
- else {
- this.$(".ask_for_redirect").hide();
- }
+ this.$('.ask_for_redirect').toggleClass('hidden', url === this.page.url);
},
+ /**
+ * @private
+ */
_onNameChanged: function () {
var name = this.$('input#page_name').val();
- //If the file type is a supported mimetype, check if it is t-called. If so, warn user
- //Note: different from page_search_dependencies which check only for url and not key
+ // If the file type is a supported mimetype, check if it is t-called.
+ // If so, warn user. Note: different from page_search_dependencies which
+ // check only for url and not key
var ext = '.' + this.page.name.split('.').pop();
- if(ext in this.supportedMimetype && ext != '.html'){
- if (name != this.page.name) {
- this.$(".warn_about_call").show();
- }
- else {
- this.$(".warn_about_call").hide();
- }
+ if (ext in this.supportedMimetype && ext !== '.html') {
+ this.$('.warn_about_call').toggleClass('hidden', name === this.page.name);
}
},
+ /**
+ * @private
+ */
_onCreateRedirectChanged: function () {
- var createRedirect = this.$('input#create_redirect').prop('checked');
- if (createRedirect) {
- this.$(".redirect_type").show();
- }
- else {
- this.$(".redirect_type").hide();
- }
+ var createRedirect = this.$('input#create_redirect').prop('checked');
+ this.$('.redirect_type').toggleClass('hidden', !createRedirect);
},
});
@@ -666,11 +670,16 @@ var ContentMenu = websiteNavbarData.WebsiteNavbarActionWidget.extend({
return def;
},
+ /**
+ * Opens the page properties dialog.
+ *
+ * @private
+ * @returns {Deferred}
+ */
_pageProperties: function () {
- var self = this;
- var moID = self._getMainObject().id;
- var dialog = new PagePropertiesDialog(self,moID,{}).open();
- return dialog;
+ var moID = this._getMainObject().id;
+ var dialog = new PagePropertiesDialog(this, moID, {}).open();
+ return dialog.opened();
},
});
diff --git a/addons/website/static/src/xml/website.pageProperties.xml b/addons/website/static/src/xml/website.pageProperties.xml
index 3746e294b0d..33ff810ec12 100644
--- a/addons/website/static/src/xml/website.pageProperties.xml
+++ b/addons/website/static/src/xml/website.pageProperties.xml
@@ -53,7 +53,7 @@
<label class="control-label col-sm-3" for="page_url">Page URL</label>
<div class="col-sm-9">
<div class="input-group">
- <span class="input-group-addon" t-att-title="widget.serverUrl"><small><t t-esc="widget.serverUrlTrunc" /></small></span>
+ <span class="input-group-addon" t-att-title="widget.serverUrl"><small><t t-esc="widget.serverUrlTrunc"/></small></span>
<input type="text" class="form-control input-sm" id="page_url" t-att-value="widget.page.url" />
</div>
</div>