BVB Source Codes

reactide Show flex-flow.js Source code

Return Download reactide: download flex-flow.js Source code - Download reactide Source code - Type:.js
  1. (function() {
  2.   var Declaration, FlexFlow, flexSpec,
  3.     extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
  4.     hasProp = {}.hasOwnProperty;
  5.  
  6.   flexSpec = require('./flex-spec');
  7.  
  8.   Declaration = require('../declaration');
  9.  
  10.   FlexFlow = (function(superClass) {
  11.     extend(FlexFlow, superClass);
  12.  
  13.     function FlexFlow() {
  14.       return FlexFlow.__super__.constructor.apply(this, arguments);
  15.     }
  16.  
  17.     FlexFlow.names = ['flex-flow', 'box-direction', 'box-orient'];
  18.  
  19.     FlexFlow.prototype.insert = function(decl, prefix, prefixes) {
  20.       var already, cloned, dir, orient, ref, spec, value, values;
  21.       ref = flexSpec(prefix), spec = ref[0], prefix = ref[1];
  22.       if (spec !== 2009) {
  23.         return FlexFlow.__super__.insert.apply(this, arguments);
  24.       } else {
  25.         values = decl.value.split(/\s+/).filter(function(i) {
  26.           return i !== 'wrap' && i !== 'nowrap' && 'wrap-reverse';
  27.         });
  28.         if (values.length === 0) {
  29.           return;
  30.         }
  31.         already = decl.parent.some(function(i) {
  32.           return i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction';
  33.         });
  34.         if (already) {
  35.           return;
  36.         }
  37.         value = values[0];
  38.         orient = value.indexOf('row') !== -1 ? 'horizontal' : 'vertical';
  39.         dir = value.indexOf('reverse') !== -1 ? 'reverse' : 'normal';
  40.         cloned = this.clone(decl);
  41.         cloned.prop = prefix + 'box-orient';
  42.         cloned.value = orient;
  43.         if (this.needCascade(decl)) {
  44.           cloned.raws.before = this.calcBefore(prefixes, decl, prefix);
  45.         }
  46.         decl.parent.insertBefore(decl, cloned);
  47.         cloned = this.clone(decl);
  48.         cloned.prop = prefix + 'box-direction';
  49.         cloned.value = dir;
  50.         if (this.needCascade(decl)) {
  51.           cloned.raws.before = this.calcBefore(prefixes, decl, prefix);
  52.         }
  53.         return decl.parent.insertBefore(decl, cloned);
  54.       }
  55.     };
  56.  
  57.     return FlexFlow;
  58.  
  59.   })(Declaration);
  60.  
  61.   module.exports = FlexFlow;
  62.  
  63. }).call(this);
  64.  
downloadflex-flow.js Source code - Download reactide Source code
Related Source Codes/Software:
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
postal - 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top