میڈیاویکی:Gadget-tagadder.js

ویکی اقتباس سے

یاددہانی: محفوظ کرنے کے بعد، تبدیلیاں دیکھنے کے لیے آپ کو اپنے متصفح (browser) کے ابطن (cache) کو خالی کرنا ہوگا۔

  • فائرفاکس/ سفاری: جب Reload طق کریں تو Shift دباکر رکھیں، یا Ctrl-F5 یا Ctrl-R دبائیں (Mac پر R-⌘)
  • گوگل کروم: Ctrl-Shift-R دبائیں (Mac پر Shift-R-⌘)
  • انٹرنیٹ ایکسپلورر: جب Refresh طق کریں تو Ctrl یا Ctrl-F5 دبائیں
  • اوپیرا: Tools → Preferences میں ابطن (cache) صاف کریں
define(['react'], function (React) {

  'use strict';

  var IM_PREFIX = /^im:/i;

  var d = React.DOM;

  var TagAdder = React.createClass({

    displayName: 'TagAdder',

    getInitialState: function () {
      return {
        tagText: null,
        isValid: true
      };
    },

    render: function () {
      return d.form(
        {className: 'form-inline pull-right list-tagger'},
        d.div(
          {className: 'form-group' + (this.state.isValid ? '' : ' has-error')},
          d.input({ref: 'tagText', className: 'form-control input-sm', value: this.state.newTag, onChange: this._updateTag, placeholder: 'my new tag'})),
        d.button({disabled: !this.state.hasTag, className: 'btn btn-sm btn-default'}, 'Add tag')
      );
    },

    _updateTag: function () {
      var val = this.refs.tagText.getDOMNode().value;
      var state = this.state;
      state.tagText = val;
      state.isValid = isValidTagName(val);
      state.hasTag = state.isValid && val && val.length;
      this.setState(state);
    }
  });

  return TagAdder;

  function isValidTagName (tagName) {
    if (IM_PREFIX.test(tagName)) {
      return false;
    }
    return true;
  }

});