Excursiopedia Widgets API
===
Excuriopedia widgets are iFrame based widgets with built in real-time customization system in "debug" mode.
| (function() { | |
| arrayMath = function(input, subject) { | |
| var array, bin, c, count, counter, d, | |
| fx, i, index, item, like, match, | |
| output, reverse, sample, v, zip, _i, _len; | |
| array = []; | |
| for (_i = 0, _len = input.length; _i < _len; _i++) { // # Очищаем входящий массив | |
| item = input[_i]; | |
| if (item < subject && isFinite(item)) { |
| "use strict" | |
| LIVERELOAD_PORT = 35729 | |
| lrSnippet = require("connect-livereload")(port: LIVERELOAD_PORT) | |
| proxySnippet = require('grunt-connect-proxy/lib/utils').proxyRequest | |
| mountFolder = (connect, dir) -> connect.static require("path").resolve(dir) | |
| module.exports = (grunt) -> | |
| # load all grunt tasks |
| require('currentscript') | |
| var EX = function(config){ | |
| this.config = this.prepareConfig(config); | |
| this.cache_bust = 1; | |
| this.iframe = this.create(this.config); | |
| this.subscribe(config.debug ? true : false); | |
| /** |
| import React from 'react'; | |
| import isArray from 'is-array'; | |
| import { Route, IndexRoute } from 'react-router'; | |
| import wrapComponent from './wrapComponent.js'; | |
| import PricingItem from '../components/PricingItem/'; | |
| class PlainRoute { | |
| path = void 0; | |
| childrens = null; | |
| parent = void 0; |
| import { Component, PropTypes } from 'react'; | |
| import { connect } from 'react-redux'; | |
| import { browserHistory, Link } from 'react-router'; | |
| import cx from 'classnames'; | |
| import * as actions from 'modules/users'; | |
| import styles from './styles.css'; | |
| import { autobind } from 'core-decorators'; | |
| import { asyncConnect } from 'redux-async-connect'; | |
| @asyncConnect([{ |
| { | |
| name: 'demo_front', | |
| target: 'web', | |
| node: { | |
| fs: 'empty' | |
| }, | |
| output: { | |
| publicPath: '/', | |
| filename: '[name].js', | |
| chunkFilename: 'chunk.[name].js', |
| import { batchActions } from 'redux-batched-actions'; | |
| /** | |
| * Create a function which will handle error in request | |
| * and dispatch rest actions on success. | |
| * You can also use .then(data => ...) to do something on sucess | |
| * | |
| * @param Promised action | |
| * @param ... other actions |
| import { createReducer } from 'redux-act'; | |
| import isFunction from 'lodash/isFunction'; | |
| import isString from 'lodash/isString'; | |
| import isEmpty from 'lodash/isEmpty'; | |
| import withMessage from './withMessage'; | |
| import { connect } from 'react-redux'; | |
| import compose from 'recompose/compose'; | |
| import createEagerFactory from 'recompose/createEagerFactory'; | |
| import { asyncConnect } from 'redux-async-connect'; | |
| import { createSelector, createStructuredSelector } from 'reselect'; |
| import { Route } from 'react-router'; | |
| import isUndefined from 'lodash/isundefined'; | |
| import every from 'lodash/every'; | |
| import some from 'lodash/some'; | |
| const hasFeatures = (features, exposes) => | |
| isUndefined(exposes) || every(exposes, feature => features.includes(feature)); | |
| const hasAccess = ({ accesses }, mandatory, optional) => |