Exemple #1
0
$(() => {

  console.log('hello from index');
  second();
  $('.container').append('Added from Zepto');
  
});
    $(textarea).val().replace(/\{([^\}]+)\}/g, (found) => {
      const withoutBrakets = found.replace('{', '').replace('}', '').toLowerCase();

      const utilityFunctionMatcher = new RegExp(`^(${availableUtilityFunctions.join('|')})`);
      const utilityFunctionMatch = withoutBrakets.match(utilityFunctionMatcher)
      const utilityFunction = utilityFunctionMatch && utilityFunctionMatch[0];

      const replacement = replacements[withoutBrakets.replace(`${utilityFunction}_`, '')];

      if (replacement) {
        let replaced = replacement();

        if (utilityFunction) {
          replaced = utilityFunctions[utilityFunction](replaced);
        }

        $(textarea).val($(textarea).val().replace(found, replaced));
      }
    });
	render: function render() {
		var _this3 = this;

		// customize css rules here
		var toolbarStyle = { marginBottom: 3 };
		var imgTooltipPlacement = this.props.tooltipPlacement;
		var videoTooltipPlacement = this.props.tooltipPlacement;
		var linkTooltipPlacement = this.props.tooltipPlacement;
		if (imgTooltipPlacement === 'auto') {
			var imgBtn = $('#imgUploadBtn');
			if (imgBtn.length) {
				imgTooltipPlacement = imgBtn.offset().left < 350 ? 'right' : 'left';
			}
		}
		if (videoTooltipPlacement === 'auto') {
			var videoUploadBtn = $('#videoUploadBtn');
			if (videoUploadBtn.length) {
				videoTooltipPlacement = videoUploadBtn.offset().left < 350 ? 'right' : 'left';
			}
		}
		if (linkTooltipPlacement === 'auto') {
			var linkCreateBtn = $('#linkCreateBtn');
			if (linkCreateBtn.length) {
				linkTooltipPlacement = linkCreateBtn.offset().left < 350 ? 'right' : 'left';
			}
		}
		var imageUpload = this.props.onImageUpload === undefined ? null : React.createElement(
			Overlay,
			{
				show: this.state.showImageTooltip,
				onHide: function onHide() {
					return _this3.setState({ showImageTooltip: false });
				},
				placement: imgTooltipPlacement,
				container: this,
				rootClose: true,
				target: function target() {
					return ReactDOM.findDOMNode(_this3.refs.imgUploadBtn);
				} },
			React.createElement(
				Popover,
				{ id: 'popover', title: 'Image Upload' },
				React.createElement(Input, { type: 'file',
					ref: 'imageInput',
					name: 'file',
					label: 'Select an image to upload'
				}),
				React.createElement(
					Button,
					{ type: 'submit', onClick: this._onImageSubmit },
					'Submit'
				)
			)
		);
		var videoUpload = this.props.onVideoUpload === undefined ? null : React.createElement(
			Overlay,
			{
				show: this.state.showVideoTooltip,
				onHide: function onHide() {
					return _this3.setState({ showVideoTooltip: false });
				},
				placement: videoTooltipPlacement,
				container: this,
				rootClose: true,
				target: function target() {
					return ReactDOM.findDOMNode(_this3.refs.videoUploadBtn);
				} },
			React.createElement(
				Popover,
				{ id: 'popover', title: 'Video Upload' },
				React.createElement(Input, { type: 'file',
					ref: 'videoInput',
					name: 'file',
					label: 'Select a video to upload'
				}),
				React.createElement(
					Button,
					{ type: 'submit', onClick: this._onVideoSubmit },
					'Submit'
				)
			)
		);
		var linkCreate = React.createElement(
			Overlay,
			{
				show: this.state.showLinkTooltip,
				onHide: function onHide() {
					return _this3.setState({ showLinkTooltip: false });
				},
				placement: linkTooltipPlacement,
				container: this,
				rootClose: true,
				target: function target() {
					return ReactDOM.findDOMNode(_this3.refs.linkCreateBtn);
				} },
			React.createElement(
				Popover,
				{ id: 'popover', title: 'Create Link' },
				React.createElement(Input, { type: 'text',
					ref: 'linkInput',
					name: 'url',
					defaultValue: 'http://',
					label: 'Link URL'
				}),
				React.createElement(
					Button,
					{ type: 'submit', onClick: this._onLinkSubmit },
					'Submit'
				)
			)
		);
		return React.createElement(
			'div',
			null,
			React.createElement(
				'div',
				{ style: toolbarStyle },
				React.createElement(
					ButtonGroup,
					null,
					React.createElement(
						DropdownButton,
						{ title: React.createElement('i', { className: 'fa fa-paragraph' }), id: 'bg-nested-dropdown' },
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'formatBlock', 'P') },
							'Paragraph'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'formatBlock', 'BLOCKQUOTE') },
							'Block Quote'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'formatBlock', 'H1') },
							'Header 1'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'formatBlock', 'H2') },
							'Header 2'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'formatBlock', 'H3') },
							'Header 3'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'formatBlock', 'H4') },
							'Header 4'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'formatBlock', 'H5') },
							'Header 5'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'formatBlock', 'H6') },
							'Header 6'
						)
					),
					React.createElement(
						Button,
						{ onClick: this._execCommand.bind(this, 'bold') },
						React.createElement('i', { className: 'fa fa-bold' })
					),
					React.createElement(
						Button,
						{ onClick: this._execCommand.bind(this, 'italic') },
						React.createElement('i', { className: 'fa fa-italic' })
					),
					React.createElement(
						Button,
						{ onClick: this._execCommand.bind(this, 'underline') },
						React.createElement('i', { className: 'fa fa-underline' })
					),
					React.createElement(
						Button,
						{ onClick: this._execCommand.bind(this, 'strikeThrough') },
						React.createElement('i', { className: 'fa fa-strikethrough' })
					),
					React.createElement(
						DropdownButton,
						{ title: React.createElement('i', { className: 'fa fa-text-height' }), id: 'bg-nested-dropdown' },
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'fontSize', 1) },
							'1'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'fontSize', 2) },
							'2'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'fontSize', 3) },
							'3'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'fontSize', 4) },
							'4'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'fontSize', 5) },
							'5'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'fontSize', 6) },
							'6'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'fontSize', 7) },
							'7'
						)
					),
					React.createElement(
						Button,
						{ onClick: this._execCommand.bind(this, 'insertOrderedList') },
						React.createElement('i', { className: 'fa fa-list-ol' })
					),
					React.createElement(
						Button,
						{ onClick: this._execCommand.bind(this, 'insertUnorderedList') },
						React.createElement('i', { className: 'fa fa-list-ul' })
					),
					React.createElement(
						DropdownButton,
						{ title: React.createElement('i', { className: 'fa fa-align-left' }), id: 'bg-nested-dropdown' },
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'justifyLeft') },
							'Align Left'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'justifyRight') },
							'Align Right'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'justifyCenter') },
							'Align Center'
						),
						React.createElement(
							MenuItem,
							{ onSelect: this._execCommand.bind(this, 'justifyFull') },
							'Align Justify'
						)
					),
					React.createElement(
						Button,
						{ onClick: this._execCommand.bind(this, 'removeFormat') },
						React.createElement('i', { className: 'fa fa-eraser' })
					),
					React.createElement(
						Button,
						{ ref: 'imgUploadBtn', id: 'imgUploadBtn', onClick: this._toggleImageTooltip },
						React.createElement('i', { className: 'fa fa-picture-o' })
					),
					imageUpload,
					React.createElement(
						Button,
						{ ref: 'videoUploadBtn', id: 'videoUploadBtn', onClick: this._toggleVideoTooltip },
						React.createElement('i', { className: 'fa fa-file-video-o' })
					),
					videoUpload,
					React.createElement(
						Button,
						{ ref: 'linkCreateBtn', id: 'linkCreateBtn', onClick: this._toggleLinkTooltip },
						React.createElement('i', { className: 'fa fa-link' })
					),
					linkCreate
				)
			),
			React.createElement('div', _extends({
				ref: 'editor',
				className: 'form-control'
			}, this.props, {
				contentEditable: 'true',
				dangerouslySetInnerHTML: { __html: this.state.html },
				onBlur: function onBlur(e) {
					if (!e || !e.relatedTarget) {
						return;
					}

					if (e.relatedTarget.id === 'imgUploadBtn' || e.relatedTarget.id === 'videoUploadBtn' || e.relatedTarget.id === 'linkCreateBtn') {
						e.preventDefault();
						ReactDOM.findDOMNode(_this3.refs.editor).focus();
					}
				},
				onInput: this._emitChange,
				onKeyPress: this._emitChange
			}))
		);
	}
 author: () => {
   const authorName = $('#show_issue .gh-header-meta a.author').text();
   return `@${authorName}`;
 }
 owner: () => {
   const ownerName = $('.repohead-details-container h1 span[itemprop=author]').text();
   return `@${ownerName}`;
 },
 owner_url: () => {
   return document.location.origin + $('.repohead-details-container h1 span[itemprop=author] a').attr('href');
 },
 repo_url: () => {
   return document.location.origin + $('.repohead-details-container h1 *[itemprop=name] a').attr('href');
 },
const issueTextareas = () => {
  return $('textarea[name="comment[body]"], textarea[name="issue[body]"]');
};
 repo_name: () => {
   return $('.repohead-details-container h1 *[itemprop=name]').text();
 },