vue-poster-editor
Version:
A poster editor based on Vue.js
63 lines (45 loc) • 1.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _jquery = require('jquery');
var _jquery2 = _interopRequireDefault(_jquery);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = {
name: 'writing-mode',
bind: function bind() {
this.element = (0, _jquery2.default)(this.el);
},
update: function update(val) {
var css = {};
var element = this.element;
var name = 'writing-mode';
var setVal = function setVal(val) {
if (val === 'horizontal-tb') {
css['-ms-' + name] = 'lr-tb';
css['-webkit-' + name] = val;
css['-moz-' + name] = val;
}
if (val === 'vertical-rl') {
css['-ms-' + name] = 'tb-rl';
css['-webkit-' + name] = val;
css['-moz-' + name] = val;
}
if (val === 'vertical-lr') {
css['-ms-' + name] = 'tb-lr';
css['-webkit-' + name] = val;
css['-moz-' + name] = val;
}
css[name] = val;
element.css(css);
};
setVal(val);
if (!/^(?:horizontal|vertical)/.test(val) && element[0].style.cssText.indexOf(name) < 0) {
var arr = val.split('-');
val = arr[1].indexOf('r') < 0 ? 'horizontal' : 'vertical';
val += '-' + arr[1];
setVal(val);
}
}
};
module.exports = exports['default'];