Merge pull request #5922 from scinote-eln/features/remove-front-end-gems

Features/remove front end gems
This commit is contained in:
aignatov-bio 2023-08-07 11:31:12 +02:00 committed by GitHub
commit be4bd7f038
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
129 changed files with 3644 additions and 1235 deletions

17
Gemfile
View file

@ -5,8 +5,6 @@ source 'http://rubygems.org'
ruby '3.2.2'
gem 'bootsnap', require: false
gem 'bootstrap-sass', '~> 3.4.1'
gem 'bootstrap_form', '~> 2.7.0'
gem 'devise', '~> 4.8.1'
gem 'devise_invitable'
gem 'figaro'
@ -16,7 +14,6 @@ gem 'psych', '< 4.0'
gem 'rails', '~> 7.0.5'
gem 'recaptcha', require: 'recaptcha/rails'
gem 'sanitize'
gem 'sassc-rails'
gem 'sprockets-rails'
gem 'view_component'
gem 'yomu', git: 'https://github.com/scinote-eln/yomu', branch: 'master'
@ -38,20 +35,7 @@ gem 'kaminari'
gem 'rack-attack'
gem 'rack-cors'
# JS datetime library, requirement of datetime picker
gem 'momentjs-rails', '~> 2.17.1'
# JS datetime picker
gem 'bootstrap3-datetimepicker-rails', '~> 4.17'
# Select elements for Bootstrap
gem 'bootstrap-select-rails', '~> 1.12.4'
gem 'uglifier', '>= 1.3.0'
# jQuery & plugins
gem 'autosize-rails' # jQuery autosize plugin
gem 'hammerjs-rails'
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'js_cookie_rails' # Simple JS API for cookies
gem 'spinjs-rails'
gem 'activerecord-import'
gem 'ajax-datatables-rails', '~> 0.3.1'
@ -102,6 +86,7 @@ gem 'discard'
gem 'graphviz'
gem 'jsbundling-rails'
gem 'cssbundling-rails'
gem 'tailwindcss-rails', '~> 2.0'

View file

@ -141,10 +141,6 @@ GEM
ast (2.4.2)
auto_strip_attributes (2.6.0)
activerecord (>= 4.0)
autoprefixer-rails (10.4.13.0)
execjs (~> 2)
autosize-rails (1.18.17)
rails (>= 3.1)
awesome_print (1.9.2)
aws-eventstream (1.2.0)
aws-partitions (1.780.0)
@ -201,13 +197,6 @@ GEM
debug_inspector (>= 0.0.1)
bootsnap (1.16.0)
msgpack (~> 1.2)
bootstrap-sass (3.4.1)
autoprefixer-rails (>= 5.2.1)
sassc (>= 2.0.0)
bootstrap-select-rails (1.12.4)
bootstrap3-datetimepicker-rails (4.17.47)
momentjs-rails (>= 2.8.1)
bootstrap_form (2.7.0)
builder (3.2.4)
bullet (7.0.7)
activesupport (>= 3.0.0)
@ -241,6 +230,8 @@ GEM
crack (0.4.5)
rexml
crass (1.0.6)
cssbundling-rails (1.1.2)
railties (>= 6.0.0)
cucumber (8.0.0)
builder (~> 3.2, >= 3.2.4)
cucumber-ci-environment (~> 9.0, >= 9.0.4)
@ -337,7 +328,6 @@ GEM
activesupport (>= 5.0)
graphviz (1.2.1)
process-pipeline
hammerjs-rails (2.0.8)
hashdiff (1.0.1)
hashie (5.0.0)
httparty (0.21.0)
@ -359,10 +349,6 @@ GEM
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-ui-rails (6.0.1)
railties (>= 3.2.16)
js_cookie_rails (2.2.0)
railties (>= 3.1)
jsbundling-rails (1.1.1)
railties (>= 6.0.0)
json (2.6.3)
@ -414,8 +400,6 @@ GEM
mini_mime (1.1.2)
mini_portile2 (2.8.4)
minitest (5.18.1)
momentjs-rails (2.17.1)
railties (>= 3.1)
msgpack (1.7.1)
multi_json (1.15.0)
multi_test (1.1.0)
@ -438,6 +422,8 @@ GEM
nokogiri (1.14.5)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
nokogiri (1.14.5-arm64-darwin)
racc (~> 1.4)
nokogiri (1.14.5-x86_64-linux)
racc (~> 1.4)
oauth2 (2.0.9)
@ -617,14 +603,6 @@ GEM
sanitize (6.0.2)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
sassc (2.4.0)
ffi (~> 1.9)
sassc-rails (2.1.2)
railties (>= 4.0.0)
sassc (>= 2.0)
sprockets (> 3.0)
sprockets-rails
tilt
scenic (1.7.0)
activerecord (>= 4.0.0)
railties (>= 4.0.0)
@ -646,8 +624,6 @@ GEM
snaky_hash (2.0.1)
hashie
version_gem (~> 1.1, >= 1.1.1)
spinjs-rails (1.4)
rails (>= 3.1)
sprockets (4.2.0)
concurrent-ruby (~> 1.0)
rack (>= 2.2.4, < 4)
@ -660,6 +636,8 @@ GEM
ffi (~> 1.1)
tailwindcss-rails (2.0.29)
railties (>= 6.0.0)
tailwindcss-rails (2.0.29-arm64-darwin)
railties (>= 6.0.0)
tailwindcss-rails (2.0.29-x86_64-linux)
railties (>= 6.0.0)
thor (1.2.2)
@ -702,6 +680,7 @@ GEM
rubyzip (>= 1.0.0)
PLATFORMS
arm64-darwin
ruby
x86_64-linux
@ -711,7 +690,6 @@ DEPENDENCIES
ajax-datatables-rails (~> 0.3.1)
aspector
auto_strip_attributes (~> 2.1)
autosize-rails
awesome_print
aws-sdk-lambda
aws-sdk-rails
@ -721,16 +699,13 @@ DEPENDENCIES
better_errors
binding_of_caller
bootsnap
bootstrap-sass (~> 3.4.1)
bootstrap-select-rails (~> 1.12.4)
bootstrap3-datetimepicker-rails (~> 4.17)
bootstrap_form (~> 2.7.0)
bullet
byebug
canaid!
capybara
capybara-email
caracal!
cssbundling-rails
cucumber-rails
database_cleaner
deface (~> 1.9)
@ -746,15 +721,11 @@ DEPENDENCIES
fastimage
figaro
graphviz
hammerjs-rails
httparty (~> 0.21.0)
i18n-js (~> 3.6)
image_processing
img2zpl!
jbuilder
jquery-rails
jquery-ui-rails
js_cookie_rails
jsbundling-rails
json-jwt
json_matchers
@ -763,7 +734,6 @@ DEPENDENCIES
kaminari
listen
logging (~> 2.0.0)
momentjs-rails (~> 2.17.1)
nested_form_fields
newrelic_rpm
nokogiri (~> 1.14.3)
@ -798,7 +768,6 @@ DEPENDENCIES
rubyzip (>= 2.3.0)
rufus-scheduler
sanitize
sassc-rails
scenic (~> 1.4)
sdoc (~> 1.0)
selenium-webdriver
@ -806,7 +775,6 @@ DEPENDENCIES
silencer
simplecov
sneaky-save!
spinjs-rails
sprockets-rails
tailwindcss-rails (~> 2.0)
timecop

View file

@ -1,4 +1,3 @@
//= link_tree ../images
//= link application.js
//= link application.css
//= link_tree ../builds/

View file

@ -1,8 +1,5 @@
// turbolinks MUST BE THE LAST inclusion
//= require hammer
//= require js.cookie
//= require bootstrap-sprockets
//= require moment
//= require bootstrap-datetimepicker
//= require bootstrap-colorselector
//= require bootstrap-tagsinput.min
@ -11,7 +8,6 @@
//= require nested_form_fields
//= require jsPlumb-2.0.4-min
//= require jsnetworkx
//= require bootstrap-select
//= require_directory ./repository_columns/columns_initializers
//= require datatables
//= require jquery.dataTables.colResize
@ -158,7 +154,7 @@ window.onbeforeunload = function () {
* Disable Firefox caching to get rid of issues with pressing
* browser back, like opening canvas in edit mode.
*/
$(window).unload(function () {
$(window).on("unload", function() {
$(window).unbind('unload');
});

View file

@ -1,14 +1,4 @@
//= require jquery
//= require jquery_ujs
//= require jquery.mousewheel.min
//= require jquery.autosize
//= require jquery-ui/widget
//= require jquery-ui/widgets/mouse
//= require jquery-ui/widgets/draggable
//= require jquery-ui/widgets/droppable
//= require jquery.ui.touch-punch.min
//= require jquery-ui/effects/effect-slide
//= require jquery.caret.min
//= require jquery.atwho.min
//= require spin
//= require jquery.spin

View file

@ -4,7 +4,6 @@
initAssignedTasksDropdown initReminderDropdown initBSTooltips
*/
//= require jquery-ui/widgets/sortable
//= require repositories/row_editor.js

View file

@ -3,7 +3,6 @@
/* global RepositoryDateColumnType RepositoryDatatable */
/* eslint-disable no-restricted-globals */
//= require jquery-ui/widgets/sortable
var RepositoryColumns = (function() {
var TABLE_ID = '';

View file

@ -23,7 +23,7 @@
}
.member-item {
border-bottom: 1px solid $modal-header-border-color;
border-bottom: 1px solid $color-concrete;
padding: .5em 0;
}

View file

@ -0,0 +1,141 @@
@import "sn-inter-font";
@import "sn-icon-font";
@import "shared_styles/constants";
@import "constants";
@import "mixins";
@import "bootstrap-datetimepicker";
@import "bootstrap-colorselector";
@import "bootstrap-tagsinput";
@import "bootstrap-tagsinput-typeahead";
@import "jstree_style.min";
@import "shared_styles/global_elements";
@import "handsontable.full.sass.scss";
@import "emojionearea.min";
@import "ajax-bootstrap-select.min";
@import "extend/bootstrap";
@import "extend/datatable";
@import "extend/perfect-scrollbar";
@import "access_permissions/access_modal";
@import "hooks/tinymce";
@import "hooks/tui_image_editor";
@import "partials/_inline_editing";
@import "partials/_tree_view";
@import "my_modules/protocols/index";
@import "my_modules/results/index";
@import "my_modules/protocol";
@import "my_modules/repositories";
@import "my_modules/status_flow";
@import "my_modules/stock_consumption_modal";
@import "protocols/index";
@import "protocols/preview_modal";
@import "protocols/protocol";
@import "protocols/tinymce_editor";
@import "dashboard/calendar";
@import "dashboard/create_task_modal";
@import "dashboard/current_tasks";
@import "dashboard/recent_work";
@import "dashboard/show";
@import "repository/assign_items_to_task_modal";
@import "repository/bmt_filters";
@import "repository/filters";
@import "repository/index";
@import "repository/print_progress_modal";
@import "repository/repository_print_label_modal";
@import "repository/repository_row_modal";
@import "repository/repository_table";
@import "repository/repository_toolbar";
@import "repository/stock_modal";
@import "experiment/canvas";
@import "experiment/show";
@import "experiment/table";
@import "repository_columns/date_type";
@import "repository_columns/index";
@import "repository_columns/list_type";
@import "repository_columns/status_type";
@import "repository_columns/stock_type";
@import "label_templates/index";
@import "label_templates/label_preview";
@import "label_templates/promo";
@import "label_templates/show";
@import "reports/new";
@import "settings/addons";
@import "settings/connected_accounts";
@import "settings/device_table";
@import "settings/label_printers";
@import "settings/preferences";
@import "settings/teams";
@import "settings/users";
@import "settings/webhooks";
@import "shared/action_toolbar";
@import "shared/assets";
@import "shared/avatar";
@import "shared/breadcrumbs";
@import "shared/cards";
@import "shared/comments_sidebar";
@import "shared/comments";
@import "shared/content_pane";
@import "shared/datatable";
@import "shared/datetime_picker";
@import "shared/dropdown_menu";
@import "shared/dropdown_selector";
@import "shared/file_preview";
@import "shared/filter_dropdown";
@import "shared/form_errors";
@import "shared/icons";
@import "shared/image_edit_modal";
@import "shared/inline_edit";
@import "shared/jstree_override";
@import "shared/kaminari_pagination";
@import "shared/mobile";
@import "shared/my_modules_list_partial";
@import "shared/pdf_preview";
@import "shared/select";
@import "shared/smart_annotation";
@import "steps/step";
@import "steps/step_attachments";
@import "themes/main_navigation";
@import "themes/menu_bar";
@import "themes/projects";
@import "themes/repositories";
@import "themes/scinote";
@import "navigation/general";
@import "navigation/breadcrumbs";
@import "navigation/left_menu";
@import "navigation/navigator";
@import "navigation/notifications";
@import "navigation/top_menu";
@import "bio_eddie";
@import "experiments";
@import "forgot_password";
@import "global_activities";
@import "marvinjs";
@import "my_modules";
@import "notifications";
@import "projects";
@import "protocol_management";
@import "report_index";
@import "reports_pdf.sass.scss";
@import "reports_print";
@import "repositories";
@import "search";
@import "session_expired";
@import "sign_up";
@import "sign_in";
@import "steps";
@import "system_notifications";
@import "tiny_mce";
// Addons
body {
font-family: "SN Inter", "Open Sans", Arial, Helvetica, sans-serif;
}

View file

@ -1,99 +0,0 @@
/*
*= require_self
*= require jquery-ui/draggable
*= require rails_bootstrap_forms
*= require bootstrap-select
*= require sn-icon-font
*= require sn-inter-font
*= stub reports_pdf
*/
@import "shared_styles/constants/*";
@import "constants";
@import "bootstrap-sprockets";
// Core variables and mixins
@import "bootstrap/variables";
@import "bootstrap/mixins";
// Reset and dependencies
@import "bootstrap/normalize";
@import "bootstrap/print";
@import "bootstrap/glyphicons";
// Core CSS
@import "bootstrap/scaffolding";
@import "bootstrap/type";
@import "bootstrap/code";
@import "bootstrap/grid";
@import "bootstrap/tables";
@import "bootstrap/forms";
// Components
@import "bootstrap/component-animations";
@import "bootstrap/dropdowns";
@import "bootstrap/button-groups";
@import "bootstrap/input-groups";
@import "bootstrap/navs";
@import "bootstrap/navbar";
@import "bootstrap/breadcrumbs";
@import "bootstrap/pagination";
@import "bootstrap/pager";
@import "bootstrap/labels";
@import "bootstrap/badges";
@import "bootstrap/jumbotron";
@import "bootstrap/thumbnails";
@import "bootstrap/alerts";
@import "bootstrap/progress-bars";
@import "bootstrap/media";
@import "bootstrap/list-group";
@import "bootstrap/panels";
@import "bootstrap/responsive-embed";
@import "bootstrap/wells";
@import "bootstrap/close";
// Components w/ JavaScript
@import "bootstrap/modals";
@import "bootstrap/tooltip";
@import "bootstrap/popovers";
@import "bootstrap/carousel";
// Utility classes
@import "bootstrap/utilities";
@import "bootstrap/responsive-utilities";
@import "bootstrap-datetimepicker";
@import "bootstrap-colorselector";
@import "bootstrap-tagsinput";
@import "bootstrap-tagsinput-typeahead";
@import "jstree_style.min";
@import "shared_styles/elements/*";
@import "handsontable.full";
@import "emojionearea.min";
@import "ajax-bootstrap-select.min";
@import "extend/bootstrap";
@import "access_permissions/*";
@import "extend/*";
@import "hooks/*";
@import "partials/*";
@import "my_modules/protocols/*";
@import "my_modules/results/*";
@import "my_modules/*";
@import "protocols/*";
@import "dashboard/*";
@import "repository/*";
@import "experiment/*";
@import "repository_columns/*";
@import "label_templates/*";
@import "reports/*";
@import "settings/*";
@import "shared/*";
@import "steps/*";
@import "themes/*";
@import "navigation/*";
@import "*"

View file

@ -0,0 +1,78 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
// scss-lint:disable SelectorFormat
// scss-lint:disable ImportantRule
// scss-lint:disable IdSelector
// MarvinJs modal
.modal-bio-eddie {
background: transparent;
font-size: $font-size-base;
padding: 0 !important;
.modal-dialog {
height: 100%;
margin: 0;
padding: 0;
width: auto;
}
.modal-content {
background: transparent;
border: 0;
box-shadow: none;
height: 100%;
width: auto;
}
.modal-header {
background: $color-white;
display: flex;
height: 60px;
line-height: 40px;
padding: 10px 15px;
text-align: center;
.file-save-link {
flex-shrink: 0;
margin: 0 20px 0 0;
img {
height: 16px;
vertical-align: sub;
}
}
.file-name {
align-items: center;
display: flex;
flex-shrink: 0;
float: left;
margin-right: auto;
input {
border-radius: 5px;
box-shadow: none;
color: $color-black;
height: 40px;
margin-left: 5px;
outline: 0;
padding: 5px 10px;
position: relative;
width: 350px;
}
}
}
.modal-body {
height: calc(100% - 60px);
padding: 0;
iframe {
height: 100%;
position: relative;
width: 100%;
}
}
}

View file

@ -1,509 +1,3 @@
//==============================================================================
// Colors
//==============================================================================
// Grayscale colors
/*$color-white: #fff;
$color-alabaster: #fcfcfc;
$color-concrete: #f2f2f2;
$color-gainsboro: #e3e3e3;
$color-alto: #d2d2d2;
$color-silver: #c5c5c5;
$color-silver-chalice: #a0a0a0;
$color-dove-gray: #666;
$color-emperor: #555;
$color-black: #000;
// Theme colors
$brand-default: $color-white;
$brand-primary: #37a0d9;
$brand-primary-new: #104da9;
$brand-success: #2dbe61;
$brand-info: #5bc0de;
$brand-warning: #f0ad4e;
$brand-danger: #e54e42;
$brand-other: #8fd13f;
$brand-extra: #34495e;
$brand-primary-light: #dcedf6;
$brand-success-light: #e2eed8;
$brand-warning-light: #fcf7e4;
$brand-danger-light: #efdfdf;
$brand-light-blue: #e3f1f9;
$brand-academy: #de0170;
$brand-academy-dark: #c60064;
// MS Office colors:
$office-ms-word: #2b579a;
$office-ms-excel: #217346;
$office-ms-powerpoint: #d24726;
// MarvinJS color:
$marvinjs-color: #29999c;
*/
//==============================================================================
// Other
//==============================================================================
// Some big value which is still supported by all browsers
$infinity: 9999999;
//==============================================================================
// Bootstrap
//==============================================================================
// Grayscale Colors in bootstrap
$gray-darker: $color-black;
$gray-dark: $color-emperor;
$gray: $color-emperor;
$gray-light: $color-dove-gray;
$gray-lighter: $color-concrete;
// Scaffolding
// $body-bg: $color-concrete;
// $text-color: $color-emperor;
// $link-color: $brand-primary;
// $link-hover-color: darken($link-color, 15%);
// $link-hover-decoration: underline;
// Typography
/*$font-family-lato: Lato, "Open Sans", Arial, Helvetica, sans-serif;
$font-family-sans-serif: "Open Sans", Arial, Helvetica, sans-serif;
$font-family-serif: Georgia, "Times New Roman", Times, serif;
$font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
$font-family-base: $font-family-lato;
$font-family-icons: "Font Awesome 5 Free";
$font-size-base: 14px;
$font-size-large: ceil(($font-size-base * 1.1)); //16px
$font-size-small: ceil(($font-size-base * .9)); //13px
$font-size-h1: floor(($font-size-base * 2.6)); //36px
$font-size-h2: floor(($font-size-base * 2.15)); //30px
$font-size-h3: ceil(($font-size-base * 1.7)); //24px
$font-size-h4: ceil(($font-size-base * 1.25)); //18px
$font-size-h5: $font-size-base; //14px
$font-size-h6: ceil(($font-size-base * .85)); //12px
$line-height-base: 1.428571429;
$line-height-computed: floor(($font-size-base * $line-height-base));
$headings-font-family: inherit;
$headings-font-weight: 500;
$headings-line-height: 1.1;
$headings-color: inherit;*/
// Components
$padding-base-vertical: 6px;
$padding-base-horizontal: 12px;
$padding-large-vertical: 10px;
$padding-large-horizontal: 16px;
$padding-small-vertical: 5px;
$padding-small-horizontal: 10px;
$padding-xs-vertical: 1px;
$padding-xs-horizontal: 5px;
$line-height-large: 1.3333333;
$line-height-small: 1.5;
$border-radius-base: 4px;
$border-radius-large: 6px;
$border-radius-small: 3px;
$component-active-color: $color-white;
$component-active-bg: $brand-primary;
$caret-width-base: 4px;
$caret-width-large: 5px;
// // Tables
// $table-cell-padding: 8px;
// $table-condensed-cell-padding: 5px;
// $table-bg: transparent;
// $table-bg-accent: #f9f9f9;
// $table-bg-hover: #f5f5f5;
// $table-bg-active: $table-bg-hover;
// $table-border-color: #ddd;
// Buttons
$btn-font-weight: normal;
$btn-default-color: $gray-dark;
$btn-default-bg: $brand-default;
$btn-default-border: $color-silver;
$btn-primary-color: $color-white;
$btn-primary-bg: $brand-primary;
$btn-primary-border: darken($btn-primary-bg, 5%);
$btn-primary-new-color: $color-white;
$btn-primary-new-bg: $brand-primary;
$btn-primary-new-border: darken($brand-primary , 5%);
$btn-success-color: $color-white;
$btn-success-bg: $brand-primary;
$btn-success-border: darken($btn-success-bg, 5%);
$btn-info-color: $color-white;
$btn-info-bg: $brand-primary;
$btn-info-border: $brand-primary;
$btn-warning-color: $color-white;
$btn-warning-bg: $brand-warning;
$btn-warning-border: darken($btn-warning-bg, 5%);
$btn-danger-color: $color-white;
$btn-danger-bg: $brand-danger;
$btn-danger-border: darken($btn-danger-bg, 5%);
$btn-link-disabled-color: $gray-light;
$btn-border-radius-base: $border-radius-base;
$btn-border-radius-large: $border-radius-large;
$btn-border-radius-small: $border-radius-small;
// // Forms
// $input-bg: #fff;
// $input-bg-disabled: $gray-lighter;
// $input-color: $gray;
$input-border: #ccc;
// $input-border-radius: $border-radius-base;
// $input-border-radius-large: $border-radius-large;
// $input-border-radius-small: $border-radius-small;
// $input-border-focus: #66afe9;
// $input-color-placeholder: #999;
// $input-height-base: ($line-height-computed + ($padding-base-vertical * 2) + 2);
// $input-height-large: (ceil($font-size-large * $line-height-large) + ($padding-large-vertical * 2) + 2);
// $input-height-small: (floor($font-size-small * $line-height-small) + ($padding-small-vertical * 2) + 2);
// $form-group-margin-bottom: 15px;
// $legend-color: $gray-dark;
// $legend-border-color: #e5e5e5;
// $input-group-addon-bg: $gray-lighter;
// $input-group-addon-border-color: $input-border;
// $cursor-disabled: not-allowed;
//
// // Dropdowns
// $dropdown-bg: #fff;
// $dropdown-border: rgba(0,0,0,.15);
// $dropdown-fallback-border: #ccc;
// $dropdown-divider-bg: #e5e5e5;
// $dropdown-link-color: $gray-dark;
// $dropdown-link-hover-color: darken($gray-dark, 5%);
// $dropdown-link-hover-bg: #f5f5f5;
// $dropdown-link-active-color: $component-active-color;
// $dropdown-link-active-bg: $component-active-bg;
// $dropdown-link-disabled-color: $gray-light;
// $dropdown-header-color: $gray-light;
// $dropdown-caret-color: #000;
//
// // Media queries breakpoints
// $screen-xs: 480px;
// $screen-xs-min: $screen-xs;
// $screen-phone: $screen-xs-min;
// $screen-sm: 768px;
// $screen-sm-min: $screen-sm;
// $screen-tablet: $screen-sm-min;
// $screen-md: 992px;
// $screen-md-min: $screen-md;
// $screen-desktop: $screen-md-min;
// $screen-lg: 1200px;
// $screen-lg-min: $screen-lg;
// $screen-lg-desktop: $screen-lg-min;
// $screen-xs-max: ($screen-sm-min - 1);
// $screen-sm-max: ($screen-md-min - 1);
// $screen-md-max: ($screen-lg-min - 1);
//
// // Grid system
// $grid-columns: 12;
// $grid-gutter-width: 30px;
// $grid-float-breakpoint: $screen-sm-min;
// $grid-float-breakpoint-max: ($grid-float-breakpoint - 1);
// Container sizes
$container-tablet: auto;
$container-sm: auto;
$container-desktop: auto;
$container-md: auto;
$container-large-desktop: auto;
$container-lg: auto;
// // Navbar
// $navbar-height: 50px;
// $navbar-margin-bottom: $line-height-computed;
// $navbar-border-radius: $border-radius-base;
// $navbar-padding-horizontal: floor(($grid-gutter-width / 2));
// $navbar-padding-vertical: (($navbar-height - $line-height-computed) / 2);
// $navbar-collapse-max-height: 340px;
// $navbar-default-color: #777;
// $navbar-default-bg: #f8f8f8;
// $navbar-default-border: darken($navbar-default-bg, 6.5%);
// $navbar-default-link-color: #777;
// $navbar-default-link-hover-color: #333;
// $navbar-default-link-hover-bg: transparent;
// $navbar-default-link-active-color: #555;
// $navbar-default-link-active-bg: darken($navbar-default-bg, 6.5%);
// $navbar-default-link-disabled-color: #ccc;
// $navbar-default-link-disabled-bg: transparent;
// $navbar-default-brand-color: $navbar-default-link-color;
// $navbar-default-brand-hover-color: darken($navbar-default-brand-color, 10%);
// $navbar-default-brand-hover-bg: transparent;
// $navbar-default-toggle-hover-bg: #ddd;
// $navbar-default-toggle-icon-bar-bg: #888;
// $navbar-default-toggle-border-color: #ddd;
//
// // Inverted navbar
// $navbar-inverse-color: lighten($gray-light, 15%);
// $navbar-inverse-bg: #222;
// $navbar-inverse-border: darken($navbar-inverse-bg, 10%);
// $navbar-inverse-link-color: lighten($gray-light, 15%);
// $navbar-inverse-link-hover-color: #fff;
// $navbar-inverse-link-hover-bg: transparent;
// $navbar-inverse-link-active-color: $navbar-inverse-link-hover-color;
// $navbar-inverse-link-active-bg: darken($navbar-inverse-bg, 10%);
// $navbar-inverse-link-disabled-color: #444;
// $navbar-inverse-link-disabled-bg: transparent;
// $navbar-inverse-brand-color: $navbar-inverse-link-color;
// $navbar-inverse-brand-hover-color: #fff;
// $navbar-inverse-brand-hover-bg: transparent;
// $navbar-inverse-toggle-hover-bg: #333;
// $navbar-inverse-toggle-icon-bar-bg: #fff;
// $navbar-inverse-toggle-border-color: #333;
//
// // Navs
// $nav-link-padding: 10px 15px;
// $nav-link-hover-bg: $gray-lighter;
// $nav-disabled-link-color: $gray-light;
// $nav-disabled-link-hover-color: $gray-light;
//
// // Tabs
// $nav-tabs-border-color: #ddd;
// $nav-tabs-link-hover-border-color: $gray-lighter;
// $nav-tabs-active-link-hover-bg: $body-bg;
// $nav-tabs-active-link-hover-color: $gray;
// $nav-tabs-active-link-hover-border-color: #ddd;
// $nav-tabs-justified-link-border-color: #ddd;
// $nav-tabs-justified-active-link-border-color: $body-bg;
//
// // Pills
// $nav-pills-border-radius: $border-radius-base;
// $nav-pills-active-link-hover-bg: $component-active-bg;
// $nav-pills-active-link-hover-color: $component-active-color;
//
// // Pagination
// $pagination-color: $link-color;
// $pagination-bg: #fff;
// $pagination-border: #ddd;
// $pagination-hover-color: $link-hover-color;
// $pagination-hover-bg: $gray-lighter;
// $pagination-hover-border: #ddd;
// $pagination-active-color: #fff;
// $pagination-active-bg: $brand-primary;
// $pagination-active-border: $brand-primary;
// $pagination-disabled-color: $gray-light;
// $pagination-disabled-bg: #fff;
// $pagination-disabled-border: #ddd;
//
// // Pager
// $pager-bg: $pagination-bg;
// $pager-border: $pagination-border;
// $pager-border-radius: 15px;
// $pager-hover-bg: $pagination-hover-bg;
// $pager-active-bg: $pagination-active-bg;
// $pager-active-color: $pagination-active-color;
// $pager-disabled-color: $pagination-disabled-color;
//
// // Jumbotron
// $jumbotron-padding: 30px;
// $jumbotron-color: inherit;
// $jumbotron-bg: $gray-lighter;
// $jumbotron-heading-color: inherit;
// $jumbotron-font-size: ceil(($font-size-base * 1.5));
// $jumbotron-heading-font-size: ceil(($font-size-base * 4.5));
// Form states and alerts
$state-success-text: $brand-success;
$state-success-bg: $brand-success-light;
$state-success-border: adjust-hue(darken($state-success-bg, 5%), -10);
$state-info-text: $brand-focus;
$state-info-bg: $brand-focus-light;
$state-info-border: adjust-hue(darken($state-info-bg, 7%), -10);
$state-warning-text: $brand-warning;
$state-warning-bg: $brand-warning-light;
$state-warning-border: adjust-hue(darken($state-warning-bg, 5%), -10);
$state-danger-text: $brand-danger;
$state-danger-bg: $brand-danger-light;
$state-danger-border: adjust-hue(darken($state-danger-bg, 5%), -10);
// // Tooltips
// $tooltip-max-width: 200px;
// $tooltip-color: #fff;
// $tooltip-bg: #000;
// $tooltip-opacity: .9;
// $tooltip-arrow-width: 5px;
// $tooltip-arrow-color: $tooltip-bg;
//
// // Popovers
// $popover-bg: #fff;
// $popover-max-width: 276px;
// $popover-border-color: rgba(0,0,0,.2);
// $popover-fallback-border-color: #ccc;
// $popover-title-bg: darken($popover-bg, 3%);
// $popover-arrow-width: 10px;
// $popover-arrow-color: $popover-bg;
// $popover-arrow-outer-width: ($popover-arrow-width + 1);
// $popover-arrow-outer-color: fadein($popover-border-color, 5%);
// $popover-arrow-outer-fallback-color: darken($popover-fallback-border-color, 20%);
//
// // Labels
// $label-default-bg: $gray-light;
// $label-primary-bg: $brand-primary;
// $label-success-bg: $brand-success;
// $label-info-bg: $brand-info;
// $label-warning-bg: $brand-warning;
// $label-danger-bg: $brand-danger;
// $label-color: #fff;
// $label-link-hover-color: #fff;
//
// // Modals
// $modal-inner-padding: 15px;
// $modal-title-padding: 15px;
// $modal-title-line-height: $line-height-base;
// $modal-content-bg: #fff;
// $modal-content-border-color: rgba(0,0,0,.2);
// $modal-content-fallback-border-color: #999;
// $modal-backdrop-bg: #000;
// $modal-backdrop-opacity: .5;
// $modal-header-border-color: #e5e5e5;
// $modal-footer-border-color: $modal-header-border-color;
// $modal-lg: 900px;
// $modal-md: 600px;
// $modal-sm: 300px;
//
// Alerts
$alert-padding: 15px;
$alert-border-radius: $border-radius-base;
$alert-link-font-weight: bold;
$alert-success-bg: $state-success-bg;
$alert-success-text: $state-success-text;
$alert-success-border: $state-success-border;
$alert-info-bg: $state-info-bg;
$alert-info-text: $state-info-text;
$alert-info-border: $state-info-border;
$alert-warning-bg: $state-warning-bg;
$alert-warning-text: $state-warning-text;
$alert-warning-border: $state-warning-border;
$alert-danger-bg: $state-danger-bg;
$alert-danger-text: $state-danger-text;
$alert-danger-border: $state-danger-border;
//
// // Progress bars
// $progress-bg: #f5f5f5;
// $progress-bar-color: #fff;
// $progress-border-radius: $border-radius-base;
// $progress-bar-bg: $brand-primary;
// $progress-bar-success-bg: $brand-success;
// $progress-bar-warning-bg: $brand-warning;
// $progress-bar-danger-bg: $brand-danger;
// $progress-bar-info-bg: $brand-info;
//
// // List group
// $list-group-bg: #fff;
// $list-group-border: #ddd;
// $list-group-border-radius: $border-radius-base;
// $list-group-hover-bg: #f5f5f5;
// $list-group-active-color: $component-active-color;
// $list-group-active-bg: $component-active-bg;
// $list-group-active-border: $list-group-active-bg;
// $list-group-active-text-color: lighten($list-group-active-bg, 40%);
// $list-group-disabled-color: $gray-light;
// $list-group-disabled-bg: $gray-lighter;
// $list-group-disabled-text-color: $list-group-disabled-color;
// $list-group-link-color: #555;
// $list-group-link-hover-color: $list-group-link-color;
// $list-group-link-heading-color: #333;
//
// // Panels
// $panel-bg: #fff;
// $panel-body-padding: 15px;
// $panel-heading-padding: 10px 15px;
// $panel-footer-padding: $panel-heading-padding;
// $panel-border-radius: $border-radius-base;
// $panel-inner-border: #ddd;
// $panel-footer-bg: #f5f5f5;
// $panel-default-text: $gray-dark;
// $panel-default-border: #ddd;
// $panel-default-heading-bg: #f5f5f5;
// $panel-primary-text: #fff;
// $panel-primary-border: $brand-primary;
// $panel-primary-heading-bg: $brand-primary;
// $panel-success-text: $state-success-text;
// $panel-success-border: $state-success-border;
// $panel-success-heading-bg: $state-success-bg;
// $panel-info-text: $state-info-text;
// $panel-info-border: $state-info-border;
// $panel-info-heading-bg: $state-info-bg;
// $panel-warning-text: $state-warning-text;
// $panel-warning-border: $state-warning-border;
// $panel-warning-heading-bg: $state-warning-bg;
// $panel-danger-text: $state-danger-text;
// $panel-danger-border: $state-danger-border;
// $panel-danger-heading-bg: $state-danger-bg;
//
// // Thumbnails
// $thumbnail-padding: 4px;
// $thumbnail-bg: $body-bg;
// $thumbnail-border: #ddd;
// $thumbnail-border-radius: $border-radius-base;
// $thumbnail-caption-color: $text-color;
// $thumbnail-caption-padding: 9px;
//
// // Wells
// $well-bg: #f5f5f5;
// $well-border: darken($well-bg, 7%);
//
// // Badges
// $badge-color: #fff;
// $badge-link-hover-color: #fff;
// $badge-bg: $gray-light;
// $badge-active-color: $link-color;
// $badge-active-bg: #fff;
// $badge-font-weight: bold;
// $badge-line-height: 1;
// $badge-border-radius: 10px;
//
// // Breadcrumbs
// $breadcrumb-padding-vertical: 8px;
// $breadcrumb-padding-horizontal: 15px;
// $breadcrumb-bg: #f5f5f5;
// $breadcrumb-color: #ccc;
// $breadcrumb-active-color: $gray-light;
// $breadcrumb-separator: "/";
//
// // Carousel
// $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6);
// $carousel-control-color: #fff;
// $carousel-control-width: 15%;
// $carousel-control-opacity: .5;
// $carousel-control-font-size: 20px;
// $carousel-indicator-active-bg: #fff;
// $carousel-indicator-border-color: #fff;
// $carousel-caption-color: #fff;
//
// // Close
// $close-font-weight: bold;
// $close-color: #000;
// $close-text-shadow: 0 1px 0 #fff;
//
// // Code
// $code-color: #c7254e;
// $code-bg: #f9f2f4;
// $kbd-color: #fff;
// $kbd-bg: #333;
// $pre-bg: #f5f5f5;
// $pre-color: $gray-dark;
// $pre-border-color: #ccc;
// $pre-scrollable-max-height: 340px;
//
// // Type
// $component-offset-horizontal: 180px;
// $text-muted: $gray-light;
// $abbr-border-color: $gray-light;
// $headings-small-color: $gray-light;
// $blockquote-small-color: $gray-light;
// $blockquote-font-size: ($font-size-base * 1.25);
// $blockquote-border-color: $gray-lighter;
// $page-header-border-color: $gray-lighter;
// $dl-horizontal-offset: $component-offset-horizontal;
// $dl-horizontal-breakpoint: $grid-float-breakpoint;
// $hr-border: $gray-lighter;
//
//
//
// // Material design - https://material.io/design/
//
// Card style
$md-color-shadow-light: rgba(0, 0, 0, .12);
$md-color-shadow-dark: rgba(0, 0, 0, .18);

View file

@ -1,7 +1,5 @@
/* Extending Bootstrap */
@import 'constants';
/* navbar avatar image */
.navbar-nav .dropdown-toggle[title="Account"] {
align-items: center;

View file

@ -1,6 +1,4 @@
// scss-lint:disable all
@import "constants";
.ps {
overflow: hidden !important;
overflow-anchor: none;

View file

@ -1,8 +1,6 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
@import "constants";
@import "mixins";
.global-activities-container {
background: $color-white;

View file

@ -1,6 +1,3 @@
@import "constants";
@import "mixins";
.mce-image-loader {
display: none !important;

View file

@ -1,6 +1,3 @@
@import "constants";
@import "mixins";
#tui-image-editor {
.tui-image-editor {
top: 0 !important;

View file

@ -1,7 +1,7 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
@import "../shared_styles/constants/*";
@import "../shared_styles/constants";
@import "../constants";
@page {

View file

@ -4,8 +4,6 @@
// scss-lint:disable ImportantRule
// scss-lint:disable IdSelector
@import "constants";
@import "mixins";
// MarvinJs modal
.modal-marvin-js {

View file

@ -4,8 +4,6 @@
// scss-lint:disable SelectorDepth SelectorFormat
// scss-lint:disable NestingDepth QualifyingElement
@import "constants";
// Fix for elements being scrolled to being hidden behind sticky navigation
html {
scroll-padding-top: 128px;

View file

@ -4,8 +4,8 @@
// scss-lint:disable ImportantRule
// scss-lint:disable IdSelector
@import "constants";
@import "mixins";
.my-module-header {
.my-module-title-row {

View file

@ -3,8 +3,8 @@
// scss-lint:disable SelectorFormat
// scss-lint:disable ImportantRule
@import "constants";
@import "mixins";
#results-toolbar {
align-items: center;

View file

@ -3,9 +3,6 @@
// scss-lint:disable SelectorFormat
// scss-lint:disable ImportantRule
@import "constants";
@import "mixins";
.content-pane.my-modules-protocols-index {
.status-flow-dropdown {
.dropdown-toggle {

View file

@ -1,5 +1,5 @@
@import 'constants';
@import "mixins";
.notifications-container {
margin-bottom: 20px;
@ -53,7 +53,6 @@
border-radius: 50%;
color: $color-concrete;
display: inline-block;
font-size: $font-size-small;
height: 30px;
padding-top: 5px;
width: 30px;
@ -64,7 +63,6 @@
border-radius: 50%;
color: $color-concrete;
display: inline-block;
font-size: $font-size-small;
height: 30px;
padding-top: 5px;
width: 30px;
@ -75,7 +73,6 @@
border-radius: 50%;
color: $color-concrete;
display: inline-block;
font-size: $font-size-small;
height: 30px;
padding-top: 5px;
width: 30px;
@ -86,7 +83,6 @@
border-radius: 50%;
color: $color-concrete;
display: inline-block;
font-size: $font-size-small;
height: 30px;
padding-top: 5px;
width: 30px;

View file

@ -1,6 +1,3 @@
@import "constants";
@import "mixins";
.inline-editing-container {
line-height: 32px;
position: relative;
@ -87,7 +84,7 @@
input {
border: 1px solid $color-silver;
border-radius: $border-radius-small;
border-radius: $border-radius-default;
cursor: pointer;
display: block;
line-height: 26px;

View file

@ -1,236 +0,0 @@
/*!
* Start Bootstrap - Simple Sidebar HTML Template (http://startbootstrap.com)
* Code licensed under the Apache License v2.0.
* For details, see http://www.apache.org/licenses/LICENSE-2.0.
*/
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
@import "constants";
@import "mixins";
:root {
--wrapper-width: 280px;
}
#wrapper {
display: none;
padding-left: var(--wrapper-width);
padding-right: 0;
transition: .4s $timing-function-sharp;
}
.sidebar-container {
background-color: $color-concrete;
display: flex;
flex-direction: column;
height: calc(100vh - var(--navbar-height));
left: var(--menu-bar-width);
position: fixed;
transition: .4s $timing-function-sharp;
width: var(--wrapper-width);
z-index: 999;
.show-sidebar {
display: none;
}
.sidebar-header {
align-items: center;
color: $color-silver-chalice;
display: flex;
flex-shrink: 0;
height: 2.5em;
padding: 0 1em;
.sidebar-title {
@include font-small;
}
.close-sidebar {
cursor: pointer;
display: inline-block;
line-height: 2em;
margin-left: auto;
text-align: center;
width: 2em;
}
}
.sidebar-body {
background: linear-gradient($color-concrete 30%, hsla(0, 0%, 100%, 0)),
linear-gradient(rgba(0, 0, 0, .1), transparent 70%);
background-attachment: local, scroll;
background-repeat: no-repeat;
background-size: 100% 1em, 100% .5em;
flex-basis: calc(100% - 2.5em);
flex-grow: 1;
overflow: auto;
position: relative;
}
.sidebar-footer {
flex-grow: 1;
flex-shrink: 0;
}
&.collapsed {
left: calc(var(--menu-bar-width) - var(--wrapper-width));
.show-sidebar {
background: $color-concrete;
border-radius: 0 $border-radius-default $border-radius-default 0;
cursor: pointer;
display: block;
line-height: 3em;
margin-right: -2em;
position: absolute;
right: 0;
text-align: center;
top: .5em;
width: 2em;
}
}
.sidebar-branch {
flex-basis: 100%;
flex-grow: 1;
list-style-type: none;
padding-left: 2.5em;
}
.delimiter {
background: $color-alto;
height: 1px;
margin: .5em 2.5em .5em 0;
}
.sidebar-leaf {
align-items: center;
display: flex;
flex-wrap: wrap;
.fa-map-marker-alt {
color: $color-alto;
}
&:hover .fa-map-marker-alt,
.fa-map-marker-alt.module-hover {
color: $color-concrete;
}
.toggle-branch {
cursor: pointer;
display: inline-block;
line-height: 4em;
margin-left: -2em;
margin-right: .5em;
position: relative;
text-align: center;
width: 1.5em;
&:hover ~ .sidebar-link:not(.selected) {
background: $color-alto;
}
&.collapsed ~ .sidebar-branch {
display: none;
}
}
.sidebar-link {
color: $color-black;
display: inline-block;
flex-grow: 1;
line-height: 2em;
margin-left: -2.5em;
max-width: var(--wrapper-width);
overflow: hidden;
padding: 1em 2.5em;
text-decoration: none;
text-overflow: ellipsis;
white-space: nowrap;
&:hover,
&.module-hover {
background: $color-alto;
}
&.selected {
background: $color-white;
color: $brand-primary;
font-weight: normal;
}
.fas {
margin-right: .5em;
}
.fa-folder {
color: $brand-primary-light;
}
&.back-button::before {
@include font-awesome;
content: "\f060";
left: 1em;
line-height: 26px;
position: absolute;
}
}
.canvas-center-on {
cursor: pointer;
display: inline-block;
line-height: 4em;
margin-left: -2.5em;
position: relative;
text-align: center;
width: 2.5em;
&:hover {
color: $brand-primary;
}
}
.repository-link {
padding-right: 3em;
position: relative;
.repository-share-status {
display: contents !important;
position: absolute;
right: -3em;
&.hidden {
display: none !important;
}
}
.fas-custom {
height: 4em;
padding: 1.25em .75em;
position: absolute;
right: 0;
top: 0;
width: 3em;
}
}
}
}
.my-module-group-element::before {
border-left: 1px dotted $color-emperor;
bottom: 20px;
content: "";
left: 34px;
position: absolute;
top: 25px;
}
.sidebar-no-module-group {
color: $color-silver-chalice;
}

View file

@ -1,9 +1,5 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
@import "constants";
@import "mixins";
.tree {
height: calc(100% - 30px);
padding-bottom: 30px;

View file

@ -1,8 +1,8 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
// scss-lint:disable IdSelector
@import "constants";
@import "mixins";
// Some color definitions
$color-group-hover: $color-alabaster;
@ -422,7 +422,7 @@ path, ._jsPlumb_endpoint {
span {
font-weight: bold;
font-size: $font-size-large;
font-size: 20px;
text-transform: uppercase;
display: block;
margin-top: 10%;
@ -511,7 +511,7 @@ li.module-hover {
margin-top: 5px;
font-family: 'Glyphicons Halflings';
color: $color-white;
font-size: $font-size-large;
font-size: 20px;
&:before {
content: "\e221";

View file

@ -1,6 +1,6 @@
// scss-lint:disable SelectorDepth, NestingDepth, SelectorFormat, ImportantRule, QualifyingElement, IdSelector
@import "constants";
#protocolsioModal {
.modal-body {

View file

@ -1,9 +1,6 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
@import "constants";
@import "mixins";
#protocol-preview-modal .modal-dialog {
.modal-body {
max-height: 75vh;

View file

@ -1,8 +1,6 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
@import "constants";
@import "mixins";
.content-pane.protocols-show {
--container-margin: 20px;

View file

@ -1,7 +1,7 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
@import 'constants';
@import "mixins";
/* Index page */
.report-table {

View file

@ -1,5 +1,5 @@
@import 'constants';
@import "mixins";
/** Custom CSS for report print (& PDF) */
body.print-report-body {

View file

@ -1,10 +1,6 @@
// scss-lint:disable SelectorDepth SelectorFormat QualifyingElement
// scss-lint:disable NestingDepth ImportantRule
@import "constants";
@import "layouts/reminders";
.repository-show {
margin: 0;

View file

@ -1,8 +1,8 @@
// scss-lint:disable SelectorDepth SelectorFormat QualifyingElement
// scss-lint:disable NestingDepth ImportantRule
@import "constants";
@import "layouts/reminders";
@import "../layouts/reminders";
.repository-table {
--content-header-size: 3.5rem;

View file

@ -2,7 +2,7 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
@import "constants";
#manage-repository-column {
.modal-content {

View file

@ -1,6 +1,6 @@
// scss-lint:disable NestingDepth
@import "constants";
#manage-repository-column {
.dropdown-preview {

View file

@ -1,7 +1,5 @@
// scss-lint:disable SelectorFormat
@import "constants";
.status-item-list {
max-height: 350px;
overflow-y: auto;
@ -16,7 +14,7 @@
transition: .3s;
.status-item-field {
border: 1px solid $input-border;
border: 1px solid $color-alto;
border-left: 0;
border-radius: 0 4px 4px 0;
flex-grow: 1;
@ -77,7 +75,7 @@
}
.status-item-icon {
border-right-color: $input-border;
border-right-color: $color-alto;
}
&::before {

View file

@ -1,8 +1,6 @@
// scss-lint:disable SelectorDepth SelectorFormat
// scss-lint:disable NestingDepth ImportantRule
@import "constants";
@import "mixins";
.user-account-preferences {
.content-pane {

View file

@ -1,8 +1,6 @@
// scss-lint:disable SelectorDepth SelectorFormat
// scss-lint:disable NestingDepth ImportantRule
@import "constants";
@import "mixins";
.team-settings-pane {
.settings-team-name {
@ -61,7 +59,7 @@
.input-field {
border: 1px solid $color-silver;
border-radius: $border-radius-small;
border-radius: $border-radius-default;
cursor: pointer;
display: block;
float: left;
@ -177,7 +175,7 @@
.open {
.input-field {
border: 1px solid $brand-focus;
border-radius: $border-radius-small;
border-radius: $border-radius-default;
.fa-search {
color: $brand-focus;

View file

@ -1,5 +1,3 @@
@import "constants";
@import "mixins";
.user-settings {
.settings-row {

View file

@ -1,8 +1,6 @@
// scss-lint:disable SelectorDepth SelectorFormat QualifyingElement
// scss-lint:disable NestingDepth ImportantRule
@import "constants";
@import "mixins";
.global-avatar-container {
border-radius: 15px;

View file

@ -1,8 +1,6 @@
// scss-lint:disable SelectorDepth SelectorFormat
// scss-lint:disable NestingDepth ImportantRule
@import "constants";
@import "mixins";
.comments-container {
// Comment item
@ -45,7 +43,7 @@
.view-mode {
border: 1px solid transparent;
border-radius: $border-radius-small;
border-radius: $border-radius-default;
display: inline-block;
line-height: 16px;
min-height: 20px;
@ -60,7 +58,7 @@
textarea {
border: 1px solid $color-silver;
border-radius: $border-radius-small;
border-radius: $border-radius-default;
height: 22px;
line-height: 16px;
overflow: hidden;

View file

@ -1,8 +1,6 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
@import "constants";
.select-container--with-search .dropdown-selector-container {
&.active,
&.open {

View file

@ -108,7 +108,7 @@
}
.connect-line {
background: $input-border;
background: var(--sn-super-light-grey);
height: 10px;
margin: 5px auto;
width: 2px;

View file

@ -1,4 +1,4 @@
@import "constants";
.fas-custom {
background-repeat: no-repeat;

View file

@ -1,7 +1,7 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
// scss-lint:disable IdSelector
@import "constants";
.folders-tree-container {
--row-height: 36px;

View file

@ -1 +1,7 @@
@import "constants/*";
@import "constants/borders";
@import "constants/colors";
@import "constants/fonts";
@import "constants/shadows";
@import "constants/transition";

View file

@ -106,3 +106,27 @@ html {
// $headings-font-weight: 500;
// $headings-line-height: 1.1;
// $headings-color: inherit;
h1 {
@include font-h1;
}
h2 {
@include font-h2;
}
h3 {
@include font-h3;
}
h4 {
@include font-h3;
}
h5 {
@include font-h3;
}
h6 {
@include font-h3;
}

View file

@ -1,7 +1,5 @@
// scss-lint:disable SelectorDepth, NestingDepth, ImportantRule
@import "constants";
.dropdown-menu .divider {
margin: 5px 0;
}

View file

@ -35,6 +35,13 @@
&::placeholder {
color: $color-alto;
}
&.textarea {
height: unset;
min-height: 36px;
padding: 10px;
resize: vertical;
}
}
.sci-input-field[type=password] {

View file

@ -1,7 +1,15 @@
// scss-lint:disable Comment
@import "constants/*";
@import "elements/*";
@import "elements/alerts";
@import "elements/bootstrap_tabs";
@import "elements/checkboxes";
@import "elements/dialogs";
@import "elements/dropdown";
@import "elements/input_fields";
@import "elements/modal";
@import "elements/navigation";
@import "elements/radio_buttons";
@import "elements/toggles";
// Examples

View file

@ -6,11 +6,6 @@
// scss-lint:disable SelectorFormat
// scss-lint:disable ImportantRule
// scss-lint:disable Unknown
@import "constants";
@import "mixins";
#steps {
// hack only for firefox
@-moz-document url-prefix() {

View file

@ -1,7 +1,9 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
@import "components/*";
@import "components/checklist";
@import "components/table";
@import "components/text";
.step-container {
--left-component-padding: 2rem;

View file

@ -1,5 +1,3 @@
@import "constants";
@import "mixins";
// System notification partial
.system-notification {

View file

@ -1,5 +1,4 @@
@import 'constants';
@import "mixins";
#main-nav {
box-shadow: $flyout-shadow;
@ -94,7 +93,6 @@
border-radius: 50%;
color: $color-concrete;
display: block;
font-size: $font-size-h3;
height: 45px;
padding-top: 5px;
width: 45px;
@ -105,7 +103,6 @@
border-radius: 50%;
color: $color-concrete;
display: block;
font-size: $font-size-h3;
height: 45px;
padding-top: 5px;
width: 45px;
@ -116,7 +113,6 @@
border-radius: 50%;
color: $color-concrete;
display: block;
font-size: $font-size-h3;
height: 45px;
padding-top: 5px;
width: 45px;
@ -127,7 +123,6 @@
border-radius: 50%;
color: $color-concrete;
display: block;
font-size: $font-size-h3;
height: 45px;
padding-top: 8px;
width: 45px;
@ -459,9 +454,5 @@
}
a {
font-size: $font-size-small;
font-weight: $headings-font-weight;
}
}
}

View file

@ -1,5 +1,4 @@
@import "constants";
@import "mixins";
:root {
--menu-bar-width: 83px;

View file

@ -1,4 +1,4 @@
@import "constants";
// Projects overview table

View file

@ -1,4 +1,4 @@
@import "constants";
.repository-columns-body {
margin-top: 50px;
@ -24,16 +24,6 @@
float: right;
}
.custom-alert-info {
background-color: $state-info-bg;
border: 1px solid $state-info-border;
color: $color-volcano;
margin: 10px 0;
opacity: .86;
padding: 15px;
width: 100%;
}
.repository-input-file-field {
width: auto;
@ -46,10 +36,6 @@
justify-content: space-between;
}
.form-group.has-error {
border-color: $state-danger-border;
}
button {
height: 22px;
margin: 5px;

View file

@ -1,11 +1,8 @@
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
@import "constants";
@import "mixins";
@import "main_navigation";
@import "repositories";
@import "bootstrap/mixins/buttons";
/** Layout **/
// Word wrapping everywhere, except for table header of "datatables.js"
@ -95,7 +92,6 @@ table {
.dropdown-header {
background-color: $brand-primary;
color: $color-concrete;
font-size: $font-size-base;
font-weight: bold;
padding: 8px 20px;
@ -109,10 +105,6 @@ table {
margin-bottom: 5px;
}
.blockquote-search {
font-size: $font-size-base;
margin-bottom: 10px;
}
.vertical-spacer-one-half {
display: inline-block;
@ -126,9 +118,6 @@ table {
/** Skin **/
body {
font-size: $font-size-small;
}
.modal-body {
font-size: $font-size-base;
@ -451,7 +440,6 @@ mark,.mark {
padding: 13px;
.fas.fa-info-circle {
font-size: $font-size-large;
margin-top: 4px;
}
}
@ -1174,7 +1162,7 @@ body > .loading-overlay {
visibility: hidden;
width: 200px;
word-wrap: break-word;
z-index: $infinity;
z-index: 10000;
}
}
@ -1389,7 +1377,6 @@ th.custom-field .modal-tooltiptext {
.tooltip-open {
background-color: $color-concrete;
color: $color-black;
font-size: $font-size-base;
.popover-footer {
background-color: $color-gainsboro;

View file

@ -1,5 +1,5 @@
// scss-lint:disable ImportantRule SelectorDepth
@import "constants";
@font-face {
font-family: "tinymce";
@ -109,7 +109,6 @@
.restore-draft-notification {
align-items: center;
background: $state-info-bg !important;
display: flex;
flex-basis: 100%;
height: 30px !important;

View file

@ -2,6 +2,6 @@
module Reports
class DateInputComponent < TemplateValueComponent
include BootstrapFormHelper
include SciFormHelper
end
end

View file

@ -20,9 +20,19 @@ class ResultTextsController < ApplicationController
)
@result.build_result_text
<<<<<<< HEAD
respond_to do |format|
format.json {
render json: {
html: render_to_string({ partial: 'new', formats: :html })
}, status: :ok
}
end
=======
render json: {
html: render_to_string({ partial: 'new', formats: :html })
}, status: :ok
>>>>>>> develop
end
def create

View file

@ -241,12 +241,12 @@ class ProtocolsDatatable < CustomDatatable
def versions_html(record)
@view.controller
.render_to_string(partial: 'protocols/index/protocol_versions',
locals: { protocol: record, readable: can_read_protocol_in_repository?(@user, record) },
formats: :html)
formats: :html,
locals: { protocol: record, readable: can_read_protocol_in_repository?(@user, record) })
end
def access_html(record)
@view.controller.render_to_string(partial: 'protocols/index/protocol_access', locals: { protocol: record }, formats: :html)
@view.controller.render_to_string(partial: 'protocols/index/protocol_access', formats: :html, locals: { protocol: record })
end
def published_by(record)

View file

@ -1,9 +1,5 @@
module BootstrapFormHelper
# Extend Bootstrap form builder
class BootstrapForm::FormBuilder
include BootstrapFormHelper
module SciFormHelper
class SciFormBuilder < ActionView::Helpers::FormBuilder
# Returns Bootstrap date-time picker of the "datetime" type tailored for accessing a specified datetime attribute (identified by +name+) on an object
# assigned to the template (identified by +object+). Additional options on the input tag can be passed as a
# hash with +options+. The supported options are shown in the following examples.
@ -21,8 +17,8 @@ module BootstrapFormHelper
# Show a "today" button on the bottom of the date picker.
# # => datetime_picker(:post, :published, today: true)
def datetime_picker(name, options = {})
id = "#{@object_name}_#{name.to_s}"
input_name = "#{@object_name}[#{name.to_s}]"
id = "#{@object_name}_#{name}"
input_name = "#{@object_name}[#{name}]"
value = options[:value] ? options[:value].strftime("#{I18n.backend.date_format} %H:%M") : ''
js_locale = I18n.locale.to_s
js_format = options[:time] ? datetime_picker_format_full : datetime_picker_format_date_only
@ -36,7 +32,7 @@ module BootstrapFormHelper
res << "<div class='input-group date'>" if options[:clear]
res << "<input type='datetime' class='form-control' name='#{input_name}' id='#{id}' "\
res << "<input type='datetime' class='form-control' name='#{input_name}' id='#{id}' " \
"readonly value='#{value}' data-toggle='date-time-picker' data-date-format='#{js_format}' " \
"data-date-locale='#{js_locale}' data-date-show-today-button='#{options[:today].present?}'/>"
@ -66,48 +62,40 @@ module BootstrapFormHelper
# Specify custom CSS classes on the element
# # => enum_btn_group(:car, :type, class: "class1 class2")
def enum_btn_group(name, options = {})
id = "#{@object_name}_#{name.to_s}"
input_name = "#{@object_name}[#{name.to_s}]"
id = "#{@object_name}_#{name}"
input_name = "#{@object_name}[#{name}]"
enum_vals = @object.class.send(name.to_s.pluralize)
btn_names = Hash[enum_vals.keys.collect { |k| [k, k] }]
if options[:btn_names] then
btn_names = options[:btn_names]
end
btn_names = HashWithIndifferentAccess.new(btn_names)
btn_names = enum_vals.keys.collect { |k| [k, k] }.to_h
btn_names = options[:btn_names] if options[:btn_names]
btn_names = ActiveSupport::HashWithIndifferentAccess.new(btn_names)
label = name.to_s.humanize
if options[:label] then
label = options[:label]
end
label = options[:label] if options[:label]
style_str = ""
if options[:style] then
style_str = " style='#{options[:style]}'"
end
style_str = ''
style_str = " style='#{options[:style]}'" if options[:style]
class_str = ""
if options[:class] then
class_str = " #{options[:class]}"
end
class_str = ''
class_str = " #{options[:class]}" if options[:class]
res = ""
res = ''
res << "<div class='form-group#{class_str}'#{style_str}>"
res << "<label for='#{id}'>#{label}</label>"
res << "<br>"
res << '<br>'
res << "<div class='btn-group' data-toggle='buttons'>"
enum_vals.keys.each do |val|
active = @object.send("#{val}?")
active_str = active ? " active" : ""
checked_str = active ? " checked='checked'" : ""
active_str = active ? ' active' : ''
checked_str = active ? " checked='checked'" : ''
res << "<label class='btn btn-toggle#{active_str}'>"
res << "<input type='radio' value='#{val}' name='#{input_name}' id='#{id}_#{val}'#{checked_str}>"
res << btn_names[val]
res << "</label>"
res << '</label>'
end
res << "</div>"
res << "</div>"
res << '</div>'
res << '</div>'
res.html_safe
end
@ -125,11 +113,11 @@ module BootstrapFormHelper
end
opts.delete(:rows) if opts[:rows].nil?
if opts[:single_line]
if opts[:rows]
opts[:class] = [opts[:class], 'textarea-sm-present'].join(' ')
else
opts[:class] = [opts[:class], 'textarea-sm'].join(' ')
end
opts[:class] = if opts[:rows]
[opts[:class], 'textarea-sm-present'].join(' ')
else
[opts[:class], 'textarea-sm'].join(' ')
end
end
text_area(name, opts)
end

View file

@ -1,6 +1,23 @@
window.$ = window.jQuery = require('jquery');
require('jquery-ujs');
require('jquery-mousewheel');
require('jquery-autosize');
require('jquery-ui/ui/widget');
require('jquery-ui/ui/widgets/mouse');
require('jquery-ui/ui/widgets/draggable');
require('jquery-ui/ui/widgets/droppable');
require('jquery-ui/ui/effects/effect-slide');
require('hammerjs');
import 'bootstrap';
window.moment = require('moment');
require('bootstrap-select/js/bootstrap-select');
window.bwipjs = require('bwip-js');
window.Decimal = require('decimal.js');
$(document).on('click', '.sci--layout--menu-item[data-submenu=true]', (e) => {
const item = $(e.currentTarget);
const caret = item.find('.show-submenu');

View file

@ -0,0 +1 @@
@import "bootstrap-select/sass/bootstrap-select"

1
app/javascript/packs/bootstrap.scss vendored Normal file
View file

@ -0,0 +1 @@
@import "~bootstrap/dist/css/bootstrap.css";

View file

@ -6,7 +6,7 @@ module Experiments
include CommentHelper
include ProjectsHelper
include InputSanitizeHelper
include BootstrapFormHelper
include SciFormHelper
include MyModulesHelper
include Canaid::Helpers::PermissionsHelper
include Rails.application.routes.url_helpers

View file

@ -3,9 +3,9 @@
role="dialog"
tabindex="-1"
aria-labelledby="new-office-file-modal-label">
<%= bootstrap_form_tag url: create_wopi_file_path(),
html: { novalidate: "novalidate" },
method: :post, remote: true do |f| %>
<%= form_with url: create_wopi_file_path(),
html: { novalidate: "novalidate" },
method: :post, remote: true do |f| %>
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">

View file

@ -8,7 +8,7 @@
data-can-edit-connections="<%= @experiment_managable ? "yes" : "no" %>"
data-unsaved-work-text="<%=t "experiments.canvas.edit.unsaved_work" %>"
>
<%= bootstrap_form_tag url: canvas_experiment_url, method: "post", html: {class: "canvas-header"} do |f| %>
<%= form_with url: canvas_experiment_url, method: "post", html: {class: "canvas-header"} do |f| %>
<% if @experiment_managable %>
<%=link_to "", type: "button", class: "btn btn-primary", id: "canvas-new-module" do %>
<span class="sn-icon sn-icon-new-task"></span>

View file

@ -6,11 +6,9 @@
<h4 class="modal-title" id="modal-edit-module-label"><%=t "experiments.canvas.edit.modal_edit_module.title" %></h4>
</div>
<div class="modal-body">
<%= bootstrap_form_tag do |f| %>
<div class="sci-input-container">
<%= f.text_field t("experiments.canvas.edit.modal_edit_module.name"), id: "edit-module-name-input", class: "sci-input-field" %>
</div>
<% end %>
<div class="sci-input-container">
<%= text_field_tag t("experiments.canvas.edit.modal_edit_module.name"), '',id: "edit-module-name-input", class: "sci-input-field" %>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal"><%=t "general.cancel" %></button>

View file

@ -8,7 +8,7 @@
<div class="modal-body">
<% experiments = @experiment.project.experiments.managable_by_user(current_user).order(name: :asc).active %>
<% if experiments.count > 1 %>
<%= bootstrap_form_tag do |f| %>
<%= form_with do |f| %>
<%= f.select :experiment_id, experiments
.select { |e| e != @experiment && can_manage_experiment?(e) }
.collect { |e| [ e.name, e.id ] }, {},

View file

@ -8,7 +8,7 @@
<div class="modal-body">
<% experiments = @experiment.project.experiments.managable_by_user(current_user).order(name: :asc).active %>
<% if experiments.count > 1 %>
<%= bootstrap_form_tag do |f| %>
<%= form_with do |f| %>
<%= f.select :experiment_id, experiments
.select { |e| e != @experiment }
.collect { |e| [ e.name, e.id ] }, {},

View file

@ -6,9 +6,9 @@
<h4 class="modal-title" id="modal-new-module-label"><%=t "experiments.canvas.edit.modal_new_module.title" %></h4>
</div>
<div class="modal-body">
<%= bootstrap_form_tag do |f| %>
<%= f.text_field t("experiments.canvas.edit.modal_new_module.name"), placeholder: t("experiments.canvas.edit.modal_new_module.name_placeholder"), id: "new-module-name-input" %>
<% end %>
<div class="sci-input-container">
<%= text_field_tag t("experiments.canvas.edit.modal_new_module.name"), '', placeholder: t("experiments.canvas.edit.modal_new_module.name_placeholder"), id: "new-module-name-input", class: "sci-input-field" %>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal"><%=t "general.cancel" %></button>

View file

@ -1,7 +1,7 @@
<div class="modal" id="clone-experiment-modal-<%= @experiment.id %>" tabindex="-1" role="dialog" aria-labelledby="clone-experiment-modal-label">
<div class="modal-dialog" role="document">
<div class="modal-content">
<%= bootstrap_form_for @experiment, url: clone_experiment_path(@experiment, :view_mode=>view_mode), method: :post do |f| %>
<%= form_with model: @experiment, url: clone_experiment_path(@experiment, :view_mode=>view_mode), method: :post do |f| %>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="clone-experiment-modal-label"><%= t("experiments.clone.modal_title", experiment: @experiment.name ) %></h5>

View file

@ -1,7 +1,7 @@
<div class="modal" id="edit-experiment-modal-<%= @experiment.id %>" tabindex="-1" role="dialog" aria-labelledby="edit-experiment-modal-label">
<div class="modal-dialog" role="document">
<div class="modal-content">
<%= bootstrap_form_for [@project, @experiment], html: { class: 'experiment-action-form' } do |f| %>
<%= form_with model: [@project, @experiment], html: { class: 'experiment-action-form' }, builder: SciFormHelper::SciFormBuilder do |f| %>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="<%= t('general.close') %>"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="edit-eperiment-modal-label">

View file

@ -1,9 +1,10 @@
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div class="form-group">
<div class="sci-input-container">
<label><%= t('experiments.new.name') %></label>
<%= form.text_field :name,
label: t('experiments.new.name'),
autofocus: true,
class: 'sci-input-field',
placeholder: t('experiments.new.name_placeholder'),
id: 'experiment-name' %>
</div>
@ -12,10 +13,11 @@
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div class="form-group">
<div class="sci-input-container">
<label><%= t('experiments.new.description') %></label>
<%= form.smart_text_area :description,
label: t('experiments.new.description'),
id: 'experiment-description',
class: 'sci-input-field textarea h-48',
data: { 'atwho-edit' => '' } %>
</div>
</div>

View file

@ -3,7 +3,7 @@
tabindex="-1"
role="dialog"
aria-labelledby="move-experiment-modal-label">
<%= bootstrap_form_for @experiment,
<%= form_with model: @experiment,
url: move_experiment_path(@experiment),
method: :post,
remote: true,

View file

@ -7,7 +7,7 @@
</div>
<div class="modal-body">
<% if @experiments.present? %>
<%= bootstrap_form_tag do |f| %>
<%= form_with do |f| %>
<%= f.select :experiment_id, @experiments.collect { |e| [ e.name, e.id ] }, {}, class: "form-control selectpicker", 'data-role': 'clear' %>
<% end %>
<% else %>

View file

@ -1,10 +1,11 @@
<div class="modal" id="new-experiment-modal" tabindex="-1" role="dialog" aria-labelledby="new-experiment-modal-label">
<div class="modal-dialog" role="document">
<div class="modal-content">
<%= bootstrap_form_for [@project, @experiment],
remote: true,
method: :post,
html: { class: 'experiment-action-form' } do |f| %>
<%= form_with url: [@project, @experiment],
remote: true,
method: :post,
builder: SciFormHelper::SciFormBuilder,
html: { class: 'experiment-action-form' } do |f| %>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="<%= t('general.close') %>"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="new-eperiment-modal-label"><%= t("experiments.new.modal_title") %></h4>

View file

@ -11,14 +11,16 @@
<meta name="expiration-url" content="<%= users_expire_in_path %>">
<meta name="revive-url" content="<%= users_revive_session_path %>">
<% end %>
<%= stylesheet_link_tag 'bootstrap', media: 'all' %>
<%= stylesheet_link_tag "tailwind", "data-turbo-track": "reload" %>
<%= stylesheet_link_tag 'application', media: 'all' %>
<%= stylesheet_link_tag 'application_pack_styles', media: 'all' %>
<% if ::NewRelic::Agent.instance.started? %>
<%= ::NewRelic::Agent.browser_timing_header(controller.request.content_security_policy_nonce) %>
<% end %>
<%= javascript_include_tag 'application_pack', "data-turbolinks-track": :reload %>
<%= javascript_include_tag 'jquery_bundle' %>
<%= javascript_include_tag 'application' %>
<%= javascript_include_tag 'application_pack' %>
<%= javascript_include_tag 'session_end' %>
<%= javascript_include_tag 'sidebar_toggle' %>

View file

@ -7,7 +7,7 @@
<%= javascript_include_tag 'application' %>
<%= javascript_include_tag "handsontable.full" %>
<%= render 'shared/formulas_libraries' %>
<%= stylesheet_link_tag 'layouts/print_protocol', media: 'print, screen' %>
<%= stylesheet_link_tag 'print_protocol', media: 'print, screen' %>
<body>
<%= yield %>
<div id="handson"

View file

@ -9,9 +9,13 @@
<style media="all">
html, body { height: 100%; min-height: 100%; }
</style>
<%= stylesheet_link_tag 'bootstrap', media: 'all' %>
<%= stylesheet_link_tag "tailwind", "data-turbo-track": "reload" %>
<%= stylesheet_link_tag 'application', media: 'all' %>
<%= stylesheet_link_tag 'application_pack', media: 'all' %>
<%= javascript_include_tag 'jquery_bundle' %>
<%= javascript_include_tag 'application' %>
<%= javascript_include_tag 'application_pack_styles' %>
<%= favicon_link_tag "favicon.ico" %>
<%= favicon_link_tag "favicon-16.png", type: "image/png", size: "16x16" %>

View file

@ -19,7 +19,7 @@
<%= link_to my_module_my_module_tag_path(@my_module, mmt, format: :json), method: :delete, remote: true, class: 'btn btn-light icon-btn remove-tag-link btn-sm btn-white', title: t("experiments.canvas.modal_manage_tags.remove_tag", module: @my_module.name), data: {tag_id: tag.id} do %>
<span class="sn-icon sn-icon-close"></span>
<% end %>
<%= bootstrap_form_for tag, remote: true, url: project_tag_path(@my_module.experiment.project, tag, format: :json), data: {tag_id: tag.id}, method: :delete, html: { class: "delete-tag-form"} do |f| %>
<%= form_with model: tag, remote: true, url: project_tag_path(@my_module.experiment.project, tag, format: :json), data: {tag_id: tag.id}, method: :delete, html: { class: "delete-tag-form"} do |f| %>
<%= hidden_field_tag :my_module_id, @my_module.id %>
<%= f.button class: 'btn btn-light delete-tag-link icon-btn btn-sm btn-white', title: t("experiments.canvas.modal_manage_tags.delete_tag"), data: { confirm: t("experiments.canvas.modal_manage_tags.delete_tag_confirmation") } do %>
<span class="sn-icon sn-icon-delete"></span>
@ -30,7 +30,7 @@
</div>
<div class="row tag-edit" style="display: none;">
<%= bootstrap_form_for tag, remote: true, url: project_tag_path(@my_module.experiment.project, tag, format: :json), method: :put, html: { class: "edit-tag-form" }, data: {tag_id: tag.id} do |f| %>
<%= form_with model:tag, remote: true, url: project_tag_path(@my_module.experiment.project, tag, format: :json), method: :put, html: { class: "edit-tag-form" }, data: {tag_id: tag.id} do |f| %>
<%= hidden_field_tag :my_module_id, @my_module.id %>
<div class="col-xs-7">
<%= f.text_field :name, hide_label: true %>
@ -58,7 +58,7 @@
<% if can_manage_my_module?(@my_module) %>
<hr data-view-mode="active">
<div class="row" data-view-mode="active">
<%= bootstrap_form_for [@my_module, @new_mmt], remote: true, format: :json, html: { class: 'add-tag-form' } do |f| %>
<%= form_with url: [@my_module, @new_mmt], remote: true, format: :json, html: { class: 'add-tag-form' } do |f| %>
<div>
<div class="well well-sm">
<%= collection_select(:my_module_tag,
@ -75,7 +75,7 @@
</div>
<% end %>
<div class="pull-right create-new-tag-btn">
<%= bootstrap_form_for [@my_module.experiment.project, @new_tag], remote: true, format: :json, html: { class: 'add-tag-form' } do |f| %>
<%= form_with url: [@my_module.experiment.project, @new_tag], remote: true, format: :json, html: { class: 'add-tag-form' } do |f| %>
<%= hidden_field_tag :my_module_id, @my_module.id %>
<%= f.hidden_field :project_id, :value => @my_module.experiment.project.id %>
<%= f.hidden_field :name, :value => t("tags.create.new_name") %>

View file

@ -1,3 +1,3 @@
<%= bootstrap_form_for @my_module, url: my_module_path(@my_module, format: :json), remote: :true do |f| %>
<%= form_with model: @my_module, url: my_module_path(@my_module, format: :json), builder: SciFormHelper::SciFormBuilder, remote: :true do |f| %>
<%= f.smart_text_area :description, label: t("my_modules.description.label") %>
<% end %>

View file

@ -1,4 +1,4 @@
<%= bootstrap_form_for @my_module, url: update_description_my_module_path(@my_module, format: :json), remote: :true, html: {class: 'tiny-mce-editor'} do |f| %>
<%= form_with model: @my_module, url: update_description_my_module_path(@my_module, format: :json), remote: :true, html: {class: 'tiny-mce-editor'}, builder: SciFormHelper::SciFormBuilder do |f| %>
<%= render partial: 'shared/tiny_mce_extra_buttons' %>
<div id="my_module_description_view"
class="ql-editor tinymce-view"

View file

@ -1,4 +1,4 @@
<%= bootstrap_form_for @my_module, url: my_module_path(@my_module, format: :json), remote: :true do |f| %>
<%= form_with model: @my_module, url: my_module_path(@my_module, format: :json), remote: :true do |f| %>
<%= f.datetime_picker :due_date,
value: @my_module.due_date,
label: t('my_modules.due_date.label'),

View file

@ -1,6 +1,6 @@
<div class="modal" id="new-my-module-modal" tabindex="-1" role="dialog"
data-create-url="<%= modules_experiment_path(@experiment) %>" data-user-id="<%= current_user.id %>">
<%= bootstrap_form_for @my_module, url: modules_experiment_path(@experiment), remote: true do |f| %>
<%= form_with model: @my_module, url: modules_experiment_path(@experiment), remote: true do |f| %>
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">

View file

@ -3,7 +3,7 @@
tabindex="-1"
role="dialog"
aria-labelledby="print-protocol-modal-label">
<%= bootstrap_form_tag({ url: print_protocol_path(protocol), method: :get, html: { class: 'print-protocol-form', id: "print-protocol-form", target: '_blank' } }) do %>
<%= form_with url: print_protocol_path(protocol), method: :get, html: { class: 'print-protocol-form', id: "print-protocol-form", target: '_blank' } do %>
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">

View file

@ -1,4 +1,4 @@
<%= bootstrap_form_for protocol, url: update_url, remote: :true, html: {class: 'tiny-mce-editor'} do |f| %>
<%= form_with model: protocol, url: update_url, remote: :true, html: {class: 'tiny-mce-editor'}, builder: SciFormHelper::SciFormBuilder do |f| %>
<%= render partial: 'shared/tiny_mce_extra_buttons' %>
<div id="protocol_description_view"
class="ql-editor tinymce-view"

View file

@ -4,12 +4,13 @@
<%= t('projects.index.modal_edit_folder.title', folder: folder.name) %>
</h4>
</div>
<%= bootstrap_form_for folder, url: project_folder_path(folder ,format: :json), method: :put, remote: true do |f| %>
<%= form_with model: folder, url: project_folder_path(folder ,format: :json), method: :put, remote: true do |f| %>
<div class="modal-body">
<p><%= t('projects.index.modal_edit_folder.description') %></p>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<%= f.text_field :name, label: t('projects.index.modal_edit_folder.folder_name_field'), autofocus: true %>
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 sci-input-container">
<label><%= t('projects.index.modal_edit_folder.folder_name_field') %></label>
<%= f.text_field :name, autofocus: true, class: "sci-input-field" %>
</div>
</div>

View file

@ -4,11 +4,12 @@
<%= t('projects.index.modal_edit_project.modal_title', project: @project.name) %>
</h4>
</div>
<%= bootstrap_form_for @project, url: project_path(@project ,format: :json), method: :put, remote: true do |f| %>
<%= form_with model: @project, url: project_path(@project ,format: :json), method: :put, remote: true do |f| %>
<div class="modal-body">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<%= f.text_field :name, label: t("projects.index.modal_new_project.name"), autofocus: true, placeholder: t("projects.index.modal_new_project.name_placeholder") %>
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 sci-input-container">
<label><%= t("projects.index.modal_new_project.name") %></label>
<%= f.text_field :name, autofocus: true, placeholder: t("projects.index.modal_new_project.name_placeholder"), class: 'sci-input-field' %>
</div>
</div>
<div class="row">

View file

@ -1,5 +1,5 @@
<div class="modal" id="new-project-modal" tabindex="-1" role="dialog" aria-labelledby="new-project-modal-label">
<%= bootstrap_form_for @project, remote: true do |f| %>
<%= form_with model: @project, remote: true do |f| %>
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
@ -8,25 +8,31 @@
</div>
<div class="modal-body">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 sci-input-container">
<%= f.hidden_field :project_folder_id %>
<%= f.text_field :name, label: t('projects.index.modal_new_project.name'), placeholder: t('projects.index.modal_new_project.name_placeholder') %>
<label><%= t('projects.index.modal_new_project.name') %></label>
<%= f.text_field :name, placeholder: t('projects.index.modal_new_project.name_placeholder'), class: 'sci-input-field' %>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div class="checkbox">
<%= f.check_box :visibility,
{ label: t('projects.index.modal_new_project.visibility_html'), data: { action: 'toggle-visibility', target: 'role_select_wrapper' } },
:visible,
:hidden %>
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 mt-4">
<div class="flex items-center gap-4 text-xs">
<div class="sci-checkbox-container">
<%= f.check_box :visibility,
{ class: 'sci-checkbox' ,data: { action: 'toggle-visibility', target: 'role_select_wrapper' } },
:visible,
:hidden %>
<span class="sci-checkbox-label"></span>
</div>
<span><%= t('projects.index.modal_new_project.visibility_html') %></span>
</div>
</div>
</div>
<div class="row hidden" id="role_select_wrapper">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 sci-input-container mt-4">
<%= f.select :default_public_user_role_id,
options_for_select(user_roles_collection(@project), UserRole.find_by(name: I18n.t('user_roles.predefined.viewer')).id),
{},
class: 'form-control selectpicker'%>
</div>
</div>

View file

@ -1,5 +1,5 @@
<div class="modal" id="new-project-folder-modal" tabindex="-1" role="dialog" aria-labelledby="new-project-folder-modal-label">
<%= bootstrap_form_for @project_folder, remote: true do |f| %>
<%= form_with model: @project_folder, remote: true do |f| %>
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
@ -13,7 +13,8 @@
<div class="form-group sci-input-container">
<%= f.hidden_field :parent_folder_id %>
<%= f.hidden_field :archived %>
<%= f.text_field :name, label: t('projects.index.modal_new_project_folder.name'), placeholder: t('projects.index.modal_new_project_folder.name_placeholder') %>
<label><%= t('projects.index.modal_new_project_folder.name') %></label>
<%= f.text_field :name, placeholder: t('projects.index.modal_new_project_folder.name_placeholder'), class: 'sci-input-field' %>
</div>
</div>
<div class="modal-footer">

View file

@ -42,7 +42,7 @@
<!-- Save report modal -->
<div class="modal" id="delete-reports-modal" tabindex="-1" role="dialog" aria-labelledby="delete-reports-modal-label">
<%= bootstrap_form_tag url: reports_destroy_path, method: :post, id: "delete-reports-form" do |f| %>
<%= form_with url: reports_destroy_path, method: :post, id: "delete-reports-form" do |f| %>
<input type="hidden" name="report_ids" id="report-ids">
<div class="modal-dialog" role="document">
<div class="modal-content">

View file

@ -1,7 +1,7 @@
<div class="modal fade" id="copy-repo-modal" tabindex="-1" role="dialog">
<%= bootstrap_form_for @tmp_repository,
url: team_repository_copy_path(id: @repository, format: :json),
remote: true do |f| %>
<%= form_with model: @tmp_repository,
url: team_repository_copy_path(id: @repository, format: :json),
remote: true do |f| %>
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
@ -14,8 +14,8 @@
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<div class="form-group sci-input-container">
<label><%= t("repositories.index.modal_copy.name") %></label>
<%= f.text_field :name,
label: t("repositories.index.modal_copy.name"),
help: t("repositories.index.modal_copy.description"),
autofocus: true,
class: "sci-input-field",

View file

@ -1,5 +1,5 @@
<div class="modal" id="create-repo-modal" tabindex="-1" role="dialog" aria-labelledby="create-repo-modal-label">
<%= bootstrap_form_for [current_team, @repository], remote: :true do |f| %>
<%= form_with url: [current_team, @repository], remote: :true do |f| %>
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
@ -10,9 +10,9 @@
</div>
<div class="modal-body">
<div class="form-group sci-input-container">
<label><%= t("repositories.index.modal_create.name_label") %></label>
<%= f.text_field :name,
autofocus: true,
label: t("repositories.index.modal_create.name_label"),
class: "sci-input-field",
placeholder: t("repositories.index.modal_create.name_placeholder") %>
</div>

Some files were not shown because too many files have changed in this diff Show more