mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	manual fix lint errors
This commit is contained in:
		
							parent
							
								
									61532301fb
								
							
						
					
					
						commit
						acc46c6221
					
				@ -11,7 +11,7 @@ const path = require('path');
 | 
			
		||||
 | 
			
		||||
module.exports = function(config) {
 | 
			
		||||
    const app = express();
 | 
			
		||||
    const router = express.Router();
 | 
			
		||||
    const router = express.Router(); // eslint-disable-line new-cap
 | 
			
		||||
    const baseUriPath  = config.baseUriPath || '';
 | 
			
		||||
    const publicFolder = config.publicFolder;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,7 @@ module.exports = function(db) {
 | 
			
		||||
        return db
 | 
			
		||||
        .select(EVENT_COLUMNS)
 | 
			
		||||
        .from('events')
 | 
			
		||||
        .whereRaw('data ->> \'name\' = ?', [name])
 | 
			
		||||
        .whereRaw('data ->> "name" = ?', [name])
 | 
			
		||||
        .orderBy('created_at', 'desc')
 | 
			
		||||
        .map(rowToEvent);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -19,9 +19,8 @@ function baseTypeFor(event) {
 | 
			
		||||
        return 'features';
 | 
			
		||||
    } else if (strategyTypes.indexOf(event.type) !== -1) {
 | 
			
		||||
        return 'strategies';
 | 
			
		||||
    } else {
 | 
			
		||||
        throw new Error(`unknown event type: ${JSON.stringify(event)}`);
 | 
			
		||||
    }
 | 
			
		||||
    throw new Error(`unknown event type: ${JSON.stringify(event)}`);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function groupByBaseTypeAndName(events) {
 | 
			
		||||
@ -46,14 +45,14 @@ function eachConsecutiveEvent(events, callback) {
 | 
			
		||||
        const group = groups[baseType];
 | 
			
		||||
 | 
			
		||||
        Object.keys(group).forEach(name => {
 | 
			
		||||
            const events = group[name];
 | 
			
		||||
            const currentEvents = group[name];
 | 
			
		||||
            let left;
 | 
			
		||||
            let right;
 | 
			
		||||
            let i;
 | 
			
		||||
            let l;
 | 
			
		||||
            for (i = 0, l = events.length; i < l; i++) {
 | 
			
		||||
                left  = events[i];
 | 
			
		||||
                right = events[i + 1];
 | 
			
		||||
            for (i = 0, l = currentEvents.length; i < l; i++) {
 | 
			
		||||
                left  = currentEvents[i];
 | 
			
		||||
                right = currentEvents[i + 1];
 | 
			
		||||
 | 
			
		||||
                callback(left, right);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@ -9,9 +9,8 @@ function EventStore(eventDb) {
 | 
			
		||||
util.inherits(EventStore, EventEmitter);
 | 
			
		||||
 | 
			
		||||
EventStore.prototype.create = function (event) {
 | 
			
		||||
    const that = this;
 | 
			
		||||
    return this.eventDb.store(event).then(() => {
 | 
			
		||||
        that.emit(event.type, event);
 | 
			
		||||
        this.emit(event.type, event);
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -3,8 +3,8 @@ const fs   = require('fs');
 | 
			
		||||
const util = require('util');
 | 
			
		||||
const path = require('path');
 | 
			
		||||
 | 
			
		||||
const runMigration = function(path, db, callback) {
 | 
			
		||||
    db.runSql(fs.readFileSync(path, { encoding: 'utf8' }), callback);
 | 
			
		||||
const runMigration = function(migrationPath, db, callback) {
 | 
			
		||||
    db.runSql(fs.readFileSync(migrationPath, { encoding: 'utf8' }), callback);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
 | 
			
		||||
@ -8,10 +8,9 @@ const FeatureList     = require('../../../components/feature/FeatureList');
 | 
			
		||||
 | 
			
		||||
describe('FeatureList', () => {
 | 
			
		||||
    let Component;
 | 
			
		||||
    let features;
 | 
			
		||||
 | 
			
		||||
    beforeEach(() => {
 | 
			
		||||
        features = [
 | 
			
		||||
        const features = [
 | 
			
		||||
            { name: 'featureX', strategy: 'other' },
 | 
			
		||||
            { name: 'group.featureY', strategy: 'default' },
 | 
			
		||||
        ];
 | 
			
		||||
@ -26,25 +25,25 @@ describe('FeatureList', () => {
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    it('should render all features', () => {
 | 
			
		||||
        const features = Component.getDOMNode().querySelectorAll('.feature');
 | 
			
		||||
        expect(features.length).toEqual(2);
 | 
			
		||||
        const featuresElement = Component.getDOMNode().querySelectorAll('.feature');
 | 
			
		||||
        expect(featuresElement.length).toEqual(2);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    it('should filter list of features', () => {
 | 
			
		||||
        const filterNode = Component.refs.filter.getDOMNode();
 | 
			
		||||
        TestUtils.Simulate.change(filterNode, { target: { value: 'group' } });
 | 
			
		||||
 | 
			
		||||
        const features = Component.getDOMNode().querySelectorAll('.feature');
 | 
			
		||||
        expect(features.length).toEqual(1);
 | 
			
		||||
        const featuresElement = Component.getDOMNode().querySelectorAll('.feature');
 | 
			
		||||
        expect(featuresElement.length).toEqual(1);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    it('should filter list of features ignoring case', () => {
 | 
			
		||||
        const filterNode = Component.refs.filter.getDOMNode();
 | 
			
		||||
        TestUtils.Simulate.change(filterNode, { target: { value: 'GROUP' } });
 | 
			
		||||
 | 
			
		||||
        const features = Component.getDOMNode().querySelectorAll('.feature');
 | 
			
		||||
        expect(features.length).toEqual(1);
 | 
			
		||||
        expect(features[0].textContent).toMatch('group');
 | 
			
		||||
        const featuresElement = Component.getDOMNode().querySelectorAll('.feature');
 | 
			
		||||
        expect(featuresElement.length).toEqual(1);
 | 
			
		||||
        expect(featuresElement[0].textContent).toMatch('group');
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    it('should filter list of features by strategy name', () => {
 | 
			
		||||
@ -52,8 +51,8 @@ describe('FeatureList', () => {
 | 
			
		||||
        const filterNode = Component.refs.filter.getDOMNode();
 | 
			
		||||
        TestUtils.Simulate.change(filterNode, { target: { value: searchString } });
 | 
			
		||||
 | 
			
		||||
        const features = Component.getDOMNode().querySelectorAll('.feature');
 | 
			
		||||
        expect(features.length).toEqual(1);
 | 
			
		||||
        expect(features[0].textContent).toMatch(searchString);
 | 
			
		||||
        const featuresElement = Component.getDOMNode().querySelectorAll('.feature');
 | 
			
		||||
        expect(featuresElement.length).toEqual(1);
 | 
			
		||||
        expect(featuresElement[0].textContent).toMatch(searchString);
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -31,7 +31,7 @@ const ErrorMessages = React.createClass({
 | 
			
		||||
 | 
			
		||||
    render() {
 | 
			
		||||
        return (
 | 
			
		||||
            <Ui errors={this.state.errors} onClearErrors={this.onClearErrors}></Ui>
 | 
			
		||||
        <Ui errors={this.state.errors} onClearErrors={this.onClearErrors} />
 | 
			
		||||
        );
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -3,59 +3,60 @@ const React = require('react');
 | 
			
		||||
const User = require('./User');
 | 
			
		||||
 | 
			
		||||
const Menu = React.createClass({
 | 
			
		||||
    render() { return (
 | 
			
		||||
<div className="topbar mbl">
 | 
			
		||||
<div className="container">
 | 
			
		||||
  <div className="page">
 | 
			
		||||
    <div className="fright-ht768">
 | 
			
		||||
      <User />
 | 
			
		||||
    </div>
 | 
			
		||||
    <div className="nav-level1 h4">
 | 
			
		||||
      <a href="#" className="homelink pln">
 | 
			
		||||
        <span className="topbar-nav-svg-home">
 | 
			
		||||
          <img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53M
 | 
			
		||||
                    y5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MjcuNDExIiBoZWlnaHQ9IjE2OS4z
 | 
			
		||||
                    OTgiIHZpZXdCb3g9IjAgMCA1MjcuNDExIDE2OS4zOTgiPjxwYXRoIGZpbGw
 | 
			
		||||
                    9IiNmZmYiIGQ9Ik00NjguNTA3IDBoLTI1Ni4xODdjLTIxLjcwNyAwLTQwLj
 | 
			
		||||
                    Y5NSAxMS44MTItNTAuOTEyIDI5LjMzNy0xMC4yMTYtMTcuNTI1LTI5LjIwN
 | 
			
		||||
                    C0yOS4zMzctNTAuOTExLTI5LjMzN2gtNTEuNTk1Yy0zMi40NzkgMC01OC45
 | 
			
		||||
                    MDIgMjYuNDI1LTU4LjkwMiA1OC45MDV2NTEuNTg3YzAgMzIuNDgxIDI2LjQ
 | 
			
		||||
                    yMyA1OC45MDYgNTguOTAyIDU4LjkwNmg0MDkuNjA1YzMyLjQ3OSAwIDU4Lj
 | 
			
		||||
                    kwMy0yNi40MjUgNTguOTAzLTU4LjkwNnYtNTEuNTg3Yy4wMDEtMzIuNDgtM
 | 
			
		||||
                    jYuNDIzLTU4LjkwNS01OC45MDMtNTguOTA1eiIvPjxwYXRoIGZpbGw9IiMw
 | 
			
		||||
                    OWYiIGQ9Ik00NjguNTA3IDE1My4zODNjMjMuNjg3IDAgNDIuODg4LTE5LjE
 | 
			
		||||
                    5OSA0Mi44ODgtNDIuODl2LTUxLjU4OGMwLTIzLjY5MS0xOS4yMDEtNDIuOD
 | 
			
		||||
                    ktNDIuODg4LTQyLjg5aC0yNTYuMTg3Yy0yMy42ODYgMC00Mi44ODcgMTkuM
 | 
			
		||||
                    Tk4LTQyLjg4NyA0Mi44OXY5NC40NzhoMjk5LjA3NHoiLz48cGF0aCBmaWxs
 | 
			
		||||
                    PSIjMDA2IiBkPSJNMTUzLjM4NCAxNTMuMzgzdi05NC40NzhjMC0yMy42OTE
 | 
			
		||||
                    tMTkuMjAxLTQyLjg5LTQyLjg4Ny00Mi44OWgtNTEuNTk1Yy0yMy42ODYgMC
 | 
			
		||||
                    00Mi44ODcgMTkuMTk4LTQyLjg4NyA0Mi44OXY1MS41ODdjMCAyMy42OTEgM
 | 
			
		||||
                    TkuMjAxIDQyLjg5IDQyLjg4NyA0Mi44OWg5NC40ODJ6Ii8%2BPHJlY3QgeD
 | 
			
		||||
                    0iMzIwLjE1NiIgeT0iNzUuMjc1IiBmaWxsPSIjZmZmIiB3aWR0aD0iMTkuN
 | 
			
		||||
                    jIxIiBoZWlnaHQ9IjUzLjIxMSIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0y
 | 
			
		||||
                    NjIuOTEyIDg2LjI4MWMwLTUuNTI5IDMuODEzLTExLjAwNiAxMy4wNjktMTE
 | 
			
		||||
                    uMDA2aDI4LjQyMXYxNS42MTNoLTE4LjYxMmMtMi40OTggMC0zLjI1NS45OT
 | 
			
		||||
                    ItMy4yNTUgMi42NjR2Ny40NzJoMjEuODY3djE1LjYxaC0yMS44Njd2MTEuO
 | 
			
		||||
                    DUyaC0xOS42MjN2LTQyLjIwNXpNMzc1LjE2NSA5MS4wOTloMTAuMzk5YzIu
 | 
			
		||||
                    NDA5IDAgMy4yNDYuODMyIDMuMjQ2IDMuMjM1bC0uMDA4IDM0LjE1MmgxOS4
 | 
			
		||||
                    2MzJ2LTQxLjk5NmMwLTUuNTI3LTMuODE1LTExLjAwNC0xMy4wNjktMTEuMD
 | 
			
		||||
                    A0aC0zOS44MjRsLS4wMSA1M2gxOS42MzR2LTM3LjM4N3pNNDQyLjcxOSA5M
 | 
			
		||||
                    S4wOTloMTAuNGMyLjQwOCAwIDMuMjQ1LjgzMiAzLjI0NSAzLjIzNWwtLjAw
 | 
			
		||||
                    OSAzNC4xNTJoMTkuNjM0di00MS45OTZjMC01LjUyNy0zLjgxNS0xMS4wMDQ
 | 
			
		||||
                    tMTMuMDctMTEuMDA0aC0zOS44MjNsLS4wMSA1M2gxOS42MzN2LTM3LjM4N3
 | 
			
		||||
                    oiLz48L3N2Zz4%3D" width="106" height="34" />
 | 
			
		||||
        </span>
 | 
			
		||||
    render() {
 | 
			
		||||
        return (
 | 
			
		||||
            <div className="topbar mbl">
 | 
			
		||||
            <div className="container">
 | 
			
		||||
            <div className="page">
 | 
			
		||||
                <div className="fright-ht768">
 | 
			
		||||
                <User />
 | 
			
		||||
                </div>
 | 
			
		||||
                <div className="nav-level1 h4">
 | 
			
		||||
                <a href="#" className="homelink pln">
 | 
			
		||||
                    <span className="topbar-nav-svg-home">
 | 
			
		||||
                    <img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53M
 | 
			
		||||
                                y5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MjcuNDExIiBoZWlnaHQ9IjE2OS4z
 | 
			
		||||
                                OTgiIHZpZXdCb3g9IjAgMCA1MjcuNDExIDE2OS4zOTgiPjxwYXRoIGZpbGw
 | 
			
		||||
                                9IiNmZmYiIGQ9Ik00NjguNTA3IDBoLTI1Ni4xODdjLTIxLjcwNyAwLTQwLj
 | 
			
		||||
                                Y5NSAxMS44MTItNTAuOTEyIDI5LjMzNy0xMC4yMTYtMTcuNTI1LTI5LjIwN
 | 
			
		||||
                                C0yOS4zMzctNTAuOTExLTI5LjMzN2gtNTEuNTk1Yy0zMi40NzkgMC01OC45
 | 
			
		||||
                                MDIgMjYuNDI1LTU4LjkwMiA1OC45MDV2NTEuNTg3YzAgMzIuNDgxIDI2LjQ
 | 
			
		||||
                                yMyA1OC45MDYgNTguOTAyIDU4LjkwNmg0MDkuNjA1YzMyLjQ3OSAwIDU4Lj
 | 
			
		||||
                                kwMy0yNi40MjUgNTguOTAzLTU4LjkwNnYtNTEuNTg3Yy4wMDEtMzIuNDgtM
 | 
			
		||||
                                jYuNDIzLTU4LjkwNS01OC45MDMtNTguOTA1eiIvPjxwYXRoIGZpbGw9IiMw
 | 
			
		||||
                                OWYiIGQ9Ik00NjguNTA3IDE1My4zODNjMjMuNjg3IDAgNDIuODg4LTE5LjE
 | 
			
		||||
                                5OSA0Mi44ODgtNDIuODl2LTUxLjU4OGMwLTIzLjY5MS0xOS4yMDEtNDIuOD
 | 
			
		||||
                                ktNDIuODg4LTQyLjg5aC0yNTYuMTg3Yy0yMy42ODYgMC00Mi44ODcgMTkuM
 | 
			
		||||
                                Tk4LTQyLjg4NyA0Mi44OXY5NC40NzhoMjk5LjA3NHoiLz48cGF0aCBmaWxs
 | 
			
		||||
                                PSIjMDA2IiBkPSJNMTUzLjM4NCAxNTMuMzgzdi05NC40NzhjMC0yMy42OTE
 | 
			
		||||
                                tMTkuMjAxLTQyLjg5LTQyLjg4Ny00Mi44OWgtNTEuNTk1Yy0yMy42ODYgMC
 | 
			
		||||
                                00Mi44ODcgMTkuMTk4LTQyLjg4NyA0Mi44OXY1MS41ODdjMCAyMy42OTEgM
 | 
			
		||||
                                TkuMjAxIDQyLjg5IDQyLjg4NyA0Mi44OWg5NC40ODJ6Ii8%2BPHJlY3QgeD
 | 
			
		||||
                                0iMzIwLjE1NiIgeT0iNzUuMjc1IiBmaWxsPSIjZmZmIiB3aWR0aD0iMTkuN
 | 
			
		||||
                                jIxIiBoZWlnaHQ9IjUzLjIxMSIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0y
 | 
			
		||||
                                NjIuOTEyIDg2LjI4MWMwLTUuNTI5IDMuODEzLTExLjAwNiAxMy4wNjktMTE
 | 
			
		||||
                                uMDA2aDI4LjQyMXYxNS42MTNoLTE4LjYxMmMtMi40OTggMC0zLjI1NS45OT
 | 
			
		||||
                                ItMy4yNTUgMi42NjR2Ny40NzJoMjEuODY3djE1LjYxaC0yMS44Njd2MTEuO
 | 
			
		||||
                                DUyaC0xOS42MjN2LTQyLjIwNXpNMzc1LjE2NSA5MS4wOTloMTAuMzk5YzIu
 | 
			
		||||
                                NDA5IDAgMy4yNDYuODMyIDMuMjQ2IDMuMjM1bC0uMDA4IDM0LjE1MmgxOS4
 | 
			
		||||
                                2MzJ2LTQxLjk5NmMwLTUuNTI3LTMuODE1LTExLjAwNC0xMy4wNjktMTEuMD
 | 
			
		||||
                                A0aC0zOS44MjRsLS4wMSA1M2gxOS42MzR2LTM3LjM4N3pNNDQyLjcxOSA5M
 | 
			
		||||
                                S4wOTloMTAuNGMyLjQwOCAwIDMuMjQ1LjgzMiAzLjI0NSAzLjIzNWwtLjAw
 | 
			
		||||
                                OSAzNC4xNTJoMTkuNjM0di00MS45OTZjMC01LjUyNy0zLjgxNS0xMS4wMDQ
 | 
			
		||||
                                tMTMuMDctMTEuMDA0aC0zOS44MjNsLS4wMSA1M2gxOS42MzN2LTM3LjM4N3
 | 
			
		||||
                                oiLz48L3N2Zz4%3D" width="106" height="34" />
 | 
			
		||||
                    </span>
 | 
			
		||||
 | 
			
		||||
        <span
 | 
			
		||||
          className="topbar-nav-svg-caption caption showbydefault hide-lt900">
 | 
			
		||||
          unleash admin
 | 
			
		||||
       </span>
 | 
			
		||||
      </a>
 | 
			
		||||
      {this.props.children}
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</div>
 | 
			
		||||
</div>
 | 
			
		||||
                    <span
 | 
			
		||||
                    className="topbar-nav-svg-caption caption showbydefault hide-lt900">
 | 
			
		||||
                    unleash admin
 | 
			
		||||
                </span>
 | 
			
		||||
                </a>
 | 
			
		||||
                {this.props.children}
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        );
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -33,7 +33,7 @@ const Feature = React.createClass({
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    archiveFeature() {
 | 
			
		||||
        if (window.confirm(`Are you sure you want to delete ${this.props.feature.name}?`)) {
 | 
			
		||||
        if (window.confirm(`Are you sure you want to delete ${this.props.feature.name}?`)) {  // eslint-disable-line no-alert
 | 
			
		||||
            this.props.onArchive(this.props.feature);
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -25,9 +25,8 @@ const FeatureForm = React.createClass({
 | 
			
		||||
    getParameterValue(name) {
 | 
			
		||||
        if (this.props.feature && this.props.feature.parameters) {
 | 
			
		||||
            return this.props.feature.parameters[name];
 | 
			
		||||
        } else {
 | 
			
		||||
            return '';
 | 
			
		||||
        }
 | 
			
		||||
        return '';
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setSelectedStrategy(name) {
 | 
			
		||||
@ -47,7 +46,9 @@ const FeatureForm = React.createClass({
 | 
			
		||||
        const requiredParams = [];
 | 
			
		||||
        let key;
 | 
			
		||||
        for (key in strategy.parametersTemplate) {
 | 
			
		||||
            requiredParams.push({ name: key, value: this.getParameterValue(key) });
 | 
			
		||||
            if (Object.hasOwnProperty.call(strategy.parametersTemplate, key)) {
 | 
			
		||||
                requiredParams.push({ name: key, value: this.getParameterValue(key) });
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        this.setState({ requiredParams });
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -33,9 +33,8 @@ const FeatureList = React.createClass({
 | 
			
		||||
            const regex = new RegExp(this.state.filter, 'i');
 | 
			
		||||
 | 
			
		||||
            return this.props.features.filter(item => regex.test(item.name) || regex.test(item.strategy));
 | 
			
		||||
        } else {
 | 
			
		||||
            return this.props.features;
 | 
			
		||||
        }
 | 
			
		||||
        return this.props.features;
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    render() {
 | 
			
		||||
 | 
			
		||||
@ -57,9 +57,8 @@ const LogEntry = React.createClass({
 | 
			
		||||
            return (
 | 
			
		||||
                <code className="smalltext man">{changes.length === 0 ? '(no changes)' : changes}</code>
 | 
			
		||||
            );
 | 
			
		||||
        } else {
 | 
			
		||||
            return this.renderFullEventData();
 | 
			
		||||
        }
 | 
			
		||||
        return this.renderFullEventData();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    buildDiff(diff, idx) {
 | 
			
		||||
 | 
			
		||||
@ -8,7 +8,7 @@ const Strategy = React.createClass({
 | 
			
		||||
 | 
			
		||||
    onRemove(event) {
 | 
			
		||||
        event.preventDefault();
 | 
			
		||||
        if (window.confirm(`Are you sure you want to delete strategy '${this.props.strategy.name}'?`)) {
 | 
			
		||||
        if (window.confirm(`Are you sure you want to delete strategy '${this.props.strategy.name}'?`)) {  // eslint-disable-line no-alert
 | 
			
		||||
            this.props.onRemove(this.props.strategy);
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@ -24,10 +24,8 @@ const StrategyForm = React.createClass({
 | 
			
		||||
        strategy.description = this.refs.description.getValue();
 | 
			
		||||
        strategy.parametersTemplate = {};
 | 
			
		||||
 | 
			
		||||
        const that = this;
 | 
			
		||||
 | 
			
		||||
        this.state.parameters.forEach(parameter => {
 | 
			
		||||
            const name = that.refs[parameter.name].getDOMNode().value.trim();
 | 
			
		||||
            const name = this.refs[parameter.name].getDOMNode().value.trim();
 | 
			
		||||
            if (name) {
 | 
			
		||||
                strategy.parametersTemplate[name] = 'string';
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@ -52,7 +52,7 @@ const FeatureStore = Reflux.createStore({
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
            if (e instanceof SyntaxError) {
 | 
			
		||||
                // fall through;
 | 
			
		||||
                console.log('Syntax error!');
 | 
			
		||||
                console.log('Syntax error!'); // eslint-disable-line no-console
 | 
			
		||||
            } else {
 | 
			
		||||
                throw e;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,7 @@ function readCookie(name) {
 | 
			
		||||
    const ca = document.cookie.split(';');
 | 
			
		||||
    for (let i=0;i < ca.length;i++) {
 | 
			
		||||
        let c = ca[i];
 | 
			
		||||
        while (c.charAt(0)==' ') {
 | 
			
		||||
        while (c.charAt(0)==' ') { // eslint-disable-line eqeqeq
 | 
			
		||||
            c = c.substring(1, c.length);
 | 
			
		||||
        }
 | 
			
		||||
        if (c.indexOf(nameEQ) === 0) {
 | 
			
		||||
 | 
			
		||||
@ -7,19 +7,19 @@ const Timer = function(cb, interval) {
 | 
			
		||||
 | 
			
		||||
Timer.prototype.start = function() {
 | 
			
		||||
    if (this.timerId != null) {
 | 
			
		||||
        console.warn('timer already started');
 | 
			
		||||
        console.warn('timer already started'); // eslint-disable-line no-console
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    console.log('starting timer');
 | 
			
		||||
    console.log('starting timer'); // eslint-disable-line no-console
 | 
			
		||||
    this.timerId = setInterval(this.cb, this.interval);
 | 
			
		||||
    this.cb();
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
Timer.prototype.stop  = function() {
 | 
			
		||||
    if (this.timerId == null) {
 | 
			
		||||
        console.warn('no timer running');
 | 
			
		||||
        console.warn('no timer running'); // eslint-disable-line no-console
 | 
			
		||||
    } else {
 | 
			
		||||
        console.log('stopping timer');
 | 
			
		||||
        console.log('stopping timer'); // eslint-disable-line no-console
 | 
			
		||||
        clearInterval(this.timerId);
 | 
			
		||||
        this.timerId = null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user