expo-22 frontend part ready

remotes/origin/1203
pavel 11 years ago
parent 5fde00f4eb
commit 5bd295a9ea
  1. 16
      templates/client/gulpfile.js
  2. 4
      templates/client/includes/exposition/exposition_object.html
  3. 36
      templates/client/static_client/js/_modules/block.common.js
  4. 18
      templates/client/static_client/js/_modules/page.exposition.object.js
  5. 2
      templates/client/static_client/js_min/_modules/block.common.min.js
  6. 2
      templates/client/static_client/js_min/_modules/page.exposition.object.min.js

@ -3,7 +3,8 @@ var gulp = require('gulp'),
concat = require('gulp-concat'),
rename = require("gulp-rename"),
autoprefixer = require('gulp-autoprefixer'),
cssmin = require('gulp-cssmin');
cssmin = require('gulp-cssmin'),
newer = require('gulp-newer');
gulp.task('make-vendor-js', function () {
gulp.src([
@ -50,6 +51,7 @@ gulp.task('make-vendor-css', function () {
});
gulp.task('main-css', function () {
gulp.src('static_client/css/main.css')
.pipe(newer('static_client/css/'))
.pipe(autoprefixer({
browsers:['> 1%', 'Opera > 11', 'Explorer >= 8', 'Firefox >20', 'Chrome > 20']
}))
@ -61,9 +63,19 @@ gulp.task('main-css', function () {
});
gulp.task('minify-modules', function () {
gulp.src('static_client/js/_modules/*.js')
.pipe(newer('static_client/js_min/_modules'))
.pipe(uglify())
.pipe(rename({extname: ".min.js"}))
.pipe(gulp.dest('static_client/js_min/_modules'))
});
gulp.task('production',['make-vendor-js','make-vendor-css','main-css','minify-modules']);
gulp.task('production',['make-vendor-js','make-vendor-css','main-css','minify-modules']);
gulp.task('watch-js', function () {
gulp.watch("static_client/js/_modules/*.js", ["minify-modules"]);
});
gulp.task('watch-css', function () {
gulp.watch("static_client/css/main.css", ["main-css"]);
});
gulp.task('watch-vorkflow', function () {
gulp.watch(["static_client/css/main.css","static_client/js/_modules/*.js"], ["main-css","minify-modules"]);
});

@ -179,7 +179,7 @@
{% if exposition.web_page %}
<dt>{% trans 'Веб-сайт' %}:</dt>
<dd>
<!--todo:seohide--> <a target="_blank" href="{{ exposition.web_page }}">{{ exposition.web_page }}</a>
<!--todo:seohide--> <a target="_blank" href="#" data-type="href" data-hash="1qwer" data-url="{{ exposition.web_page }}" class="link-encode">{{ exposition.web_page }}</a>
</dd>
{% endif %}
@ -404,6 +404,8 @@
buttonClass:'note-button',
inputClass:'note-text'
},
seoLinksClass : 'link-encode',
dataKey:'data-type',
addCalendarText:"{% trans 'В расписание' %}",
removeCalendarText:"{% trans 'Из расписания' %}"
});

@ -389,7 +389,41 @@ if (EXPO.common){
self.DOM.style.marginLeft = -(self.opt.size[self.id].width/2)+'px';
self.DOM.style.marginTop = -(self.opt.size[self.id].height/2)+'px';
}
}
};
/**
* implementation of well known algorithm SEOhie.js (http://goo.gl/MyuQl9)
* hides external links or text from search engines
* depends on Base64.js (http://goo.gl/iblGuK)
* @public
* @type {{seoContent: {}, seoHrefs: {}, decode: Function}}
* @prop {object} seoContent - hashes to find proper content to hide
* @prop {object} seoHrefs - hashes to find proper links to hide on page
* @method decode - decode bas64-code to html
*/
that.SEOhide = {
seoContent:{},
seoHrefs:{},
/**
* @param dataKey - key to find hashes
*/
decode: function (dataKey) {
var $elements = $('['+dataKey+']');
for(var i = 0, count = $elements.length; i < count; i++) {
var $element = $elements.eq(i);
var key = $element.data("key");
switch($element.data("type")) {
case "href":
$element.attr("href", Base64.decode(this.seoHrefs[key]));
break;
case "content":
$element.replaceWith(Base64.decode(this.seoContent[key]));
break;
}
}
}
};
return that;
}());
}

@ -79,6 +79,24 @@ if (EXPO.exposition.object){
com.opt.addCalendarText = this.opt.addCalendarText;
com.opt.removeCalendarText = this.opt.removeCalendarText;
// seohide
$(function () {
/**
* setup SEOhide params
*/
$('.'+self.opt.seoLinksClass).each(function () {
var hash = $(self).attr('data-hash'),
url = $(self).attr('data-url');
com.SEOhide.seoHrefs[hash] = url;
});
/**
* launch algorithm
*/
com.SEOhide.decode(self.opt.dataKey);
});
};
return that;
}());

File diff suppressed because one or more lines are too long

@ -1 +1 @@
var EXPO=EXPO||{};EXPO.exposition=EXPO.exposition||{},EXPO.exposition.object?console.warn("WARNING: EXPO.exposition.object is already defined!"):EXPO.exposition.object=function(){var t=EXPO.common,n={},o=function(t,n){this.opt=n,this.DOMthis=t,this.DOMbutton=t.querySelector("."+n.buttonClass),this.DOMinput=t.querySelector("."+n.inputClass),this.inputName=this.DOMinput.getAttribute("name"),this.url=this.DOMbutton.getAttribute("href"),this._controller()};return o.prototype={_init:function(){},_controller:function(){var t=this;$(this.DOMinput).on("blur",function(){t.send()}),$(this.DOMbutton).on("click",function(){return!1})},send:function(){var n,o={},e=this,i=function(t){t.success?(console.log("ok"),$(e.DOMbutton).addClass("active")):console.log("data not send")};o[this.inputName]=this.DOMinput.value,n=t.getRequest(o,this.url,i)}},n.opt={},$(function(){}),n.init=function(n){$.extend(this.opt,n);var e=this,i=$(document.getElementById(e.opt.visitButton.visitorsListId)),s=$(document.getElementById(e.opt.visitButton.wrapId));this.notes=[],i.children().length||s.show(),$("."+this.opt.note.wrapClass).each(function(){var t=new o(this,e.opt.note);e.notes.push(t)}),$("."+this.opt.note.wrapDisabledClass).on("click",function(){return $.fancybox.open("#pw-login"),!1}),t.opt.addCalendarText=this.opt.addCalendarText,t.opt.removeCalendarText=this.opt.removeCalendarText},n}();
var EXPO=EXPO||{};EXPO.exposition=EXPO.exposition||{},EXPO.exposition.object?console.warn("WARNING: EXPO.exposition.object is already defined!"):EXPO.exposition.object=function(){var t=EXPO.common,n={},o=function(t,n){this.opt=n,this.DOMthis=t,this.DOMbutton=t.querySelector("."+n.buttonClass),this.DOMinput=t.querySelector("."+n.inputClass),this.inputName=this.DOMinput.getAttribute("name"),this.url=this.DOMbutton.getAttribute("href"),this._controller()};return o.prototype={_init:function(){},_controller:function(){var t=this;$(this.DOMinput).on("blur",function(){t.send()}),$(this.DOMbutton).on("click",function(){return!1})},send:function(){var n,o={},e=this,i=function(t){t.success?(console.log("ok"),$(e.DOMbutton).addClass("active")):console.log("data not send")};o[this.inputName]=this.DOMinput.value,n=t.getRequest(o,this.url,i)}},n.opt={},$(function(){}),n.init=function(n){$.extend(this.opt,n);var e=this,i=$(document.getElementById(e.opt.visitButton.visitorsListId)),s=$(document.getElementById(e.opt.visitButton.wrapId));this.notes=[],i.children().length||s.show(),$("."+this.opt.note.wrapClass).each(function(){var t=new o(this,e.opt.note);e.notes.push(t)}),$("."+this.opt.note.wrapDisabledClass).on("click",function(){return $.fancybox.open("#pw-login"),!1}),t.opt.addCalendarText=this.opt.addCalendarText,t.opt.removeCalendarText=this.opt.removeCalendarText,$(function(){$("."+e.opt.seoLinksClass).each(function(){var n=$(e).attr("data-hash"),o=$(e).attr("data-url");t.SEOhide.seoHrefs[n]=o}),t.SEOhide.decode(e.opt.dataKey)})},n}();
Loading…
Cancel
Save