@hexagonal-devops/sncf-starship

A package fixing incompatibilities between SNCF's bootstrap and Faveod designer

Usage no npm install needed!

<script type="module">
  import hexagonalDevopsSncfStarship from 'https://cdn.skypack.dev/@hexagonal-devops/sncf-starship';
</script>

README

SNCF Bootstrap Starship

A package fixing incompatibilities between SNCF's bootstrap and Faveod designer by Hexagonal Consulting

IMPORTANT NOTE

THIS PACKAGE FOLLOW VERSIONS OF SNCF BOOTSTRAP METIER FOR WHICH IT IS DEVELOPPED SO IT DON'T FOLLOW VERSION NAMING NOMENCALTURE. REMEMBER TO READ THE RIGHT VERSION OF THE USED PACKAGE VERSION.


Installation guidelines

  • Open /js_frameworks/index of your project designer address

  • Update the JS framework which calls bootstra_sncf_metier sources and insert before all sources :

/javascripts/sncf_starship/dist/starship_initializations.js

Notes :

  • you can override this calendar initialization by creating Starship JS group from /js_functions/index from your designer and create the overrideCalendarInit function like any function which contain this package (see: "Overridable javascript" section)
  • If your project already use a source like /javascripts/datepicker_sncf.js, we recommend to removing it or passing that function into Starship.overrideCalendarInit function.
  • Create sncf-startship dependency with the following instructions
    Package name: Sncf Starship
    
    SID: sncf_starship
    
    Version: _MAJOR.MINOR.PATCH according to the bootstrap SNCF dependency_
    
    Package ID: @hexagonal-devops/sncf-starship
    
    Licence: MIT
    
    Files to load:
      /javascripts/sncf_starship/dist/node_modules/dragula/dist/dragula.min.js
      /javascripts/sncf_starship/dist/node_modules/dragula/dist/dragula.min.css
      /javascripts/sncf_starship/dist/starship.min.css
      /javascripts/sncf_starship/dist/starship.min.js
    
    
    Javascripts: Select the javascript sheet used by your project
    
  • Open /javascript_dependencies/js_dependencies of your generated app
  • Select the same version as the Bootstrap SNCF Metier version or newer version patch to install it
  • Activate dependency from the activate column from dependencies list

Overridable Javascript

  • Sources of this package contain a /src folder where each function can be inspected to allow an easy override.
  • To override a function, create a Javascript group called Starship from your Faveod Designer and under this group, create a function with the same name as the source.

Troubleshooting

  • Try to regenerate the layout which use the new SNCF Starship dependency
  • Try to regenerate maveoc which use the layout which use SNCF Starship
  • Check /system_settings/public_files address of your project and under the /javascript directory, you should see the sncf_starship folder
  • Be sure to remove all folder nammed sncf_starship under the /javascripts directory to allow Faveod creating the symbolic link to sources under /packages folder

Changelog

v4.3.1-r5-p5

Updates coming from a migration from Rails 5 to 6. Existing projects doesn't need this update to use this package.

Package concern:

  • Style of Tabbed Container UI

Faveod reference concern:

  • Tabbed Container UI Starship : /field_formatters/edit/74
  • Checkbox Starship : /field_formatters/edit/75

Migration

  • To use theses new components (Tabbed Container UI or Checkbox), you must create theses components into your Faveod designer like the Starship reference.

v4.3.1-r5-p4

This patch includes forgotten sources from previous versions to s6p_template_top_menu

Package concern:

  • Adding s6p_top_menu_bootstrap_fix.css and s6p_top_menu_mobile.css files

Faveod reference concern:

  • Fixing Bootstrap sources linking (restore the linking from < URL >/javascript_dependencies/js_dependencies and it symlink instead of copy / paste sources)
  • Fixing translations icons paths (from /layouts/edit/81)
  • Fixing brand icons paths (from /layouts/edit/78 and /layouts/edit/80)

Migration:

  • See translation icons fixes and brand icons fixes of "Faveod reference concern" section

v4.3.1-r5-p3

Package concern:

  • Readme updates
  • Fix starship_initializations.js ES6 compilation and minify it
  • Serve content of starship_initializations.js to src/ folder
  • Add setDateOnYearChange and setDateOnMonthChange functions for Datepicker 2 activable by adding options set_date_on_year_change and set_date_on_month_change to it component (cf Starship reference at /field_formatters/edit/64 - from edit view)
  • Fix time section integration of flatpickr for Internet Explorer 11
  • Style Chosen 2 component (multi and single) and fix its overflowing
  • Style form in an error state
  • Style modal
  • Adapt all external Javascript files to allow triggering from modal

Faveod reference concern:

  • Remove s6p_links_for_list_element helper from the Starship reference which is exactly the same as links_for_list_element with update of the list view which were calling it.
  • Add SNCF's SCSS variables - see /style_variables/index?
  • Fix viewport meta from <head> and content_tag of <main> around yield key from s6p template top menu

Migration

  • Adapt (should duplicate) your Layout.ajaxSubView assigned at jQuery 1.11 framework (Starship ref url: /js_functions/edit/454)
  • Assign (should duplicate) Layout.loadAjaxSubViewBs initialy assigned at Bootstrap 3.3.5 to your JS framework which use this package - (this function has been updated with the Faveod Reference) - (Starship ref url: /js_functions/edit/471)
  • No solution found to trigger overflowChosen for $([data-window] loaded in Ajax: create Starship.initListener_chosenReady which calls Starship.overflowChosen(); with on chosen:ready for [data-library=chosen2] event option from your Designer. (Starship ref url: /js_functions/edit/485)

v4.3.1-r5-p2

v4.3.1-r5-p1 [DEPRECATED]

  • Fix paths, fix sources calling order, fix installation guidelines
  • Separate overrideCalendarInit func to it own file called before SNCF's bootstrap sources
  • Add starship_initialization.js

v4.3.1-r5 [DEPRECATED]

  • Fix - custom_columns: allows ordering columns by drag and drop from Firefox
  • Fix - DatalistHTML5 component: Allow searching without accentuation
  • Fixing a Microsft's browsers bug unreconized regular expression by removing the onclick attribute of $("nav.mastnav .mastnav-top a span.font-weight-medium") from s6p_template_left_menu template
  • It allows setting a manual date from DatePicker 2 component
  • Adds the source /javascripts/sncf_starship/dist/starship_initializations.js just before Bootstrap SNCF Metier sources.
  • Update of Datepicker 2 component from the Faveod Designer :
    • Adds manual_input option of Boolean type and use of this option from the Edit view
  • Fix - time from a DatePicker by localization

  • Deprecated: this option will be deleted in next major version:

  • options from DatePicker 2 : change_year, change_month