Просмотр исходного кода

Merge pull request #1683 from weseek/support/apply-bootstrap4-admin-app-page

Support/apply bootstrap4 admin app page
yusuketk 6 лет назад
Родитель
Сommit
71be65ed3e

+ 24 - 21
src/client/js/components/Admin/App/AppSetting.jsx

@@ -38,9 +38,9 @@ class AppSetting extends React.Component {
 
 
     return (
     return (
       <React.Fragment>
       <React.Fragment>
-        <div className="row mb-5">
-          <label className="col-xs-3 control-label">{t('admin:app_setting.site_name')}</label>
-          <div className="col-xs-6">
+        <div className="row form-group mb-5">
+          <label className="col-3 col-form-label">{t('admin:app_setting.site_name')}</label>
+          <div className="col-6">
             <input
             <input
               className="form-control"
               className="form-control"
               type="text"
               type="text"
@@ -48,13 +48,13 @@ class AppSetting extends React.Component {
               onChange={(e) => { adminAppContainer.changeTitle(e.target.value) }}
               onChange={(e) => { adminAppContainer.changeTitle(e.target.value) }}
               placeholder="GROWI"
               placeholder="GROWI"
             />
             />
-            <p className="help-block">{t('admin:app_setting.sitename_change')}</p>
+            <p className="form-text text-muted">{t('admin:app_setting.sitename_change')}</p>
           </div>
           </div>
         </div>
         </div>
 
 
-        <div className="row mb-5">
-          <label className="col-xs-3 control-label">{t('admin:app_setting.confidential_name')}</label>
-          <div className="col-xs-6">
+        <div className="row form-group mb-5">
+          <label className="col-3 col-form-label">{t('admin:app_setting.confidential_name')}</label>
+          <div className="col-6">
             <input
             <input
               className="form-control"
               className="form-control"
               type="text"
               type="text"
@@ -62,53 +62,56 @@ class AppSetting extends React.Component {
               onChange={(e) => { adminAppContainer.changeConfidential(e.target.value) }}
               onChange={(e) => { adminAppContainer.changeConfidential(e.target.value) }}
               placeholder={t('admin:app_setting.confidential_example')}
               placeholder={t('admin:app_setting.confidential_example')}
             />
             />
-            <p className="help-block">{t('admin:app_setting.header_content')}</p>
+            <p className="form-text text-muted">{t('admin:app_setting.header_content')}</p>
           </div>
           </div>
         </div>
         </div>
 
 
-        <div className="row mb-5">
-          <label className="col-xs-3 control-label">{t('admin:app_setting.default_language')}</label>
-          <div className="col-xs-6">
-            <div className="radio radio-primary radio-inline">
+        <div className="row form-group mb-5">
+          <label className="col-3 col-form-label">{t('admin:app_setting.default_language')}</label>
+          <div className="col-6">
+            <div className="custom-control custom-radio d-inline">
               <input
               <input
                 type="radio"
                 type="radio"
                 id="radioLangEn"
                 id="radioLangEn"
+                className="custom-control-input"
                 name="globalLang"
                 name="globalLang"
                 value="en-US"
                 value="en-US"
                 checked={adminAppContainer.state.globalLang === 'en-US'}
                 checked={adminAppContainer.state.globalLang === 'en-US'}
                 onChange={(e) => { adminAppContainer.changeGlobalLang(e.target.value) }}
                 onChange={(e) => { adminAppContainer.changeGlobalLang(e.target.value) }}
               />
               />
-              <label htmlFor="radioLangEn">{t('English')}</label>
+              <label className="custom-control-label" htmlFor="radioLangEn">{t('English')}</label>
             </div>
             </div>
-            <div className="radio radio-primary radio-inline">
+            <div className="custom-control custom-radio d-inline">
               <input
               <input
                 type="radio"
                 type="radio"
                 id="radioLangJa"
                 id="radioLangJa"
+                className="custom-control-input"
                 name="globalLang"
                 name="globalLang"
                 value="ja"
                 value="ja"
                 checked={adminAppContainer.state.globalLang === 'ja'}
                 checked={adminAppContainer.state.globalLang === 'ja'}
                 onChange={(e) => { adminAppContainer.changeGlobalLang(e.target.value) }}
                 onChange={(e) => { adminAppContainer.changeGlobalLang(e.target.value) }}
               />
               />
-              <label htmlFor="radioLangJa">{t('Japanese')}</label>
+              <label className="custom-control-label" htmlFor="radioLangJa">{t('Japanese')}</label>
             </div>
             </div>
           </div>
           </div>
         </div>
         </div>
 
 
-        <div className="row mb-5">
-          <label className="col-xs-3 control-label">{t('admin:app_setting.file_uploading')}</label>
-          <div className="col-xs-6">
-            <div className="checkbox checkbox-info">
+        <div className="row form-group mb-5">
+          <label className="col-3 col-form-label">{t('admin:app_setting.file_uploading')}</label>
+          <div className="col-6">
+            <div className="custom-control custom-checkbox custom-checkbox-info">
               <input
               <input
                 type="checkbox"
                 type="checkbox"
                 id="cbFileUpload"
                 id="cbFileUpload"
+                className="custom-control-input"
                 name="fileUpload"
                 name="fileUpload"
                 checked={adminAppContainer.state.fileUpload}
                 checked={adminAppContainer.state.fileUpload}
                 onChange={(e) => { adminAppContainer.changeFileUpload(e.target.checked) }}
                 onChange={(e) => { adminAppContainer.changeFileUpload(e.target.checked) }}
               />
               />
-              <label htmlFor="cbFileUpload">{t('admin:app_setting.enable_files_except_image')}</label>
+              <label className="custom-control-label" htmlFor="cbFileUpload">{t('admin:app_setting.enable_files_except_image')}</label>
             </div>
             </div>
 
 
-            <p className="help-block">
+            <p className="form-text text-muted">
               {t('admin:app_setting.enable_files_except_image')}
               {t('admin:app_setting.enable_files_except_image')}
               <br />
               <br />
               {t('admin:app_setting.attach_enable')}
               {t('admin:app_setting.attach_enable')}

+ 5 - 5
src/client/js/components/Admin/App/AppSettingsPage.jsx

@@ -38,35 +38,35 @@ class AppSettingsPage extends React.Component {
     return (
     return (
       <Fragment>
       <Fragment>
         <div className="row">
         <div className="row">
-          <div className="col-md-12">
+          <div className="col-lg-12">
             <h2 className="admin-setting-header">{t('App Settings')}</h2>
             <h2 className="admin-setting-header">{t('App Settings')}</h2>
             <AppSetting />
             <AppSetting />
           </div>
           </div>
         </div>
         </div>
 
 
         <div className="row mt-5">
         <div className="row mt-5">
-          <div className="col-md-12">
+          <div className="col-lg-12">
             <h2 className="admin-setting-header">{t('Site URL settings')}</h2>
             <h2 className="admin-setting-header">{t('Site URL settings')}</h2>
             <SiteUrlSetting />
             <SiteUrlSetting />
           </div>
           </div>
         </div>
         </div>
 
 
         <div className="row mt-5">
         <div className="row mt-5">
-          <div className="col-md-12">
+          <div className="col-lg-12">
             <h2 className="admin-setting-header">{t('admin:app_setting.mail_settings')}</h2>
             <h2 className="admin-setting-header">{t('admin:app_setting.mail_settings')}</h2>
             <MailSetting />
             <MailSetting />
           </div>
           </div>
         </div>
         </div>
 
 
         <div className="row mt-5">
         <div className="row mt-5">
-          <div className="col-md-12">
+          <div className="col-lg-12">
             <h2 className="admin-setting-header">{t('admin:app_setting.aws_settings')}</h2>
             <h2 className="admin-setting-header">{t('admin:app_setting.aws_settings')}</h2>
             <AwsSetting />
             <AwsSetting />
           </div>
           </div>
         </div>
         </div>
 
 
         <div className="row mt-5">
         <div className="row mt-5">
-          <div className="col-md-12">
+          <div className="col-lg-12">
             <h2 className="admin-setting-header">{t('admin:app_setting.plugin_settings')}</h2>
             <h2 className="admin-setting-header">{t('admin:app_setting.plugin_settings')}</h2>
             <PluginSetting />
             <PluginSetting />
           </div>
           </div>

+ 17 - 17
src/client/js/components/Admin/App/AwsSetting.jsx

@@ -38,7 +38,7 @@ class AwsSetting extends React.Component {
 
 
     return (
     return (
       <React.Fragment>
       <React.Fragment>
-        <p className="well">
+        <p className="card well">
           {t('admin:app_setting.aws_access')}
           {t('admin:app_setting.aws_access')}
           <br />
           <br />
           {t('admin:app_setting.no_smtp_setting')}
           {t('admin:app_setting.no_smtp_setting')}
@@ -50,11 +50,11 @@ class AwsSetting extends React.Component {
           </span>
           </span>
         </p>
         </p>
 
 
-        <div className="row mb-5">
-          <label className="col-xs-3 control-label">
+        <div className="row form-group mb-5">
+          <label className="col-3 col-form-label">
             {t('admin:app_setting.region')}
             {t('admin:app_setting.region')}
           </label>
           </label>
-          <div className="col-xs-6">
+          <div className="col-6">
             <input
             <input
               className="form-control"
               className="form-control"
               placeholder={`${t('eg')} ap-northeast-1`}
               placeholder={`${t('eg')} ap-northeast-1`}
@@ -66,11 +66,11 @@ class AwsSetting extends React.Component {
           </div>
           </div>
         </div>
         </div>
 
 
-        <div className="row mb-5">
-          <label className="col-xs-3 control-label">
+        <div className="row form-group mb-5">
+          <label className="col-3 col-form-label">
             {t('admin:app_setting.custom_endpoint')}
             {t('admin:app_setting.custom_endpoint')}
           </label>
           </label>
-          <div className="col-xs-6">
+          <div className="col-6">
             <input
             <input
               className="form-control"
               className="form-control"
               type="text"
               type="text"
@@ -80,15 +80,15 @@ class AwsSetting extends React.Component {
                 adminAppContainer.changeCustomEndpoint(e.target.value);
                 adminAppContainer.changeCustomEndpoint(e.target.value);
               }}
               }}
             />
             />
-            <p className="help-block">{t('admin:app_setting.custom_endpoint_change')}</p>
+            <p className="form-text text-muted">{t('admin:app_setting.custom_endpoint_change')}</p>
           </div>
           </div>
         </div>
         </div>
 
 
-        <div className="row mb-5">
-          <label className="col-xs-3 control-label">
+        <div className="row form-group mb-5">
+          <label className="col-3 col-form-label">
             {t('admin:app_setting.bucket_name')}
             {t('admin:app_setting.bucket_name')}
           </label>
           </label>
-          <div className="col-xs-6">
+          <div className="col-6">
             <input
             <input
               className="form-control"
               className="form-control"
               type="text"
               type="text"
@@ -101,11 +101,11 @@ class AwsSetting extends React.Component {
           </div>
           </div>
         </div>
         </div>
 
 
-        <div className="row mb-5">
-          <label className="col-xs-3 control-label">
+        <div className="row form-group mb-5">
+          <label className="col-3 col-form-label">
             Access Key ID
             Access Key ID
           </label>
           </label>
-          <div className="col-xs-6">
+          <div className="col-6">
             <input
             <input
               className="form-control"
               className="form-control"
               type="text"
               type="text"
@@ -117,11 +117,11 @@ class AwsSetting extends React.Component {
           </div>
           </div>
         </div>
         </div>
 
 
-        <div className="row mb-5">
-          <label className="col-xs-3 control-label">
+        <div className="row form-group mb-5">
+          <label className="col-3 col-form-label">
             Secret Access Key
             Secret Access Key
           </label>
           </label>
-          <div className="col-xs-6">
+          <div className="col-6">
             <input
             <input
               className="form-control"
               className="form-control"
               type="text"
               type="text"

+ 11 - 11
src/client/js/components/Admin/App/MailSetting.jsx

@@ -38,10 +38,10 @@ class MailSetting extends React.Component {
 
 
     return (
     return (
       <React.Fragment>
       <React.Fragment>
-        <p className="well">{t('admin:app_setting.smtp_used')} {t('admin:app_setting.smtp_but_aws')}<br />{t('admin:app_setting.neihter_of')}</p>
-        <div className="row mb-5">
-          <label className="col-xs-3 control-label">{t('admin:app_setting.from_e-mail_address')}</label>
-          <div className="col-xs-6">
+        <p className="card well">{t('admin:app_setting.smtp_used')} {t('admin:app_setting.smtp_but_aws')}<br />{t('admin:app_setting.neihter_of')}</p>
+        <div className="row form-group mb-5">
+          <label className="col-3 col-form-label">{t('admin:app_setting.from_e-mail_address')}</label>
+          <div className="col-6">
             <input
             <input
               className="form-control"
               className="form-control"
               type="text"
               type="text"
@@ -52,9 +52,9 @@ class MailSetting extends React.Component {
           </div>
           </div>
         </div>
         </div>
 
 
-        <div className="row mb-5">
-          <label className="col-xs-3 control-label">{t('admin:app_setting.smtp_settings')}</label>
-          <div className="col-xs-4">
+        <div className="row form-group mb-5">
+          <label className="col-3 col-form-label">{t('admin:app_setting.smtp_settings')}</label>
+          <div className="col-4">
             <label>{t('admin:app_setting.host')}</label>
             <label>{t('admin:app_setting.host')}</label>
             <input
             <input
               className="form-control"
               className="form-control"
@@ -63,7 +63,7 @@ class MailSetting extends React.Component {
               onChange={(e) => { adminAppContainer.changeSmtpHost(e.target.value) }}
               onChange={(e) => { adminAppContainer.changeSmtpHost(e.target.value) }}
             />
             />
           </div>
           </div>
-          <div className="col-xs-2">
+          <div className="col-2">
             <label>{t('admin:app_setting.port')}</label>
             <label>{t('admin:app_setting.port')}</label>
             <input
             <input
               className="form-control"
               className="form-control"
@@ -73,8 +73,8 @@ class MailSetting extends React.Component {
           </div>
           </div>
         </div>
         </div>
 
 
-        <div className="row mb-5">
-          <div className="col-xs-3 col-xs-offset-3">
+        <div className="row form-group mb-5">
+          <div className="col-3 offset-3">
             <label>{t('admin:app_setting.user')}</label>
             <label>{t('admin:app_setting.user')}</label>
             <input
             <input
               className="form-control"
               className="form-control"
@@ -83,7 +83,7 @@ class MailSetting extends React.Component {
               onChange={(e) => { adminAppContainer.changeSmtpUser(e.target.value) }}
               onChange={(e) => { adminAppContainer.changeSmtpUser(e.target.value) }}
             />
             />
           </div>
           </div>
-          <div className="col-xs-3">
+          <div className="col-3">
             <label>{t('Password')}</label>
             <label>{t('Password')}</label>
             <input
             <input
               className="form-control"
               className="form-control"

+ 6 - 5
src/client/js/components/Admin/App/PluginSetting.jsx

@@ -39,20 +39,21 @@ class PluginSetting extends React.Component {
 
 
     return (
     return (
       <React.Fragment>
       <React.Fragment>
-        <p className="well">{t('admin:app_setting.enable_plugin_loading')}</p>
+        <p className="card well">{t('admin:app_setting.enable_plugin_loading')}</p>
 
 
-        <div className="row mb-5">
-          <div className="col-xs-offset-3 col-xs-6 text-left">
-            <div className="checkbox checkbox-success">
+        <div className="row form-group mb-5">
+          <div className="offset-3 col-6 text-left">
+            <div className="custom-control custom-switch checkbox-success">
               <input
               <input
                 id="isEnabledPlugins"
                 id="isEnabledPlugins"
+                className="custom-control-input"
                 type="checkbox"
                 type="checkbox"
                 checked={adminAppContainer.state.isEnabledPlugins}
                 checked={adminAppContainer.state.isEnabledPlugins}
                 onChange={(e) => {
                 onChange={(e) => {
                   adminAppContainer.changeIsEnabledPlugins(e.target.checked);
                   adminAppContainer.changeIsEnabledPlugins(e.target.checked);
                 }}
                 }}
               />
               />
-              <label htmlFor="isEnabledPlugins">{t('admin:app_setting.load_plugins')}</label>
+              <label className="custom-control-label" htmlFor="isEnabledPlugins">{t('admin:app_setting.load_plugins')}</label>
             </div>
             </div>
           </div>
           </div>
         </div>
         </div>

+ 40 - 42
src/client/js/components/Admin/App/SiteUrlSetting.jsx

@@ -38,51 +38,49 @@ class SiteUrlSetting extends React.Component {
 
 
     return (
     return (
       <React.Fragment>
       <React.Fragment>
-        <p className="well">{t('admin:app_setting.site_url_desc')}</p>
+        <p className="card well">{t('admin:app_setting.site_url_desc')}</p>
         {!adminAppContainer.state.isSetSiteUrl
         {!adminAppContainer.state.isSetSiteUrl
           && (<p className="alert alert-danger"><i className="icon-exclamation"></i> {t('admin:app_setting.site_url_warn')}</p>)}
           && (<p className="alert alert-danger"><i className="icon-exclamation"></i> {t('admin:app_setting.site_url_warn')}</p>)}
 
 
-        <div className="row">
-          <div className="col-md-12">
-            <div className="col-xs-offset-3">
-              <table className="table settings-table">
-                <colgroup>
-                  <col className="from-db" />
-                  <col className="from-env-vars" />
-                </colgroup>
-                <thead>
-                  <tr>
-                    <th>Database</th>
-                    <th>Environment variables</th>
-                  </tr>
-                </thead>
-                <tbody>
-                  <tr>
-                    <td>
-                      <input
-                        className="form-control"
-                        type="text"
-                        name="settingForm[app:siteUrl]"
-                        defaultValue={adminAppContainer.state.siteUrl || ''}
-                        onChange={(e) => { adminAppContainer.changeSiteUrl(e.target.value) }}
-                        placeholder="e.g. https://my.growi.org"
-                      />
-                      <p className="help-block">
-                        {/* eslint-disable-next-line react/no-danger */}
-                        <span dangerouslySetInnerHTML={{ __html: t('admin:app_setting.siteurl_help') }} />
-                      </p>
-                    </td>
-                    <td>
-                      <input className="form-control" type="text" value={adminAppContainer.state.envSiteUrl || ''} readOnly />
-                      <p className="help-block">
-                        {/* eslint-disable-next-line react/no-danger */}
-                        <span dangerouslySetInnerHTML={{ __html: t('admin:app_setting.use_env_var_if_empty', { variable: 'APP_SITE_URL' }) }} />
-                      </p>
-                    </td>
-                  </tr>
-                </tbody>
-              </table>
-            </div>
+        <div className="row form-group">
+          <div className="col-9 offset-3">
+            <table className="table settings-table">
+              <colgroup>
+                <col className="from-db" />
+                <col className="from-env-vars" />
+              </colgroup>
+              <thead>
+                <tr>
+                  <th>Database</th>
+                  <th>Environment variables</th>
+                </tr>
+              </thead>
+              <tbody>
+                <tr>
+                  <td>
+                    <input
+                      className="form-control"
+                      type="text"
+                      name="settingForm[app:siteUrl]"
+                      defaultValue={adminAppContainer.state.siteUrl || ''}
+                      onChange={(e) => { adminAppContainer.changeSiteUrl(e.target.value) }}
+                      placeholder="e.g. https://my.growi.org"
+                    />
+                    <p className="form-text text-muted">
+                      {/* eslint-disable-next-line react/no-danger */}
+                      <span dangerouslySetInnerHTML={{ __html: t('admin:app_setting.siteurl_help') }} />
+                    </p>
+                  </td>
+                  <td>
+                    <input className="form-control" type="text" value={adminAppContainer.state.envSiteUrl || ''} readOnly />
+                    <p className="form-text text-muted">
+                      {/* eslint-disable-next-line react/no-danger */}
+                      <span dangerouslySetInnerHTML={{ __html: t('admin:app_setting.use_env_var_if_empty', { variable: 'APP_SITE_URL' }) }} />
+                    </p>
+                  </td>
+                </tr>
+              </tbody>
+            </table>
           </div>
           </div>
         </div>
         </div>
 
 

+ 2 - 2
src/server/views/admin/app.html

@@ -14,9 +14,9 @@
 {% endblock %}
 {% endblock %}
 
 
 {% block content_main %}
 {% block content_main %}
-<div class="content-main row">
+<div class="content-main admin-app row">
   {% parent %}
   {% parent %}
-  <div class="col-md-9" id="admin-app"></div>
+  <div class="col-lg-9" id="admin-app"></div>
 </div>
 </div>
 {% endblock content_main %}
 {% endblock content_main %}
 
 

+ 1 - 1
src/server/views/admin/export.html

@@ -13,7 +13,7 @@
 {% block content_main %}
 {% block content_main %}
 <div class="content-main admin-export row">
 <div class="content-main admin-export row">
   {% parent %}
   {% parent %}
-  <div id="admin-export-page" class="col-md-9"></div>
+  <div id="admin-export-page" class="col-lg-9"></div>
 </div>
 </div>
 
 
 {% endblock content_main %}
 {% endblock content_main %}

+ 1 - 1
src/server/views/admin/importer.html

@@ -13,7 +13,7 @@
 {% block content_main %}
 {% block content_main %}
 <div class="content-main admin-importer row">
 <div class="content-main admin-importer row">
   {% parent %}
   {% parent %}
-  <div class="col-md-9" id="admin-importer"></div>
+  <div class="col-lg-9" id="admin-importer"></div>
 </div>
 </div>
 
 
 {% endblock content_main %}
 {% endblock content_main %}