コード例 #1
0
 render: function render () {
     return (
       <div className="flexbox search-page-filters__panel-height">
           <div className={cx("one-third flexbox__item v-middle search-page-filters__image-button search-page-filters__image-button--with-icon", {
                 'search-page-filters__image-button--active': this.state.location_store.isUserLocated()
               }) }
                onClick={this.locateUser}
                style={ { backgroundImage: 'url("https://dqggv9zcmarb3.cloudfront.net/assets/search-page-app/filter-where-around-me.jpg")' } }>
               <div className="search-page-filters__image-button-curtain"></div>
               <i className="search-page-filters__image-icon fa fa-around-me"></i>
               <div className="search-page-filters__image-text">Autour de moi</div>
           </div>
           <div className={cx("one-third flexbox__item v-middle search-page-filters__image-button search-page-filters__image-button--with-icon", {
                 'search-page-filters__image-button--active': this.state.location_store.isFilteredByAddress()
               }) }
                onClick={this.showAddressPanel}
                style={ { backgroundImage: 'url("https://dqggv9zcmarb3.cloudfront.net/assets/search-page-app/filter-where-address.jpg")' } }>
               <div className="search-page-filters__image-button-curtain"></div>
               <i className="search-page-filters__image-icon fa fa-address"></i>
               <div className="search-page-filters__image-text">{"Autour d'une adresse"}</div>
           </div>
           <div className={cx("one-third flexbox__item v-middle search-page-filters__image-button search-page-filters__image-button--with-icon", {
                 'search-page-filters__image-button--active': this.state.metro_store.getSelectedLines().length > 0,
                 'hidden': !this.shouldShowMetroPanel()
               }) }
                onClick={ this.showMetroPanel }
                style={ { backgroundImage: 'url("https://dqggv9zcmarb3.cloudfront.net/assets/search-page-app/filter-where-metro.jpg")' } }>
               <div className="search-page-filters__image-button-curtain"></div>
               <i className="search-page-filters__image-icon fa fa-metro"></i>
               <div className="search-page-filters__image-text">{"Près d'une station de métro"}</div>
           </div>
       </div>
     );
 }
コード例 #2
0
    render: function render () {
        if (!this.props.cards) { return false; }
        var width_class = 'grid__item v-middle one-quarter palm-one-whole';
        var cards = this.props.cards.map(function (card, index) {
            return (
                <Card card={ card }
               width_class={ width_class }
              follow_links={ true }
                  lazyload={ true }
                       key={ index } />
            );
        });

        var classes = cx('grid center-block relative', this.props.classes);

        return (
            <div className={ classes }>
                <a className='link-not-outlined grid_item v-middle muted-link one-eighth visuallyhidden--palm inline-block text--center' onClick={ this.props.prevPage } href='javascript:void(0)'>
                    <i className={ cx('fa fa-3x gray-light fa-chevron-left', { visuallyhidden: this.props.current_page == 0 }) }></i>
                </a>
                { cards }
                <a className='link-not-outlined grid_item v-middle muted-link one-eighth visuallyhidden--palm inline-block text--center' onClick={ this.props.nextPage } href='javascript:void(0)'>
                    <i className={ cx('fa fa-3x gray-light fa-chevron-right', { visuallyhidden: (this.props.current_page + 1) == this.props.total_pages }) }></i>
                </a>
            </div>
        );
    },
コード例 #3
0
ファイル: TabButton.js プロジェクト: dcos/dcos-ui
  render() {
    const {
      active,
      activeTab,
      className,
      label,
      labelClassName,
      id,
      showErrorBadge
    } = this.props;
    const classes = classNames(
      "menu-tabbed-item",
      {
        active: active || activeTab === id
      },
      className
    );
    const labelClasses = classNames(
      "menu-tabbed-item-label",
      { "menu-tabbed-item-label-with-badge": showErrorBadge },
      labelClassName
    );

    return (
      <div className={classes}>
        <span className={labelClasses} onClick={this.handleClick}>
          {label}
          {this.getErrorBadge()}
        </span>
        {this.getChildren()}
      </div>
    );
  }
コード例 #4
0
  render() {
    let {
      className,
      majorLinkClassName,
      minorLinkWrapperClassName
    } = this.props;

    let classes = classNames(
      'container container-fluid container-pod',
      'flush flush-top flush-bottom',
      className
    );

    let majorLinkClasses = classNames(
      'text-overflow',
      majorLinkClassName
    );

    let minorLinkWrapperClasses = classNames(
      'table-cell-details-secondary flex-box',
      'flex-box-align-vertical-center table-cell-flex-box',
      minorLinkWrapperClassName
    );

    return (
      <div className={classes}>
        <div className={majorLinkClasses}>
          {this.getMajorLink()}
        </div>
        <div className={minorLinkWrapperClasses}>
          {this.getMinorLinks()}
        </div>
      </div>
    );
  }
コード例 #5
0
    renderLabel: function renderLabel() {

        if (this.props.layout === 'elementOnly') {
            return '';
        }

        var labelClassNames = [];
        labelClassNames.push('control-label');

        if (this.props.layout === 'horizontal') {
            labelClassNames.push('col-sm-3');
        }

        labelClassNames.push(this.props.labelClassName);

        if (this.props.fakeLabel) {
            return React.createElement(
                'div',
                { className: classNames(labelClassNames) },
                React.createElement(
                    'strong',
                    null,
                    this.props.label,
                    this.props.required ? ' *' : null
                )
            );
        }
        return React.createElement(
            'label',
            { className: classNames(labelClassNames), htmlFor: this.props.htmlFor },
            this.props.label,
            this.props.required ? ' *' : null
        );
    },
コード例 #6
0
ファイル: row.js プロジェクト: beeva-franciscocalle/Telescope
    renderLabel: function() {

        if (this.props.layout === 'elementOnly') {
            return '';
        }

        var labelClassNames = [];
        labelClassNames.push('control-label');

        if (this.props.layout === 'horizontal') {
            labelClassNames.push('col-sm-3');
        }

        labelClassNames.push(this.props.labelClassName);

        if (this.props.fakeLabel) {
            return (
                <div className={classNames(labelClassNames)}>
                    <strong>
                        {this.props.label}
                        {this.props.required ? ' *' : null}
                    </strong>
                </div>
            );
        }
        return (
            <label className={classNames(labelClassNames)} htmlFor={this.props.htmlFor}>
                {this.props.label}
                {this.props.required ? ' *' : null}
            </label>
        );
    },
コード例 #7
0
  getServicesLink(key) {
    const minorLinkClasses = classNames(
      "text-overflow service-link",
      this.props.minorLinkClassName
    );

    const minorLinkAnchorClasses = classNames(
      "table-cell-link-secondary",
      this.props.minorLinkAnchorClassName
    );

    return (
      <div key={key} className="table-cell-value">
        <div className={minorLinkClasses}>
          <Link
            className={minorLinkAnchorClasses}
            to="/services"
            title="services"
          >
            Services
          </Link>
        </div>
      </div>
    );
  }
コード例 #8
0
  render() {
    const {
      className,
      majorLinkClassName,
      minorLinkWrapperClassName
    } = this.props;

    const classes = classNames("nested-service-links", className);

    const majorLinkClasses = classNames("text-overflow", majorLinkClassName);

    const minorLinkWrapperClasses = classNames(
      "table-cell-details-secondary flex",
      "flex-align-items-center table-cell-flex-box",
      minorLinkWrapperClassName
    );

    return (
      <div className={classes}>
        <div className={majorLinkClasses}>
          {this.getMajorLink()}
        </div>
        <div className={minorLinkWrapperClasses}>
          {this.getMinorLinks()}
        </div>
      </div>
    );
  }
コード例 #9
0
ファイル: row.js プロジェクト: twisty/formsy-react-components
const Row = props => {
  const {
    elementWrapperClassName,
    errorMessages,
    required,
    rowClassName,
    showErrors,
    layout,
    label,
    children,
  } = props;

  let element = children;

  if (layout === 'elementOnly') {
    return <span>{element}</span>;
  }

  const cssClasses = {
    row: ['form-group'],
    elementWrapper: [],
  };

  if (showErrors && (errorMessages.length > 0 || required)) {
    cssClasses.row.push('text-danger');
  }

  // We should render the label if there is label text defined, or if the
  // component is required (so a required symbol is displayed in the label tag)
  const shouldRenderLabel = label !== null || required;

  if (layout === 'horizontal') {
    cssClasses.row.push('form-row');

    if (!shouldRenderLabel) {
      cssClasses.elementWrapper.push('offset-sm-3');
    }

    cssClasses.elementWrapper.push('col-sm-9');
    cssClasses.elementWrapper.push(elementWrapperClassName);

    element = (
      <div className={classNames(cssClasses.elementWrapper)}>{element}</div>
    );
  }

  cssClasses.row.push(rowClassName);

  return (
    <div className={classNames(cssClasses.row)}>
      {shouldRenderLabel ? <Label {...props} /> : null}
      {element}
    </div>
  );
};
コード例 #10
0
    render: function render () {
        var full_text_search;
        var height_class = 'search-page-filters__panel-height';
        var current_panel = this.state.filter_store.get('current_panel');
        var classes = cx('west search-page-filters-wrapper search-page-filters__subject-search-panel', {
            'search-page-filters-wrapper--active': (current_panel == FilterPanelConstants.FILTER_PANELS.SUBJECT_FULL_TEXT),
            'search-page-filters-wrapper--full': this.state.location_store.get('fullscreen'),
            'search-page-filters-wrapper--fullscreen height-100-percent': (this.props.fullscreen || window.is_mobile)
        });
        if ((this.props.fullscreen || window.is_mobile)) { height_class = 'height-100-percent'; }
        full_text_search = "Tous les cours pour \"" + this.state.autocomplete_store.get('full_text_search') + "\"";
        if (this.state.autocomplete_store.get('total_cards')) {
          full_text_search += " (" + this.state.autocomplete_store.get('total_cards') + ")"
        }
        return (
          <div className={classes}>
              <div className="text--left main-container main-container--1000">
                  <div className={"v-middle input-with-button " + height_class}>
                      <div className={cx("flexbox search-page__input-suggestion search-page__input-suggestion--bordered", {
                                          'search-page__input-suggestion--active': (!this.state.autocomplete_store.get('selected_list_name'))
                                        })}
                           onMouseOver={this.hoverResult(null, 0)}
                           onClick={this.searchFullText}>
                          <div className="flexbox__item v-middle text--center">
                              <i className="fa fa-search white"></i>
                          </div>
                          <div className="flexbox__item v-middle white soft--sides">
                              {full_text_search}
                          </div>
                          <div className="flexbox__item v-middle blue-green text--right soft-half--right">
                              <i className="fa fa-chevron-right"></i>
                          </div>
                      </div>
                      <div className="grid">
                          <div className="grid grid__item two-thirds palm-one-whole">
                              <div className="blue-green f-weight-600 search-page__input-suggestion-label">
                                  DISCIPLINES
                              </div>
                              {this.subjects()}
                          </div>
                          <div className="grid grid__item one-third palm-one-whole">
                              <div className="blue-green f-weight-600 search-page__input-suggestion-label">
                                  PROFESSEURS, ÉCOLES, ASSOCIATIONS
                              </div>
                              {this.structures()}
                          </div>
                      </div>
                  </div>
              </div>

          </div>
        );
    },
コード例 #11
0
ファイル: PageHeader.js プロジェクト: SStar1314/dcos-ui
  render() {
    let {
      className,
      dividerClassName,
      mediaWrapperClassName,
      navigationTabs
    } = this.props;

    let classes = classNames(
      'container container-fluid container-pod container-pod-short',
      'flush flush-top',
      className
    );

    let dividerClasses = classNames(
      'container-pod container-pod-short flush-top',
      'container-pod-divider-bottom container-pod-divider-bottom-align-right',
      'container-pod-divider-inverse',
      {'flush-bottom': !!navigationTabs},
      dividerClassName
    );

    let mediaWrapperClasses = classNames(
      'media-object-spacing-wrapper media-object-spacing-narrow',
      'media-object-offset',
      mediaWrapperClassName
    );

    return (
      <div className={classes}>
        <div className={dividerClasses}>
          <div className={mediaWrapperClasses}>
            <div className="media-object flex-box flex-box-align-vertical-center page-header-container">
              <div className="page-header-container-left">
                {this.getIcon()}
                <div className="media-object-item">
                  {this.getTitle()}
                  {this.getSubTitle()}
                </div>
              </div>
              <div className="page-header-container-right">
                {this.renderActionButtons()}
              </div>
            </div>
          </div>
          {navigationTabs}
        </div>
      </div>
    );
  }
コード例 #12
0
ファイル: NewPageHeaderTabs.js プロジェクト: gyliu513/dcos-ui
    let tabElements = tabs.map(function (tab, index) {
      let {isActive} = tab;
      let classes = classNames('tab-item', {active: isActive});
      let linkClasses = classNames('tab-item-label', {active: isActive});

      return (
        <li className={classes} key={index}>
          <Link className={linkClasses} to={tab.routePath}>
            <span className="tab-item-label-text">
              {tab.label}
            </span>
          </Link>
        </li>
      );
    });
コード例 #13
0
ファイル: DetailViewHeader.js プロジェクト: gyliu513/dcos-ui
  render() {
    let {
      children,
      className,
      detailViewHeaderContentWrapperClassNames,
      detailViewHeaderContentHeadingClassNames,
      navigationTabs
    } = this.props;

    let detailViewHeaderClasses = classNames(
      'detail-view-header flex-item-shrink-0',
      {'has-tabs': !!navigationTabs},
      className
    );

    let detailViewHeaderContentWrapperClasses = classNames(
      'detail-view-header-content-wrapper',
      detailViewHeaderContentWrapperClassNames
    );

    let detailViewHeaderContentHeadingClasses = classNames(
      'detail-view-header-content-heading',
      detailViewHeaderContentHeadingClassNames
    );

    return (
      <div className={detailViewHeaderClasses}>
        <div className={detailViewHeaderContentWrapperClasses}>
          <div className={detailViewHeaderContentHeadingClasses}>
            <div className="detail-view-header-content-primary">
              {this.getIcon()}
              <div className="detail-view-header-title">
                {this.getTitle()}
              </div>
            </div>
            <div className="detail-view-header-content-secondary">
              {this.renderActionButtons()}
            </div>
          </div>
          <div className="detail-view-header-sub-heading">
            {this.getSubTitle()}
          </div>
        </div>
        {children}
        {navigationTabs}
      </div>
    );
  }
コード例 #14
0
ファイル: FormModal.js プロジェクト: JetMuffin/dcos-ui
    return this.props.buttonDefinition.map((buttonDefinition, i) => {
      let buttonClassSet = {
        disabled: this.props.disabled
      };
      buttonClassSet[buttonDefinition.className] = true;
      buttonClassSet = classNames(buttonClassSet);

      let handleOnClick = function() {};
      if (buttonDefinition.isClose) {
        handleOnClick = this.props.onClose;
      }

      if (buttonDefinition.isSubmit) {
        handleOnClick = this.handleTriggerSubmit;
      }

      if (buttonDefinition.onClick) {
        handleOnClick = buttonDefinition.onClick;
      }

      return (
        <button
          className={buttonClassSet}
          disabled={this.props.disabled}
          key={i}
          onClick={handleOnClick}
        >
          {buttonDefinition.text}
        </button>
      );
    });
コード例 #15
0
 return this.state.autocomplete_store.get('structures').map(function(structure, index) {
     var avatar;
     if (structure.get('avatar')) {
         avatar = (<img className="block rounded--circle autocomplete-structure-logo" height="45" width="45" src={structure.get('avatar')} />);
     } else {
         avatar = (<div className={"inline-block autocomplete-structure-logo rounded--circle text--center white bg-" + structure.get('dominant_root_subject_slug')}>
                       <i className="fa fa-user-big delta"></i>
                   </div>);
     }
     return (<div className={cx("flexbox search-page__input-suggestion search-page__input-suggestion--structures flexbox search-page__input-suggestion--bordered", {
                               'search-page__input-suggestion--active': (this.state.autocomplete_store.get('selected_index') == index && this.state.autocomplete_store.get('selected_list_name') == 'structures')
                             })}
                  onMouseOver={this.hoverResult('structures', index)}
                  onClick={this.goToStructure(structure.get('slug'))}>
                 <div className="flexbox__item visuallyhidden--palm v-middle">
                     {avatar}
                 </div>
                 <div className="flexbox__item one-whole v-middle white soft--sides"
                     dangerouslySetInnerHTML={{__html: structure.get('_highlightResult').name.value }}>
                 </div>
                 <div className="flexbox__item v-middle blue-green text--right soft-half--right">
                     <i className="fa fa-chevron-right"></i>
                 </div>
             </div>)
 }, this);
コード例 #16
0
ファイル: tabList.js プロジェクト: elvismircan/reaction
  render() {
    const { className, selectedTab, ...otherProps } = this.props;

    const baseClassName = classnames({
      "rui": true,
      "tab-list": true,
      "nav": true,
      "nav-pills": true
    }, className);

    const elements = Children.map(this.props.children, (child, index) => {
      const newProps = {
        index,
        active: false
      };

      if (selectedTab === child.props.value || selectedTab === index) {
        newProps.active = true;
      }

      return React.cloneElement(child, newProps);
    });

    return (
      <ul {...otherProps} className={baseClassName} role="tabList">
        {elements}
      </ul>
    );
  }
コード例 #17
0
  getMinorLinks() {
    let componentKey = 0;
    let {minorLinkClassName, taskID} = this.props;
    let minorLinkClasses = classNames(
      'text-overflow service-link',
      minorLinkClassName
    );
    let nestedGroups = this.getServicePathParts();
    let popCount = 1;

    if (taskID != null) {
      popCount = 0;
    }
    nestedGroups = nestedGroups.slice(0, nestedGroups.length - popCount);

    let links = nestedGroups.reduce((components, part, index) => {
      let id = encodeURIComponent(nestedGroups.slice(0, index + 1).join('/'));

      components.push(
        this.getMinorLink(part, {id}, componentKey++, minorLinkClasses)
      );

      if (index !== nestedGroups.length - 1) {
        components.push(this.getCrumbDivider(componentKey++));
      }

      return components;
    }, []);

    return [this.getServicesLink(componentKey++), ...links];
  }
コード例 #18
0
  renderAddButton() {
    const { addButton } = this.props;

    if (Array.isArray(addButton) && addButton.length > 0) {
      const dropdownElements = addButton.map(getDropdownAction);

      return (
        <PageHeaderActionsMenu iconID="plus">
          {dropdownElements}
        </PageHeaderActionsMenu>
      );
    }

    if (addButton != null) {
      const { label, onItemSelect, className } = addButton;
      const buttonClasses = classNames(
        "button button-link button-narrow",
        className
      );

      const button = (
        <button className={buttonClasses} onClick={onItemSelect}>
          <Icon id="plus" size="mini" />
        </button>
      );

      if (label != null) {
        return <Tooltip content={label}>{button}</Tooltip>;
      }

      return button;
    }
  }
コード例 #19
0
ファイル: FormGroup.js プロジェクト: JetMuffin/dcos-ui
const FormGroup = props => {
  const {
    children,
    className,
    errorClassName,
    hasNarrowMargins,
    applyLabelOffset,
    showError
  } = props;

  const clonedChildren = React.Children.map(children, child => {
    if (child != null && !showError && child.type === FieldError) {
      return null;
    }

    return child;
  });

  const classes = classNames(
    {
      [errorClassName]: showError,
      "form-group-without-top-label": applyLabelOffset,
      "column-auto flush-left flush-right": hasNarrowMargins
    },
    "form-group",
    className
  );

  return (
    <div className={classes} {...omit(props, Object.keys(FormGroup.propTypes))}>
      {clonedChildren}
    </div>
  );
};
コード例 #20
0
  getMajorLink() {
    let label;
    const { majorLinkAnchorClassName, serviceID, taskID } = this.props;
    let routePath;

    const anchorClasses = classNames(
      "table-cell-link-primary",
      majorLinkAnchorClassName
    );

    if (taskID != null) {
      label = taskID;
      routePath = `/services/detail/${serviceID}/tasks/${taskID}`;
    } else {
      label = this.getServicePathParts().pop();
      routePath = `/services/detail/${encodeURIComponent(serviceID)}`;
    }

    return (
      <Link className={anchorClasses} to={routePath} title={label}>
        <span className="text-overflow">
          {label}
        </span>
      </Link>
    );
  }
コード例 #21
0
ファイル: avatar.js プロジェクト: Evert-jvv/reaction
const ReactionAvatar = (props) => {
  const { className, email, name, size, src, style } = props;

  const classes = classnames({
    "rui": true,
    "rui-avatar": true
  }, className);

  return (
    <Avatar
      className={classes}
      email={email}
      name={name}
      size={size}
      src={src}
      style={style}
      // Below props usually aren't passed, and will use defaults
      color={props.color}
      currentUser={props.currentUser}
      facebookId={props.facebookId}
      fgColor={props.fgColor}
      googleId={props.googleId}
      md5Email={props.md5Email}
      round={props.round}
      skypeId={props.skypeId}
      textSizeRatio={props.textSizeRatio}
      twitterHandle={props.twitterHandle}
      value={props.value}
      vkontakteId={props.vkontakteId}
    />
  );
};
コード例 #22
0
const Label = props => {
  const {layout, label, htmlFor, labelClassName, fakeLabel, required} = props;

  if (layout === 'elementOnly') {
    return null;
  }

  const labelClassNames = classNames([
    'col-form-label',
    layout === 'horizontal' ? 'col-sm-3' : '',
    labelClassName,
  ]);

  if (fakeLabel) {
    return (
      <div className={labelClassNames} data-required={required}>
        {label}
        <RequiredSymbol required={required} />
      </div>
    );
  }

  return (
    <label
      className={labelClassNames}
      data-required={required}
      htmlFor={htmlFor}>
      {label}
      <RequiredSymbol required={required} />
    </label>
  );
};
コード例 #23
0
ファイル: embed-preview.js プロジェクト: comeoninc/gutenberg
const EmbedPreview = ( props ) => {
	const { preview, url, type, caption, onCaptionChange, isSelected, className, icon, label } = props;
	const { scripts } = preview;

	const html = 'photo' === type ? getPhotoHtml( preview ) : preview.html;
	const parsedUrl = parse( url );
	const cannotPreview = includes( HOSTS_NO_PREVIEWS, parsedUrl.host.replace( /^www\./, '' ) );
	// translators: %s: host providing embed content e.g: www.youtube.com
	const iframeTitle = sprintf( __( 'Embedded content from %s' ), parsedUrl.host );
	const sandboxClassnames = classnames( type, className, 'wp-block-embed__wrapper' );

	const embedWrapper = 'wp-embed' === type ? (
		<WpEmbedPreview
			html={ html }
		/>
	) : (
		<div className="wp-block-embed__wrapper">
			<SandBox
				html={ html }
				scripts={ scripts }
				title={ iframeTitle }
				type={ sandboxClassnames }
			/>
		</div>
	);

	return (
		<figure className={ classnames( className, 'wp-block-embed', { 'is-type-video': 'video' === type } ) }>
			{ ( cannotPreview ) ? (
				<Placeholder icon={ <BlockIcon icon={ icon } showColors /> } label={ label }>
					<p className="components-placeholder__error"><a href={ url }>{ url }</a></p>
					<p className="components-placeholder__error">{ __( 'Previews for this are unavailable in the editor, sorry!' ) }</p>
				</Placeholder>
			) : embedWrapper }
			{ ( ! RichText.isEmpty( caption ) || isSelected ) && (
				<RichText
					tagName="figcaption"
					placeholder={ __( 'Write caption…' ) }
					value={ caption }
					onChange={ onCaptionChange }
					inlineToolbar
				/>
			) }
		</figure>
	);
};
コード例 #24
0
ファイル: NewPageBody.js プロジェクト: gyliu513/dcos-ui
  render() {
    let {props} = this;

    let contentClasses = classNames('pod', props.contentClassName);
    let scrollbarClasses = classNames(
      'page-body gm-scrollbar-container-flex',
      props.scrollbarClassName
    );

    return (
      <GeminiScrollbar className={scrollbarClasses}>
        <div className={contentClasses}>
          {props.children}
        </div>
      </GeminiScrollbar>
    );
  }
コード例 #25
0
ファイル: FieldTextarea.js プロジェクト: gyliu513/dcos-ui
const FieldTextarea = (props) => {
  let {className} = props;
  let classes = classNames('form-control', className);

  return (
    <textarea className={classes} {...omit(props, ['className'])} />
  );
};
コード例 #26
0
    render: function() {

        if (this.props.layout === 'elementOnly') {
            return (
                <span>
                {this.props.children}
                </span>
            );
        }

        var cssClasses = {
            row: ['form-group'],
            elementWrapper: []
        };

        if (this.props.hasErrors) {
            cssClasses.row.push('has-error');
            cssClasses.row.push('has-feedback');
        }

        var element = this.props.children;
        if (this.props.layout === 'horizontal') {

            // Horizontal layout needs a 'row' class for Bootstrap 4
            cssClasses.row.push('row');

            cssClasses.elementWrapper.push('col-sm-9');
            cssClasses.elementWrapper.push(this.props.elementWrapperClassName);

            element = (
                <div className={classNames(cssClasses.elementWrapper)}>
                    {this.props.children}
                </div>
            );
        }

        cssClasses.row.push(this.props.rowClassName);

        return (
            <div className={classNames(cssClasses.row)}>
                {this.renderLabel()}
                {element}
            </div>
        );
    }
コード例 #27
0
ファイル: Button.js プロジェクト: Gopal2bn/coreui
const ButtonContainer = mapProps(({ actionType, className, sheet, style, theme, ...rest }) => ({
  className: cx(
    sheet.classes.button, sheet.classes[actionType],
    theme.classes.button, theme.classes[actionType],
    className
  ),
  style: merge(theme.styles.button, theme.styles[actionType], style),
  ...rest,
}))('button');
コード例 #28
0
ファイル: AdvancedSection.js プロジェクト: gyliu513/dcos-ui
  render() {
    let classes = classNames('advanced-section', this.props.className);

    return (
      <div className={classes}>
        {this.getChildren()}
      </div>
    );
  }
コード例 #29
0
    render: function render() {

        if (this.props.layout === 'elementOnly') {
            return React.createElement(
                'span',
                null,
                this.props.children
            );
        }

        var cssClasses = {
            row: ['form-group'],
            elementWrapper: []
        };

        if (this.props.hasErrors) {
            cssClasses.row.push('has-error');
            cssClasses.row.push('has-feedback');
        }

        var element = this.props.children;
        if (this.props.layout === 'horizontal') {

            // Horizontal layout needs a 'row' class for Bootstrap 4
            cssClasses.row.push('row');

            cssClasses.elementWrapper.push('col-sm-9');
            cssClasses.elementWrapper.push(this.props.elementWrapperClassName);

            element = React.createElement(
                'div',
                { className: classNames(cssClasses.elementWrapper) },
                this.props.children
            );
        }

        cssClasses.row.push(this.props.rowClassName);
        return React.createElement(
            'div',
            { className: classNames(cssClasses.row) },
            this.renderLabel(),
            element
        );
    }
コード例 #30
0
const AdvancedSectionLabel = ({className, children, isExpanded, onClick}) => {
  let classes = classNames('advanced-section-label clickable', className);

  return (
    <a className={classes} onClick={onClick}>
      {getStateIndicator(isExpanded)}
      {children}
    </a>
  );
};