Compare commits

...

10 Commits

Author SHA1 Message Date
echarp d0d2b26ec1 Bundle update 2020-04-07 12:59:18 +02:00
echarp 0fe8732441 Enabled rubocop verifications 2020-04-06 18:20:22 +02:00
echarp fb01a0f8da City filter added in most pages.
This filter is based on the geocoding filter, when no distance has been set...

Refs #170
2020-04-06 16:47:55 +02:00
echarp f9470cf07d Bundle update 2020-04-06 14:03:48 +02:00
echarp 42a112b994 Position coordinates limited to 2 digits 2020-04-06 14:03:03 +02:00
echarp e488e947cd Precompiled assets 2020-04-05 17:14:27 +02:00
echarp 37875f9588 Warning message on the main page 2020-04-05 17:13:37 +02:00
echarp 2afbf3d020 Bundle update 2020-04-05 16:18:28 +02:00
echarp ee094113ba Removed libre en fete logo 2020-04-03 16:28:14 +02:00
echarp b3c816a1aa Bundle update 2020-04-03 14:43:21 +02:00
250 changed files with 137191 additions and 217 deletions

View File

@ -20,4 +20,8 @@ Style/HashTransformKeys:
Enabled: true Enabled: true
Style/HashTransformValues: Style/HashTransformValues:
Enabled: true Enabled: true
Lint/RaiseException:
Enabled: true
Lint/StructNewOverride:
Enabled: true

View File

@ -2,45 +2,45 @@ GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
remote: https://rails-assets.org/ remote: https://rails-assets.org/
specs: specs:
actioncable (6.0.2.1) actioncable (6.0.2.2)
actionpack (= 6.0.2.1) actionpack (= 6.0.2.2)
nio4r (~> 2.0) nio4r (~> 2.0)
websocket-driver (>= 0.6.1) websocket-driver (>= 0.6.1)
actionmailbox (6.0.2.1) actionmailbox (6.0.2.2)
actionpack (= 6.0.2.1) actionpack (= 6.0.2.2)
activejob (= 6.0.2.1) activejob (= 6.0.2.2)
activerecord (= 6.0.2.1) activerecord (= 6.0.2.2)
activestorage (= 6.0.2.1) activestorage (= 6.0.2.2)
activesupport (= 6.0.2.1) activesupport (= 6.0.2.2)
mail (>= 2.7.1) mail (>= 2.7.1)
actionmailer (6.0.2.1) actionmailer (6.0.2.2)
actionpack (= 6.0.2.1) actionpack (= 6.0.2.2)
actionview (= 6.0.2.1) actionview (= 6.0.2.2)
activejob (= 6.0.2.1) activejob (= 6.0.2.2)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
actionpack (6.0.2.1) actionpack (6.0.2.2)
actionview (= 6.0.2.1) actionview (= 6.0.2.2)
activesupport (= 6.0.2.1) activesupport (= 6.0.2.2)
rack (~> 2.0, >= 2.0.8) rack (~> 2.0, >= 2.0.8)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (6.0.2.1) actiontext (6.0.2.2)
actionpack (= 6.0.2.1) actionpack (= 6.0.2.2)
activerecord (= 6.0.2.1) activerecord (= 6.0.2.2)
activestorage (= 6.0.2.1) activestorage (= 6.0.2.2)
activesupport (= 6.0.2.1) activesupport (= 6.0.2.2)
nokogiri (>= 1.8.5) nokogiri (>= 1.8.5)
actionview (6.0.2.1) actionview (6.0.2.2)
activesupport (= 6.0.2.1) activesupport (= 6.0.2.2)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0)
actionview-encoded_mail_to (1.0.9) actionview-encoded_mail_to (1.0.9)
rails rails
activeadmin (2.6.1) activeadmin (2.7.0)
arbre (~> 1.2, >= 1.2.1) arbre (~> 1.2, >= 1.2.1)
formtastic (~> 3.1) formtastic (~> 3.1)
formtastic_i18n (~> 0.4) formtastic_i18n (~> 0.4)
@ -51,20 +51,20 @@ GEM
ransack (~> 2.1, >= 2.1.1) ransack (~> 2.1, >= 2.1.1)
sassc-rails (~> 2.1) sassc-rails (~> 2.1)
sprockets (>= 3.0, < 4.1) sprockets (>= 3.0, < 4.1)
activejob (6.0.2.1) activejob (6.0.2.2)
activesupport (= 6.0.2.1) activesupport (= 6.0.2.2)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (6.0.2.1) activemodel (6.0.2.2)
activesupport (= 6.0.2.1) activesupport (= 6.0.2.2)
activerecord (6.0.2.1) activerecord (6.0.2.2)
activemodel (= 6.0.2.1) activemodel (= 6.0.2.2)
activesupport (= 6.0.2.1) activesupport (= 6.0.2.2)
activestorage (6.0.2.1) activestorage (6.0.2.2)
actionpack (= 6.0.2.1) actionpack (= 6.0.2.2)
activejob (= 6.0.2.1) activejob (= 6.0.2.2)
activerecord (= 6.0.2.1) activerecord (= 6.0.2.2)
marcel (~> 0.3.1) marcel (~> 0.3.1)
activesupport (6.0.2.1) activesupport (6.0.2.2)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
minitest (~> 5.1) minitest (~> 5.1)
@ -79,7 +79,7 @@ GEM
ast (2.4.0) ast (2.4.0)
bcrypt (3.1.13) bcrypt (3.1.13)
bindex (0.8.1) bindex (0.8.1)
brakeman (4.8.0) brakeman (4.8.1)
buftok (0.2.0) buftok (0.2.0)
builder (3.2.4) builder (3.2.4)
bundler-audit (0.6.1) bundler-audit (0.6.1)
@ -102,7 +102,7 @@ GEM
railties (>= 4.1.0) railties (>= 4.1.0)
responders responders
warden (~> 1.2.3) warden (~> 1.2.3)
devise-i18n (1.9.0) devise-i18n (1.9.1)
devise (>= 4.7.1) devise (>= 4.7.1)
differ (0.1.2) differ (0.1.2)
domain_name (0.5.20190701) domain_name (0.5.20190701)
@ -121,7 +121,7 @@ GEM
ffi-compiler (1.0.1) ffi-compiler (1.0.1)
ffi (>= 1.0.0) ffi (>= 1.0.0)
rake rake
flag-icons-rails (3.4.6) flag-icons-rails (3.4.6.1)
sass-rails sass-rails
font-awesome-sass (5.12.0) font-awesome-sass (5.12.0)
sassc (>= 1.11) sassc (>= 1.11)
@ -129,10 +129,10 @@ GEM
formtastic (3.1.5) formtastic (3.1.5)
actionpack (>= 3.2.13) actionpack (>= 3.2.13)
formtastic_i18n (0.6.0) formtastic_i18n (0.6.0)
geocoder (1.6.1) geocoder (1.6.2)
globalid (0.4.2) globalid (0.4.2)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
guard (2.16.1) guard (2.16.2)
formatador (>= 0.2.4) formatador (>= 0.2.4)
listen (>= 2.7, < 4.0) listen (>= 2.7, < 4.0)
lumberjack (>= 1.0.12, < 2.0) lumberjack (>= 1.0.12, < 2.0)
@ -145,8 +145,8 @@ GEM
brakeman (>= 2.1.1) brakeman (>= 2.1.1)
guard (>= 2.0.0) guard (>= 2.0.0)
guard-compat (~> 1.0) guard-compat (~> 1.0)
guard-bundler (2.2.1) guard-bundler (3.0.0)
bundler (>= 1.3.0, < 3) bundler (>= 2.1, < 3)
guard (~> 2.2) guard (~> 2.2)
guard-compat (~> 1.1) guard-compat (~> 1.1)
guard-compat (1.2.1) guard-compat (1.2.1)
@ -177,7 +177,7 @@ GEM
haml (>= 4.0.6, < 6.0) haml (>= 4.0.6, < 6.0)
html2haml (>= 1.0.1) html2haml (>= 1.0.1)
railties (>= 5.1) railties (>= 5.1)
haml_lint (0.34.2) haml_lint (0.35.0)
haml (>= 4.0, < 5.2) haml (>= 4.0, < 5.2)
rainbow rainbow
rubocop (>= 0.50.0) rubocop (>= 0.50.0)
@ -192,14 +192,14 @@ GEM
haml (>= 4.0, < 6) haml (>= 4.0, < 6)
nokogiri (>= 1.6.0) nokogiri (>= 1.6.0)
ruby_parser (~> 3.5) ruby_parser (~> 3.5)
http (4.3.0) http (4.4.1)
addressable (~> 2.3) addressable (~> 2.3)
http-cookie (~> 1.0) http-cookie (~> 1.0)
http-form_data (~> 2.2) http-form_data (~> 2.2)
http-parser (~> 1.2.0) http-parser (~> 1.2.0)
http-cookie (1.0.3) http-cookie (1.0.3)
domain_name (~> 0.5) domain_name (~> 0.5)
http-form_data (2.2.0) http-form_data (2.3.0)
http-parser (1.2.1) http-parser (1.2.1)
ffi-compiler (>= 1.0, < 2.0) ffi-compiler (>= 1.0, < 2.0)
http_accept_language (2.1.1) http_accept_language (2.1.1)
@ -211,7 +211,7 @@ GEM
i18n-country-translations (1.4.1) i18n-country-translations (1.4.1)
i18n (>= 0.9.3, < 2) i18n (>= 0.9.3, < 2)
railties (>= 5.0) railties (>= 5.0)
i18n-tasks (0.9.30) i18n-tasks (0.9.31)
activesupport (>= 4.0.2) activesupport (>= 4.0.2)
ast (>= 2.1.0) ast (>= 2.1.0)
erubi erubi
@ -255,7 +255,7 @@ GEM
listen (3.2.1) listen (3.2.1)
rb-fsevent (~> 0.10, >= 0.10.3) rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10) rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.4.0) loofah (2.5.0)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.5.9) nokogiri (>= 1.5.9)
lumberjack (1.2.4) lumberjack (1.2.4)
@ -267,7 +267,7 @@ GEM
thread_safe (~> 0.3, >= 0.3.1) thread_safe (~> 0.3, >= 0.3.1)
meta-tags (2.13.0) meta-tags (2.13.0)
actionpack (>= 3.2.0, < 6.1) actionpack (>= 3.2.0, < 6.1)
method_source (0.9.2) method_source (1.0.0)
mimemagic (0.3.4) mimemagic (0.3.4)
mini_mime (1.0.2) mini_mime (1.0.2)
mini_portile2 (2.4.0) mini_portile2 (2.4.0)
@ -279,7 +279,7 @@ GEM
naught (1.1.0) naught (1.1.0)
nenv (0.3.0) nenv (0.3.0)
nio4r (2.5.2) nio4r (2.5.2)
nokogiri (1.10.8) nokogiri (1.10.9)
mini_portile2 (~> 2.4.0) mini_portile2 (~> 2.4.0)
notiffany (0.1.3) notiffany (0.1.3)
nenv (~> 0.1) nenv (~> 0.1)
@ -289,7 +289,7 @@ GEM
activerecord (>= 4.2) activerecord (>= 4.2)
request_store (~> 1.1) request_store (~> 1.1)
parallel (1.19.1) parallel (1.19.1)
parser (2.7.0.3) parser (2.7.1.0)
ast (~> 2.4.0) ast (~> 2.4.0)
piwik_analytics (1.0.2) piwik_analytics (1.0.2)
actionpack actionpack
@ -299,31 +299,31 @@ GEM
activerecord (>= 5.2.1) activerecord (>= 5.2.1)
preserve (1.0.0) preserve (1.0.0)
rails (>= 3.0) rails (>= 3.0)
pry (0.12.2) pry (0.13.0)
coderay (~> 1.1.0) coderay (~> 1.1)
method_source (~> 0.9.0) method_source (~> 1.0)
public_suffix (4.0.3) public_suffix (4.0.4)
puma (4.3.2) puma (4.3.3)
nio4r (~> 2.0) nio4r (~> 2.0)
rack (2.2.2) rack (2.2.2)
rack-livereload (0.3.17) rack-livereload (0.3.17)
rack rack
rack-test (1.1.0) rack-test (1.1.0)
rack (>= 1.0, < 3) rack (>= 1.0, < 3)
rails (6.0.2.1) rails (6.0.2.2)
actioncable (= 6.0.2.1) actioncable (= 6.0.2.2)
actionmailbox (= 6.0.2.1) actionmailbox (= 6.0.2.2)
actionmailer (= 6.0.2.1) actionmailer (= 6.0.2.2)
actionpack (= 6.0.2.1) actionpack (= 6.0.2.2)
actiontext (= 6.0.2.1) actiontext (= 6.0.2.2)
actionview (= 6.0.2.1) actionview (= 6.0.2.2)
activejob (= 6.0.2.1) activejob (= 6.0.2.2)
activemodel (= 6.0.2.1) activemodel (= 6.0.2.2)
activerecord (= 6.0.2.1) activerecord (= 6.0.2.2)
activestorage (= 6.0.2.1) activestorage (= 6.0.2.2)
activesupport (= 6.0.2.1) activesupport (= 6.0.2.2)
bundler (>= 1.3.0) bundler (>= 1.3.0)
railties (= 6.0.2.1) railties (= 6.0.2.2)
sprockets-rails (>= 2.0.0) sprockets-rails (>= 2.0.0)
rails-assets-iframe-resizer (4.1.1) rails-assets-iframe-resizer (4.1.1)
rails-assets-jquery (3.4.1) rails-assets-jquery (3.4.1)
@ -345,9 +345,9 @@ GEM
rails-i18n (6.0.0) rails-i18n (6.0.0)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 7) railties (>= 6.0.0, < 7)
railties (6.0.2.1) railties (6.0.2.2)
actionpack (= 6.0.2.1) actionpack (= 6.0.2.2)
activesupport (= 6.0.2.1) activesupport (= 6.0.2.2)
method_source method_source
rake (>= 0.8.7) rake (>= 0.8.7)
thor (>= 0.20.3, < 2.0) thor (>= 0.20.3, < 2.0)
@ -369,17 +369,18 @@ GEM
actionpack (>= 5.0) actionpack (>= 5.0)
railties (>= 5.0) railties (>= 5.0)
rexml (3.2.4) rexml (3.2.4)
rubocop (0.80.0) rubocop (0.81.0)
jaro_winkler (~> 1.5.1) jaro_winkler (~> 1.5.1)
parallel (~> 1.10) parallel (~> 1.10)
parser (>= 2.7.0.1) parser (>= 2.7.0.1)
rainbow (>= 2.2.2, < 4.0) rainbow (>= 2.2.2, < 4.0)
rexml rexml
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 1.7) unicode-display_width (>= 1.4.0, < 2.0)
rubocop-performance (1.5.2) rubocop-performance (1.5.2)
rubocop (>= 0.71.0) rubocop (>= 0.71.0)
rubocop-rails (2.4.2) rubocop-rails (2.5.1)
activesupport
rack (>= 1.1) rack (>= 1.1)
rubocop (>= 0.72.0) rubocop (>= 0.72.0)
rubocop-rspec (1.38.1) rubocop-rspec (1.38.1)
@ -397,7 +398,7 @@ GEM
sprockets (> 3.0) sprockets (> 3.0)
sprockets-rails sprockets-rails
tilt tilt
sdoc (1.0.0) sdoc (1.1.0)
rdoc (>= 5.0) rdoc (>= 5.0)
sexp_processor (4.14.1) sexp_processor (4.14.1)
shellany (0.0.1) shellany (0.0.1)
@ -416,7 +417,7 @@ GEM
activesupport (>= 4.0) activesupport (>= 4.0)
sprockets (>= 3.0.0) sprockets (>= 3.0.0)
sqlite3 (1.4.2) sqlite3 (1.4.2)
strip_attributes (1.9.2) strip_attributes (1.11.0)
activemodel (>= 3.0, < 7.0) activemodel (>= 3.0, < 7.0)
sysexits (1.2.0) sysexits (1.2.0)
tagsinput-rails (1.3.5.1) tagsinput-rails (1.3.5.1)
@ -430,7 +431,7 @@ GEM
thor (0.20.3) thor (0.20.3)
thread_safe (0.3.6) thread_safe (0.3.6)
tilt (2.0.10) tilt (2.0.10)
tinymce-rails (5.2.0) tinymce-rails (5.2.1)
railties (>= 3.1.1) railties (>= 3.1.1)
turbolinks (5.2.1) turbolinks (5.2.1)
turbolinks-source (~> 5.2) turbolinks-source (~> 5.2)
@ -446,14 +447,14 @@ GEM
multipart-post (~> 2.0) multipart-post (~> 2.0)
naught (~> 1.0) naught (~> 1.0)
simple_oauth (~> 0.3.0) simple_oauth (~> 0.3.0)
tzinfo (1.2.6) tzinfo (1.2.7)
thread_safe (~> 0.1) thread_safe (~> 0.1)
uglifier (4.2.0) uglifier (4.2.0)
execjs (>= 0.3.0, < 3) execjs (>= 0.3.0, < 3)
unf (0.1.4) unf (0.1.4)
unf_ext unf_ext
unf_ext (0.0.7.6) unf_ext (0.0.7.7)
unicode-display_width (1.6.1) unicode-display_width (1.7.0)
warden (1.2.8) warden (1.2.8)
rack (>= 2.0.6) rack (>= 2.0.6)
web-console (4.0.1) web-console (4.0.1)
@ -464,7 +465,7 @@ GEM
websocket-driver (0.7.1) websocket-driver (0.7.1)
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.4) websocket-extensions (0.1.4)
zeitwerk (2.2.2) zeitwerk (2.3.0)
PLATFORMS PLATFORMS
ruby ruby
@ -541,4 +542,4 @@ DEPENDENCIES
web-console web-console
BUNDLED WITH BUNDLED WITH
1.17.3 2.1.4

View File

@ -12,6 +12,15 @@ $(document).on 'turbolinks:load', ->
when error.PERMISSION_DENIED when error.PERMISSION_DENIED
$('ul.regions li#near-me').remove() $('ul.regions li#near-me').remove()
$('body.pages.show form').submit ->
# Juggle between near location and city
if $('#near_location').val() && $('#near_distance').val()
$('#city').val('')
else
$('#city').val($('#near_location').val())
$('#near_location').val('')
showPosition = (position) -> showPosition = (position) ->
location.replace window.goto.replace '[me]', location.replace window.goto.replace '[me]',
"[#{position.coords.latitude}, #{position.coords.longitude}]" "[#{position.coords.latitude.toFixed(2)}, #{position.coords.longitude.toFixed(2)}]"

View File

@ -8,7 +8,7 @@ class ApplicationController < ActionController::Base
# For APIs, you may want to use :null_session instead. # For APIs, you may want to use :null_session instead.
protect_from_forgery prepend: true, with: :exception protect_from_forgery prepend: true, with: :exception
preserve :region, :tag, :near preserve :city, :region, :tag, :near
layout :handle_xhr_layout layout :handle_xhr_layout

View File

@ -1,6 +1,6 @@
# A digest of all events over a period of time # A digest of all events over a period of time
class DigestsController < ApplicationController class DigestsController < ApplicationController
has_scope :region, :locality, :tag has_scope :city, :region, :locality, :tag
has_scope :near, type: :hash, using: %i[location distance] has_scope :near, type: :hash, using: %i[location distance]
has_scope :period, allow_blank: true, type: :hash, using: %i[year week], has_scope :period, allow_blank: true, type: :hash, using: %i[year week],
default: ( default: (

View File

@ -1,7 +1,7 @@
# Event life cycle # Event life cycle
# This is a central part to this project # This is a central part to this project
class EventsController < ApplicationController class EventsController < ApplicationController
has_scope :region, :locality, :tag, :daylimit, :year has_scope :city, :region, :locality, :tag, :daylimit, :year
has_scope :near, type: :hash, using: %i[location distance] has_scope :near, type: :hash, using: %i[location distance]
has_scope :future, type: :boolean, default: true, only: [:index], if: :future? has_scope :future, type: :boolean, default: true, only: [:index], if: :future?

View File

@ -2,7 +2,7 @@
# #
# Access to OSM controls # Access to OSM controls
class MapsController < ApplicationController class MapsController < ApplicationController
has_scope :region, :locality, :tag, :daylimit, :year has_scope :city, :region, :locality, :tag, :daylimit, :year
has_scope :near, type: :hash, using: %i[location distance] has_scope :near, type: :hash, using: %i[location distance]
has_scope :future, type: :boolean, default: true has_scope :future, type: :boolean, default: true
has_scope :period, type: :hash, using: %i[year week] has_scope :period, type: :hash, using: %i[year week]

View File

@ -1,6 +1,6 @@
# Event management life cycle # Event management life cycle
class ModerationsController < ApplicationController class ModerationsController < ApplicationController
has_scope :region, :locality, :tag, :daylimit, :year has_scope :city, :region, :locality, :tag, :daylimit, :year
has_scope :near, type: :hash, using: %i[location distance] has_scope :near, type: :hash, using: %i[location distance]
before_action :authenticate_user! before_action :authenticate_user!

View File

@ -1,6 +1,6 @@
# Groups life cycle # Groups life cycle
class OrgasController < ApplicationController class OrgasController < ApplicationController
has_scope :region, :tag has_scope :city, :region, :tag
has_scope :near, type: :hash, using: %i[location distance] has_scope :near, type: :hash, using: %i[location distance]
has_scope :active, type: :boolean, default: true, allow_blank: true has_scope :active, type: :boolean, default: true, allow_blank: true

View File

@ -1,6 +1,6 @@
# Generate statistics, around events, by date or place # Generate statistics, around events, by date or place
class StatsController < ApplicationController class StatsController < ApplicationController
has_scope :region, :tag has_scope :city, :region, :tag
has_scope :near, type: :hash, using: %i[location distance] has_scope :near, type: :hash, using: %i[location distance]
before_action :set_events, :counts, :temporal, :local, only: [:index] before_action :set_events, :counts, :temporal, :local, only: [:index]

View File

@ -65,6 +65,7 @@ class Event < ApplicationRecord
where '? <= end_time and start_time <= ?', where '? <= end_time and start_time <= ?',
start_date, start_date.end_of_week.end_of_day start_date, start_date.end_of_week.end_of_day
end) end)
scope :city, ->(city) { where city: city }
scope :region, (lambda do |region| scope :region, (lambda do |region|
return if region == 'all' return if region == 'all'

View File

@ -34,6 +34,7 @@ class Orga < ApplicationRecord
scope :period, ->(_year, _week) {} scope :period, ->(_year, _week) {}
scope :kind, ->(kind) { where kind: kind } scope :kind, ->(kind) { where kind: kind }
scope :city, ->(city) { where city: city }
scope :region, (lambda do |region| scope :region, (lambda do |region|
temp = Region.find region temp = Region.find region
where region: [temp, temp.regions].flatten where region: [temp, temp.regions].flatten

View File

@ -1,3 +1,5 @@
%h2.warning= t '.warning'
- unless params[:year] || params[:start_date] || params[:iframe] - unless params[:year] || params[:start_date] || params[:iframe]
= render '/maps/events' = render '/maps/events'
@ -45,12 +47,12 @@
ical: link_to('iCal', events_path(:rss, ical: link_to('iCal', events_path(:rss,
tag: params[:tag], format: :ics, region: session[:region])) tag: params[:tag], format: :ics, region: session[:region]))
/ %a#banner(href='https://april.org/campagne') %a#banner(href='https://april.org/campagne')
/ = image_tag 'priorite-logiciel-libre-je-soutiens-april_2_m.png', = image_tag 'priorite-logiciel-libre-je-soutiens-april_2_m.png',
/ width: '374', height: '48', width: '374', height: '48',
/ alt: 'Priorité au Logiciel Libre! Je soutiens l\'April.' alt: 'Priorité au Logiciel Libre! Je soutiens l\'April.'
%a#banner(href='https://www.libre-en-fete.net') / %a#banner(href='https://www.libre-en-fete.net')
= image_tag 'lef.png', width: '486', height: '80', alt: 'Libre en Fete' / = image_tag 'lef.png', width: '486', height: '80', alt: 'Libre en Fete'
- events_meta - events_meta

View File

@ -5,7 +5,7 @@
- else - else
= render '/orgas/search' = render '/orgas/search'
- if params[:tag].blank? && (params[:near].blank? || params[:near][:location].blank?) - if params[:tag].blank?
= link_to page_path('filter'), class: 'filter' do = link_to page_path('filter'), class: 'filter' do
= t 'title', scope: 'pages.filter' = t 'title', scope: 'pages.filter'

View File

@ -7,25 +7,26 @@
%fieldset %fieldset
= form_tag events_url, method: :get do = form_tag events_url, method: :get do
= hidden_field_tag 'city', params[:city]
.field.near_location .field.near_location
= label_tag 'near[location]', t('.near_location') = label_tag 'near[location]', t('.near_location')
= text_field_tag 'near[location]', = text_field_tag 'near[location]',
params[:near].present? ? params[:near][:location] : '', params[:city] || (params[:near].present? ? params[:near][:location] : ''),
placeholder: t('.near_location_helper') placeholder: t('.near_location_helper')
.field.near_distance .field.near_distance
= label_tag 'near[distance]', t('.near_distance') = label_tag 'near[distance]', t('.near_distance')
= number_field_tag 'near[distance]', = number_field_tag 'near[distance]',
params[:near].present? ? params[:near][:distance] : '', params[:near].present? ? params[:near][:distance] : '',
placeholder: t('.near_distance_helper') placeholder: t('.near_distance_helper')
%span.helper km %span.helper km
.field.region .field.region
= label_tag :region, t('.region') = label_tag :region, t('.region')
= select_tag :region, = select_tag :region,
options_from_collection_for_select(Region.all, :id, :name, options_from_collection_for_select(Region.all, :id, :name,
params[:region]), params[:region]), include_blank: true
include_blank: true
.field.tag .field.tag
= label_tag :tag, t('.tag'), for: 'tag_tag' = label_tag :tag, t('.tag'), for: 'tag_tag'
@ -85,14 +86,14 @@
.field.period_year .field.period_year
= label_tag 'period[year]', t('.period_year') = label_tag 'period[year]', t('.period_year')
= number_field_tag 'period[year]', params['period[year]'], = number_field_tag 'period[year]', params['period[year]'],
placeholder: "Ex: #{(Time.zone.today + 7.days).year}" placeholder: "Ex: #{(Time.zone.today + 7.days).year}"
.helper .helper
:markdown :markdown
#{t '.period_year_helper'} #{t '.period_year_helper'}
.field.period_week .field.period_week
= label_tag 'period[week]', t('.period_week') = label_tag 'period[week]', t('.period_week')
= number_field_tag 'period[week]', params['period[week]'], = number_field_tag 'period[week]', params['period[week]'],
placeholder: "Ex: #{(Time.zone.today + 7.days).cweek}" placeholder: "Ex: #{(Time.zone.today + 7.days).cweek}"
.actions .actions
= button_tag formaction: digest_url(:markdown) do = button_tag formaction: digest_url(:markdown) do

View File

@ -10,6 +10,12 @@
= params[:near][:distance] = params[:near][:distance]
km km
%em.fa.fa-times %em.fa.fa-times
- elsif params[:city].present?
%li.selected
%a(href="?city=")
%em.fa.fa-map-pin
= params[:city]
%em.fa.fa-times
- else - else
%li#near-me %li#near-me

View File

@ -31,6 +31,7 @@ en:
\nContact: %{contact}." \nContact: %{contact}."
events: events:
index: index:
warning: Attention, most events have been canceled because of the pandemic, even if they still appear on the agenda. Take care!
calendar_in_html: This calendar in <em class='fa fa-rss'></em> %{rss}, calendar_in_html: This calendar in <em class='fa fa-rss'></em> %{rss},
<em class='fa fa-calendar'></em> %{webcal}/%{ical} <em class='fa fa-calendar'></em> %{webcal}/%{ical}
nb_events: "%{count} events" nb_events: "%{count} events"

View File

@ -31,6 +31,7 @@ fr:
\nVous pouvez nous joindre sur la page %{contact}." \nVous pouvez nous joindre sur la page %{contact}."
events: events:
index: index:
warning: Attention, la plupart des évènements physiques sont annulés à cause de la pandémie, même s'ils apparaissent encore sur l'agenda. Prenez soin de vous!
calendar_in_html: Ce calendrier en <em class='fa fa-rss'></em> %{rss}, calendar_in_html: Ce calendrier en <em class='fa fa-rss'></em> %{rss},
<em class='fa fa-calendar'></em> %{webcal}/%{ical} <em class='fa fa-calendar'></em> %{webcal}/%{ical}
nb_events: "%{count} événements" nb_events: "%{count} événements"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,32 @@
(function() {
var showPosition;
$(document).on('turbolinks:load', function() {
if (!navigator.geolocation) {
return;
}
$('a.near-me').click(function(event) {
event.preventDefault();
window.goto = event.target.href;
return navigator.geolocation.getCurrentPosition(showPosition, function(error) {
switch (error.code) {
case error.PERMISSION_DENIED:
return $('ul.regions li#near-me').remove();
}
});
});
return $('body.pages.show form').submit(function() {
if ($('#near_location').val() && $('#near_distance').val()) {
return $('#city').val('');
} else {
$('#city').val($('#near_location').val());
return $('#near_location').val('');
}
});
});
showPosition = function(position) {
return location.replace(window.goto.replace('[me]', "[" + (position.coords.latitude.toFixed(2)) + ", " + (position.coords.longitude.toFixed(2)) + "]"));
};
}).call(this);

View File

@ -0,0 +1,9 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.2.1 (2020-03-25)
*/
!function(){"use strict";function n(){}function o(n){return function(){return n}}function t(){return d}var e,r=tinymce.util.Tools.resolve("tinymce.PluginManager"),u=tinymce.util.Tools.resolve("tinymce.util.Tools"),l=function(n,t,e){var r="UL"===t?"InsertUnorderedList":"InsertOrderedList";n.execCommand(r,!1,!1===e?null:{"list-style-type":e})},i=function(e){e.addCommand("ApplyUnorderedListStyle",function(n,t){l(e,"UL",t["list-style-type"])}),e.addCommand("ApplyOrderedListStyle",function(n,t){l(e,"OL",t["list-style-type"])})},c=function(n){var t=n.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");return t?t.split(/[ ,]/):[]},s=function(n){var t=n.getParam("advlist_bullet_styles","default,circle,square");return t?t.split(/[ ,]/):[]},f=o(!1),a=o(!0),d=(e={fold:function(n,t){return n()},is:f,isSome:f,isNone:a,getOr:m,getOrThunk:p,getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:o(null),getOrUndefined:o(undefined),or:m,orThunk:p,map:t,each:n,bind:t,exists:f,forall:a,filter:t,equals:g,equals_:g,toArray:function(){return[]},toString:o("none()")},Object.freeze&&Object.freeze(e),e);function g(n){return n.isNone()}function p(n){return n()}function m(n){return n}function y(n,t,e){var r=function(n,t){for(var e=0;e<n.length;e++){if(t(n[e]))return e}return-1}(t.parents,L),i=-1!==r?t.parents.slice(0,r):t.parents,o=u.grep(i,N(n));return 0<o.length&&o[0].nodeName===e}function O(n,t,e,r,i,o){0<o.length?function(e,n,t,r,i,o){e.ui.registry.addSplitButton(n,{tooltip:t,icon:"OL"===i?"ordered-list":"unordered-list",presets:"listpreview",columns:3,fetch:function(n){n(u.map(o,function(n){return{type:"choiceitem",value:"default"===n?"":n,icon:"list-"+("OL"===i?"num":"bull")+"-"+("disc"===n||"decimal"===n?"default":n),text:function(n){return n.replace(/\-/g," ").replace(/\b\w/g,function(n){return n.toUpperCase()})}(n)}}))},onAction:function(){return e.execCommand(r)},onItemAction:function(n,t){l(e,i,t)},select:function(t){return S(e).map(function(n){return t===n}).getOr(!1)},onSetup:function(t){function n(n){t.setActive(y(e,n,i))}return e.on("NodeChange",n),function(){return e.off("NodeChange",n)}}})}(n,t,e,r,i,o):function(e,n,t,r,i){e.ui.registry.addToggleButton(n,{active:!1,tooltip:t,icon:"OL"===i?"ordered-list":"unordered-list",onSetup:function(t){function n(n){t.setActive(y(e,n,i))}return e.on("NodeChange",n),function(){return e.off("NodeChange",n)}},onAction:function(){return e.execCommand(r)}})}(n,t,e,r,i)}var v=function(e){function n(){return i}function t(n){return n(e)}var r=o(e),i={fold:function(n,t){return t(e)},is:function(n){return e===n},isSome:a,isNone:f,getOr:r,getOrThunk:r,getOrDie:r,getOrNull:r,getOrUndefined:r,or:n,orThunk:n,map:function(n){return v(n(e))},each:function(n){n(e)},bind:t,exists:t,forall:t,filter:function(n){return n(e)?i:d},toArray:function(){return[e]},toString:function(){return"some("+e+")"},equals:function(n){return n.is(e)},equals_:function(n,t){return n.fold(f,function(n){return t(e,n)})}};return i},h=function(n){return null===n||n===undefined?d:v(n)},L=function(n){return n&&/^(TH|TD)$/.test(n.nodeName)},N=function(t){return function(n){return n&&/^(OL|UL|DL)$/.test(n.nodeName)&&function(n,t){return n.$.contains(n.getBody(),t)}(t,n)}},S=function(n){var t=n.dom.getParent(n.selection.getNode(),"ol,ul"),e=n.dom.getStyle(t,"listStyleType");return h(e)},T=function(n){O(n,"numlist","Numbered list","InsertOrderedList","OL",c(n)),O(n,"bullist","Bullet list","InsertUnorderedList","UL",s(n))};!function b(){r.add("advlist",function(n){var t,e,r;e="lists",r=(t=n).settings.plugins?t.settings.plugins:"",-1!==u.inArray(r.split(/[ ,]/),e)&&(T(n),i(n))})}()}();

View File

@ -1 +1 @@
plugin-ef397712609916ade784f8fc3c28a07a9cafc3b57ecacc141113695f60a9dffa.js plugin-42acf5e1817426b24030173c7f0eeba2dfd712642b6d238077b6ec45e6eb6f0b.js

View File

@ -1 +1 @@
plugin-ef397712609916ade784f8fc3c28a07a9cafc3b57ecacc141113695f60a9dffa.js.gz plugin-42acf5e1817426b24030173c7f0eeba2dfd712642b6d238077b6ec45e6eb6f0b.js.gz

View File

@ -0,0 +1,9 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.2.1 (2020-03-25)
*/
!function(){"use strict";function e(o){return function(t){for(var e=0;e<t.length;e++)(n=t[e]).attr("href")||!n.attr("id")&&!n.attr("name")||n.firstChild||t[e].attr("contenteditable",o);var n}}var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(t){return/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(t)},o=function(t){var e=t.selection.getNode();return"A"===e.tagName&&""===t.dom.getAttrib(e,"href")?e.getAttribute("id")||e.getAttribute("name"):""},r=function(t,e){var n=t.selection.getNode();"A"===n.tagName&&""===t.dom.getAttrib(n,"href")?(n.removeAttribute("name"),n.id=e,t.undoManager.add()):(t.focus(),t.selection.collapse(!0),t.execCommand("mceInsertContent",!1,t.dom.createHTML("a",{id:e})))},a=function(e){var t=o(e);e.windowManager.open({title:"Anchor",size:"normal",body:{type:"panel",items:[{name:"id",type:"input",label:"ID",placeholder:"example"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{id:t},onSubmit:function(t){!function(t,e){return n(e)?(r(t,e),!1):(t.windowManager.alert("Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."),!0)}(e,t.getData().id)&&t.close()}})},i=function(t){t.addCommand("mceAnchor",function(){a(t)})},c=function(t){t.on("PreInit",function(){t.parser.addNodeFilter("a",e("false")),t.serializer.addNodeFilter("a",e(null))})},d=function(e){e.ui.registry.addToggleButton("anchor",{icon:"bookmark",tooltip:"Anchor",onAction:function(){return e.execCommand("mceAnchor")},onSetup:function(t){return e.selection.selectorChangedWithUnbind("a:not([href])",t.setActive).unbind}}),e.ui.registry.addMenuItem("anchor",{icon:"bookmark",text:"Anchor...",onAction:function(){return e.execCommand("mceAnchor")}})};!function u(){t.add("anchor",function(t){c(t),i(t),d(t)})}()}();

View File

@ -1 +1 @@
plugin-e1a281e6b5110e207af9dbaaf52083080a6d590aee286fc8b1eac466d5db25f2.js plugin-5813d5d177e78e9541dad6097f211b74900d1773d16a75e189a16bebd34bdf67.js

View File

@ -1 +1 @@
plugin-e1a281e6b5110e207af9dbaaf52083080a6d590aee286fc8b1eac466d5db25f2.js.gz plugin-5813d5d177e78e9541dad6097f211b74900d1773d16a75e189a16bebd34bdf67.js.gz

View File

@ -0,0 +1,9 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.2.1 (2020-03-25)
*/
!function(){"use strict";function i(t,e){if(e<0&&(e=0),3===t.nodeType){var n=t.data.length;n<e&&(e=n)}return e}function C(t,e,n){1!==e.nodeType||e.hasChildNodes()?t.setStart(e,i(e,n)):t.setStartBefore(e)}function y(t,e,n){1!==e.nodeType||e.hasChildNodes()?t.setEnd(e,i(e,n)):t.setEndAfter(e)}var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=tinymce.util.Tools.resolve("tinymce.Env"),k=function(t){return t.getParam("autolink_pattern",/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i)},p=function(t){return t.getParam("default_link_target",!1)},w=function(t){return t.getParam("link_default_protocol","http","string")},r=function(t,e,n){var i,o,r,f,a,s,d,l,c,u,g=k(t),h=p(t);if("A"!==t.selection.getNode().tagName){if((i=t.selection.getRng(!0).cloneRange()).startOffset<5){if(!(l=i.endContainer.previousSibling)){if(!i.endContainer.firstChild||!i.endContainer.firstChild.nextSibling)return;l=i.endContainer.firstChild.nextSibling}if(c=l.length,C(i,l,c),y(i,l,c),i.endOffset<5)return;o=i.endOffset,f=l}else{if(3!==(f=i.endContainer).nodeType&&f.firstChild){for(;3!==f.nodeType&&f.firstChild;)f=f.firstChild;3===f.nodeType&&(C(i,f,0),y(i,f,f.nodeValue.length))}o=1===i.endOffset?2:i.endOffset-1-e}for(r=o;C(i,f,2<=o?o-2:0),y(i,f,1<=o?o-1:0),o-=1," "!==(u=i.toString())&&""!==u&&160!==u.charCodeAt(0)&&0<=o-2&&u!==n;);!function(t,e){return t===e||" "===t||160===t.charCodeAt(0)}(i.toString(),n)?(0===i.startOffset?C(i,f,0):C(i,f,o),y(i,f,r)):(C(i,f,o),y(i,f,r),o+=1),"."===(s=i.toString()).charAt(s.length-1)&&y(i,f,r-1),d=(s=i.toString().trim()).match(g);var m=w(t);d&&("www."===d[1]?d[1]=m+"://www.":/@$/.test(d[1])&&!/^mailto:/.test(d[1])&&(d[1]="mailto:"+d[1]),a=t.selection.getBookmark(),t.selection.setRng(i),t.execCommand("createlink",!1,d[1]+d[2]),!1!==h&&t.dom.setAttrib(t.selection.getNode(),"target",h),t.selection.moveToBookmark(a),t.nodeChanged())}},e=function(e){var n;e.on("keydown",function(t){if(13===t.keyCode)return function(t){r(t,-1,"")}(e)}),o.browser.isIE()?e.on("focus",function(){if(!n){n=!0;try{e.execCommand("AutoUrlDetect",!1,!0)}catch(t){}}}):(e.on("keypress",function(t){if(41===t.keyCode)return function(t){r(t,-1,"(")}(e)}),e.on("keyup",function(t){if(32===t.keyCode)return function(t){r(t,0,"")}(e)}))};!function n(){t.add("autolink",function(t){e(t)})}()}();

View File

@ -1 +1 @@
plugin-fdeb5aa4fa0c4386819034884d9cd9ab319c359b2121a5ab3541fc3f25d15eef.js plugin-e1929492b229de8b11169a48818bc77785d6e348ab85c722e3be4c0492a4584b.js

View File

@ -1 +1 @@
plugin-fdeb5aa4fa0c4386819034884d9cd9ab319c359b2121a5ab3541fc3f25d15eef.js.gz plugin-e1929492b229de8b11169a48818bc77785d6e348ab85c722e3be4c0492a4584b.js.gz

View File

@ -0,0 +1,9 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.2.1 (2020-03-25)
*/
!function(){"use strict";function d(e,t){var n=e.getBody();n&&(n.style.overflowY=t?"":"hidden",t||(n.scrollTop=0))}function h(e,t,n,i){var o=parseInt(e.getStyle(t,n,i),10);return isNaN(o)?0:o}var i=function(e){function t(){return n}var n=e;return{get:t,set:function(e){n=e},clone:function(){return i(t())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),v=tinymce.util.Tools.resolve("tinymce.Env"),r=tinymce.util.Tools.resolve("tinymce.util.Delay"),p=function(e){return e.fire("ResizeEditor")},y=function(e){return e.getParam("min_height",e.getElement().offsetHeight,"number")},z=function(e){return e.getParam("max_height",0,"number")},n=function(e){return e.getParam("autoresize_overflow_padding",1,"number")},b=function(e){return e.getParam("autoresize_bottom_margin",50,"number")},o=function(e){return e.getParam("autoresize_on_init",!0,"boolean")},u=function(e,t,n,i,o){r.setEditorTimeout(e,function(){C(e,t),n--?u(e,t,n,i,o):o&&o()},i)},C=function(e,t){var n,i,o,r=e.dom,u=e.getDoc();if(u)if(function(e){return e.plugins.fullscreen&&e.plugins.fullscreen.isFullscreen()}(e))d(e,!0);else{var s=u.documentElement,a=b(e);i=y(e);var f=h(r,s,"margin-top",!0),c=h(r,s,"margin-bottom",!0);(o=s.offsetHeight+f+c+a)<0&&(o=0);var g=e.getContainer().offsetHeight-e.getContentAreaContainer().offsetHeight;o+g>y(e)&&(i=o+g);var l=z(e);if(l&&l<i?(i=l,d(e,!0)):d(e,!1),i!==t.get()){if(n=i-t.get(),r.setStyle(e.getContainer(),"height",i+"px"),t.set(i),p(e),v.browser.isSafari()&&v.mac){var m=e.getWin();m.scrollTo(m.pageXOffset,m.pageYOffset)}e.hasFocus()&&e.selection.scrollIntoView(e.selection.getNode()),v.webkit&&n<0&&C(e,t)}}},s={setup:function(t,e){t.on("init",function(){var e=n(t);t.dom.setStyles(t.getBody(),{paddingLeft:e,paddingRight:e,"min-height":0})}),t.on("NodeChange SetContent keyup FullscreenStateChanged ResizeContent",function(){C(t,e)}),o(t)&&t.on("init",function(){u(t,e,20,100,function(){u(t,e,5,1e3)})})},resize:C},a=function(e,t){e.addCommand("mceAutoResize",function(){s.resize(e,t)})};!function t(){e.add("autoresize",function(e){if(e.settings.hasOwnProperty("resize")||(e.settings.resize=!1),!e.inline){var t=i(0);a(e,t),s.setup(e,t)}})}()}();

View File

@ -1 +1 @@
plugin-c1f0773e27d6ea0be494bdf48c2cad414f7234a19e7e93827e652645ef2eb626.js plugin-68dfcd9bced9f367c16ed046f2b37e5929ed4eb7e111a233084f3f6c90e9ace6.js

View File

@ -1 +1 @@
plugin-c1f0773e27d6ea0be494bdf48c2cad414f7234a19e7e93827e652645ef2eb626.js.gz plugin-68dfcd9bced9f367c16ed046f2b37e5929ed4eb7e111a233084f3f6c90e9ace6.js.gz

View File

@ -0,0 +1,9 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.2.1 (2020-03-25)
*/
!function(n){"use strict";function r(t,e){var n=t||e,r=/^(\d+)([ms]?)$/.exec(""+n);return(r[2]?{s:1e3,m:6e4}[r[2]]:1)*parseInt(n,10)}function o(t){var e=t.getParam("autosave_prefix","tinymce-autosave-{path}{query}{hash}-{id}-");return e=(e=(e=(e=e.replace(/\{path\}/g,n.document.location.pathname)).replace(/\{query\}/g,n.document.location.search)).replace(/\{hash\}/g,n.document.location.hash)).replace(/\{id\}/g,t.id)}function a(t,e){var n=t.settings.forced_root_block;return""===(e=d.trim(void 0===e?t.getBody().innerHTML:e))||new RegExp("^<"+n+"[^>]*>((\xa0|&nbsp;|[ \t]|<br[^>]*>)+?|)</"+n+">|<br>$","i").test(e)}function i(t){var e=parseInt(v.getItem(o(t)+"time"),10)||0;return!((new Date).getTime()-e>function(t){return r(t.settings.autosave_retention,"20m")}(t))||(g(t,!1),!1)}function u(t){var e=o(t);!a(t)&&t.isDirty()&&(v.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),v.setItem(e+"time",(new Date).getTime().toString()),function(t){t.fire("StoreDraft")}(t))}function s(t){var e=o(t);i(t)&&(t.setContent(v.getItem(e+"draft"),{format:"raw"}),function(t){t.fire("RestoreDraft")}(t))}function c(t,e){var n=function(t){return r(t.settings.autosave_interval,"30s")}(t);e.get()||(m.setInterval(function(){t.removed||u(t)},n),e.set(!0))}function f(t){t.undoManager.transact(function(){s(t),g(t)}),t.focus()}var l=function(t){function e(){return n}var n=t;return{get:e,set:function(t){n=t},clone:function(){return l(e())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),m=tinymce.util.Tools.resolve("tinymce.util.Delay"),v=tinymce.util.Tools.resolve("tinymce.util.LocalStorage"),d=tinymce.util.Tools.resolve("tinymce.util.Tools"),g=function(t,e){var n=o(t);v.removeItem(n+"draft"),v.removeItem(n+"time"),!1!==e&&function(t){t.fire("RemoveDraft")}(t)};function y(r){for(var o=[],t=1;t<arguments.length;t++)o[t-1]=arguments[t];return function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=o.concat(t);return r.apply(null,n)}}function p(n,t){return function(t){t.setDisabled(!i(n));function e(){return t.setDisabled(!i(n))}return n.on("StoreDraft RestoreDraft RemoveDraft",e),function(){return n.off("StoreDraft RestoreDraft RemoveDraft",e)}}}var D=tinymce.util.Tools.resolve("tinymce.EditorManager");!function e(){t.add("autosave",function(t){var e=l(!1);return function(t){t.editorManager.on("BeforeUnload",function(t){var e;d.each(D.get(),function(t){t.plugins.autosave&&t.plugins.autosave.storeDraft(),!e&&t.isDirty()&&function(t){return t.getParam("autosave_ask_before_unload",!0)}(t)&&(e=t.translate("You have unsaved changes are you sure you want to navigate away?"))}),e&&(t.preventDefault(),t.returnValue=e)})}(t),function(t,e){c(t,e),t.ui.registry.addButton("restoredraft",{tooltip:"Restore last draft",icon:"restore-draft",onAction:function(){f(t)},onSetup:p(t)}),t.ui.registry.addMenuItem("restoredraft",{text:"Restore last draft",icon:"restore-draft",onAction:function(){f(t)},onSetup:p(t)})}(t,e),t.on("init",function(){(function(t){return t.getParam("autosave_restore_when_empty",!1)})(t)&&t.dom.isEmpty(t.getBody())&&s(t)}),function(t){return{hasDraft:y(i,t),storeDraft:y(u,t),restoreDraft:y(s,t),removeDraft:y(g,t),isEmpty:y(a,t)}}(t)})}()}(window);

View File

@ -1 +1 @@
plugin-3caa7909c1d9d22a1494afe442155a915098ac763c628898a83ff351b8a99bb6.js plugin-82beeb6b5121d1139b20b074fada63b769a06c2f4acf926db87f66ff359c57e1.js

View File

@ -1 +1 @@
plugin-3caa7909c1d9d22a1494afe442155a915098ac763c628898a83ff351b8a99bb6.js.gz plugin-82beeb6b5121d1139b20b074fada63b769a06c2f4acf926db87f66ff359c57e1.js.gz

View File

@ -0,0 +1,9 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.2.1 (2020-03-25)
*/
!function(){"use strict";var o=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=tinymce.util.Tools.resolve("tinymce.util.Tools"),t=function(t){t=e.trim(t);function o(o,e){t=t.replace(o,e)}return o(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]"),o(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),o(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),o(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),o(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),o(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]"),o(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]"),o(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]"),o(/<font>(.*?)<\/font>/gi,"$1"),o(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]"),o(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]"),o(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]"),o(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"),o(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"),o(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"),o(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"),o(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"),o(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"),o(/<\/(strong|b)>/gi,"[/b]"),o(/<(strong|b)>/gi,"[b]"),o(/<\/(em|i)>/gi,"[/i]"),o(/<(em|i)>/gi,"[i]"),o(/<\/u>/gi,"[/u]"),o(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]"),o(/<u>/gi,"[u]"),o(/<blockquote[^>]*>/gi,"[quote]"),o(/<\/blockquote>/gi,"[/quote]"),o(/<br \/>/gi,"\n"),o(/<br\/>/gi,"\n"),o(/<br>/gi,"\n"),o(/<p>/gi,""),o(/<\/p>/gi,"\n"),o(/&nbsp;|\u00a0/gi," "),o(/&quot;/gi,'"'),o(/&lt;/gi,"<"),o(/&gt;/gi,">"),o(/&amp;/gi,"&"),t},i=function(t){t=e.trim(t);function o(o,e){t=t.replace(o,e)}return o(/\n/gi,"<br />"),o(/\[b\]/gi,"<strong>"),o(/\[\/b\]/gi,"</strong>"),o(/\[i\]/gi,"<em>"),o(/\[\/i\]/gi,"</em>"),o(/\[u\]/gi,"<u>"),o(/\[\/u\]/gi,"</u>"),o(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'<a href="$1">$2</a>'),o(/\[url\](.*?)\[\/url\]/gi,'<a href="$1">$1</a>'),o(/\[img\](.*?)\[\/img\]/gi,'<img src="$1" />'),o(/\[color=(.*?)\](.*?)\[\/color\]/gi,'<font color="$1">$2</font>'),o(/\[code\](.*?)\[\/code\]/gi,'<span class="codeStyle">$1</span>&nbsp;'),o(/\[quote.*?\](.*?)\[\/quote\]/gi,'<span class="quoteStyle">$1</span>&nbsp;'),t};!function n(){o.add("bbcode",function(o){o.on("BeforeSetContent",function(o){o.content=i(o.content)}),o.on("PostProcess",function(o){o.set&&(o.content=i(o.content)),o.get&&(o.content=t(o.content))})})}()}();

View File

@ -1 +1 @@
plugin-0544dd7c8664dd856f771724a1816c426b2bf4ccd010f7f0f5da7070946773f3.js plugin-fdf51bdb42a0d91628dfb1cc321e05262c69310dac0cd2ffe46ffc03f0203bd9.js

View File

@ -1 +1 @@
plugin-0544dd7c8664dd856f771724a1816c426b2bf4ccd010f7f0f5da7070946773f3.js.gz plugin-fdf51bdb42a0d91628dfb1cc321e05262c69310dac0cd2ffe46ffc03f0203bd9.js.gz

View File

@ -1 +1 @@
plugin-ee26f2d7ff72a1d2967d9e57692728b1f31b6c882fdd9245e6288ede97ab7aed.js plugin-6bfd9085d12b20d580c15b0b238479e9943f1182617bfefa6e36e3d99d81dbfa.js

View File

@ -1 +1 @@
plugin-ee26f2d7ff72a1d2967d9e57692728b1f31b6c882fdd9245e6288ede97ab7aed.js.gz plugin-6bfd9085d12b20d580c15b0b238479e9943f1182617bfefa6e36e3d99d81dbfa.js.gz

View File

@ -0,0 +1,9 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.2.1 (2020-03-25)
*/
!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e,n){e.focus(),e.undoManager.transact(function(){e.setContent(n)}),e.selection.setCursorLocation(),e.nodeChanged()},o=function(e){return e.getContent({source_view:!0})},n=function(n){var e=o(n);n.windowManager.open({title:"Source Code",size:"large",body:{type:"panel",items:[{type:"textarea",name:"code"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{code:e},onSubmit:function(e){t(n,e.getData().code),e.close()}})},c=function(e){e.addCommand("mceCodeEditor",function(){n(e)})},i=function(e){e.ui.registry.addButton("code",{icon:"sourcecode",tooltip:"Source code",onAction:function(){return n(e)}}),e.ui.registry.addMenuItem("code",{icon:"sourcecode",text:"Source code",onAction:function(){return n(e)}})};!function u(){e.add("code",function(e){return c(e),i(e),{}})}()}();

View File

@ -1 +1 @@
plugin-9ec6e1d7abda5f2576da4c5ad6c97318589daf0c8ecf38a54cc2982465991d15.js plugin-ba25e82bbc252b9bf4cc8e037de0c9d15fd538ecf4d1352e1576e7803f28402f.js

View File

@ -1 +1 @@
plugin-9ec6e1d7abda5f2576da4c5ad6c97318589daf0c8ecf38a54cc2982465991d15.js.gz plugin-ba25e82bbc252b9bf4cc8e037de0c9d15fd538ecf4d1352e1576e7803f28402f.js.gz

View File

@ -1 +1 @@
plugin-51877540fd6cc721e3385e0a7e283c238182b8d9d38e21dee1be85bf8cd5cd18.js plugin-fad78c1789a6a4bf85426f7a72cd18cae203ad95200edafe5d7f1aede3881a07.js

View File

@ -1 +1 @@
plugin-51877540fd6cc721e3385e0a7e283c238182b8d9d38e21dee1be85bf8cd5cd18.js.gz plugin-fad78c1789a6a4bf85426f7a72cd18cae203ad95200edafe5d7f1aede3881a07.js.gz

View File

@ -0,0 +1,9 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.2.1 (2020-03-25)
*/
!function(o){"use strict";var i=tinymce.util.Tools.resolve("tinymce.PluginManager");!function n(){i.add("colorpicker",function(){o.console.warn("Color picker plugin is now built in to the core editor, please remove it from your editor configuration")})}()}(window);

View File

@ -1 +1 @@
plugin-c093efc4d9494340323e91ae6eb1a471df1f447ce45eb4a7d97f5cad8909c852.js plugin-557ef000efe53de7d8f70f20e55fa040317fc836b731b2983957cf70fa20e2d9.js

View File

@ -1 +1 @@
plugin-c093efc4d9494340323e91ae6eb1a471df1f447ce45eb4a7d97f5cad8909c852.js.gz plugin-557ef000efe53de7d8f70f20e55fa040317fc836b731b2983957cf70fa20e2d9.js.gz

View File

@ -0,0 +1,9 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.2.1 (2020-03-25)
*/
!function(n){"use strict";var o=tinymce.util.Tools.resolve("tinymce.PluginManager");!function e(){o.add("contextmenu",function(){n.console.warn("Context menu plugin is now built in to the core editor, please remove it from your editor configuration")})}()}(window);

View File

@ -1 +1 @@
plugin-d29ea7477a0ea4ed816f8056d5faf9563c0682372d5305d0ad5895db39296e3d.js plugin-dced209824953fe99c63b9bde1a0eef2cbd6456d85e1deac7b66b9d44e7b0440.js

View File

@ -1 +1 @@
plugin-d29ea7477a0ea4ed816f8056d5faf9563c0682372d5305d0ad5895db39296e3d.js.gz plugin-dced209824953fe99c63b9bde1a0eef2cbd6456d85e1deac7b66b9d44e7b0440.js.gz

View File

@ -0,0 +1,9 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.2.1 (2020-03-25)
*/
!function(i){"use strict";function n(){}function u(n){return function(){return n}}function t(){return a}var e,r=tinymce.util.Tools.resolve("tinymce.PluginManager"),c=tinymce.util.Tools.resolve("tinymce.util.Tools"),o=function(n,t){var e,r=n.dom,o=n.selection.getSelectedBlocks();o.length&&(e=r.getAttrib(o[0],"dir"),c.each(o,function(n){r.getParent(n.parentNode,'*[dir="'+t+'"]',r.getRoot())||r.setAttrib(n,"dir",e!==t?t:null)}),n.nodeChanged())},d=function(n){n.addCommand("mceDirectionLTR",function(){o(n,"ltr")}),n.addCommand("mceDirectionRTL",function(){o(n,"rtl")})},f=u(!1),l=u(!0),a=(e={fold:function(n,t){return n()},is:f,isSome:f,isNone:l,getOr:s,getOrThunk:N,getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},getOrNull:u(null),getOrUndefined:u(undefined),or:s,orThunk:N,map:t,each:n,bind:t,exists:f,forall:l,filter:t,equals:m,equals_:m,toArray:function(){return[]},toString:u("none()")},Object.freeze&&Object.freeze(e),e);function m(n){return n.isNone()}function N(n){return n()}function s(n){return n}function g(n,t){var e=n.dom(),r=i.window.getComputedStyle(e).getPropertyValue(t),o=""!==r||function(n){var t=A(n)?n.dom().parentNode:n.dom();return t!==undefined&&null!==t&&t.ownerDocument.body.contains(t)}(n)?r:w(e,t);return null===o?undefined:o}function T(t,r){return function(e){function n(n){var t=p.fromDom(n.element);e.setActive(function(n){return"rtl"===g(n,"direction")?"rtl":"ltr"}(t)===r)}return t.on("NodeChange",n),function(){return t.off("NodeChange",n)}}}var E,O,y=function(e){function n(){return o}function t(n){return n(e)}var r=u(e),o={fold:function(n,t){return t(e)},is:function(n){return e===n},isSome:l,isNone:f,getOr:r,getOrThunk:r,getOrDie:r,getOrNull:r,getOrUndefined:r,or:n,orThunk:n,map:function(n){return y(n(e))},each:function(n){n(e)},bind:t,exists:t,forall:t,filter:function(n){return n(e)?o:a},toArray:function(){return[e]},toString:function(){return"some("+e+")"},equals:function(n){return n.is(e)},equals_:function(n,t){return n.fold(f,function(n){return t(e,n)})}};return o},D=function(n){return null===n||n===undefined?a:y(n)},h=function(n){if(null===n||n===undefined)throw new Error("Node cannot be null or undefined");return{dom:u(n)}},p={fromHtml:function(n,t){var e=(t||i.document).createElement("div");if(e.innerHTML=n,!e.hasChildNodes()||1<e.childNodes.length)throw i.console.error("HTML does not have a single root node",n),new Error("HTML must have a single root node");return h(e.childNodes[0])},fromTag:function(n,t){var e=(t||i.document).createElement(n);return h(e)},fromText:function(n,t){var e=(t||i.document).createTextNode(n);return h(e)},fromDom:h,fromPoint:function(n,t,e){var r=n.dom();return D(r.elementFromPoint(t,e)).map(h)}},_=(E="function",function(n){return function(n){if(null===n)return"null";var t=typeof n;return"object"==t&&(Array.prototype.isPrototypeOf(n)||n.constructor&&"Array"===n.constructor.name)?"array":"object"==t&&(String.prototype.isPrototypeOf(n)||n.constructor&&"String"===n.constructor.name)?"string":t}(n)===E}),v=Array.prototype.slice,C=(_(Array.from)&&Array.from,i.Node.ATTRIBUTE_NODE,i.Node.CDATA_SECTION_NODE,i.Node.COMMENT_NODE,i.Node.DOCUMENT_NODE,i.Node.DOCUMENT_TYPE_NODE,i.Node.DOCUMENT_FRAGMENT_NODE,i.Node.ELEMENT_NODE,i.Node.TEXT_NODE),A=(i.Node.PROCESSING_INSTRUCTION_NODE,i.Node.ENTITY_REFERENCE_NODE,i.Node.ENTITY_NODE,i.Node.NOTATION_NODE,"undefined"!=typeof i.window?i.window:Function("return this;")(),O=C,function(n){return function(n){return n.dom().nodeType}(n)===O}),w=function(n,t){return function(n){return n.style!==undefined&&_(n.style.getPropertyValue)}(n)?n.style.getPropertyValue(t):""},S=function(n){n.ui.registry.addToggleButton("ltr",{tooltip:"Left to right",icon:"ltr",onAction:function(){return n.execCommand("mceDirectionLTR")},onSetup:T(n,"ltr")}),n.ui.registry.addToggleButton("rtl",{tooltip:"Right to left",icon:"rtl",onAction:function(){return n.execCommand("mceDirectionRTL")},onSetup:T(n,"rtl")})};!function R(){r.add("directionality",function(n){d(n),S(n)})}()}(window);

View File

@ -1 +1 @@
plugin-791be004aae5744b1dee31e7d6e85d1267991bcf4691e81911f88a8e3405a171.js plugin-94e0469405b6476baf0a102f8cbab03a7150327ec44c006262948a2c07ebce08.js

View File

@ -1 +1 @@
plugin-791be004aae5744b1dee31e7d6e85d1267991bcf4691e81911f88a8e3405a171.js.gz plugin-94e0469405b6476baf0a102f8cbab03a7150327ec44c006262948a2c07ebce08.js.gz

View File

@ -1 +1 @@
plugin-3443af28675ef4abc8b57aba397c62cc9bf469ec8c4c56a8622fa8ab1c7f2ee3.js plugin-a77d24481b6159e0f908cbf3623ace87ed6c6f9fedfbb7bcb6d1ae790c4bb0f7.js

View File

@ -1 +1 @@
plugin-3443af28675ef4abc8b57aba397c62cc9bf469ec8c4c56a8622fa8ab1c7f2ee3.js.gz plugin-a77d24481b6159e0f908cbf3623ace87ed6c6f9fedfbb7bcb6d1ae790c4bb0f7.js.gz

View File

@ -1 +1 @@
plugin-c21647cef8ecc48cfb1fbe68d31d704aaa55c22f83ffd157619e693fef0a63ea.js plugin-625105761801bd73c48cd0815e29a330cc77fbd7b12eb18b2cd94240da12550d.js

View File

@ -1 +1 @@
plugin-c21647cef8ecc48cfb1fbe68d31d704aaa55c22f83ffd157619e693fef0a63ea.js.gz plugin-625105761801bd73c48cd0815e29a330cc77fbd7b12eb18b2cd94240da12550d.js.gz

View File

@ -1 +1 @@
plugin-880660f477d1447103b4a00768c5279aee8c002c520d9a3684814eaf89f91ca2.js plugin-8d3a02b255cfee8716c47bd3db2b37f88db29d9e2ad4f15d93449a47353dcd74.js

View File

@ -1 +1 @@
plugin-880660f477d1447103b4a00768c5279aee8c002c520d9a3684814eaf89f91ca2.js.gz plugin-8d3a02b255cfee8716c47bd3db2b37f88db29d9e2ad4f15d93449a47353dcd74.js.gz

View File

@ -1 +1 @@
plugin-86a13d52eccdd14ca7b75357e1da835637f9edbafdecc227292260a313c5fc9c.js plugin-f93ffd2af645fab6e52f2854c44c3a69f6b928602d702539510f5d5bd34937e3.js

View File

@ -1 +1 @@
plugin-86a13d52eccdd14ca7b75357e1da835637f9edbafdecc227292260a313c5fc9c.js.gz plugin-f93ffd2af645fab6e52f2854c44c3a69f6b928602d702539510f5d5bd34937e3.js.gz

View File

@ -0,0 +1,9 @@
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*
* Version: 5.2.1 (2020-03-25)
*/
!function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),o=function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1,"<hr />")})},t=function(n){n.ui.registry.addButton("hr",{icon:"horizontal-rule",tooltip:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}}),n.ui.registry.addMenuItem("hr",{icon:"horizontal-rule",text:"Horizontal line",onAction:function(){return n.execCommand("InsertHorizontalRule")}})};!function e(){n.add("hr",function(n){o(n),t(n)})}()}();

View File

@ -1 +1 @@
plugin-21fd32a758ffbcb33bbba889889a1343b4d9d0ed4798760090575db4afa7d3f2.js plugin-295ff876114acb13a99e76b0464ab8bb2f2dfe3c14be7d0c67aecf98758b57ab.js

View File

@ -1 +1 @@
plugin-21fd32a758ffbcb33bbba889889a1343b4d9d0ed4798760090575db4afa7d3f2.js.gz plugin-295ff876114acb13a99e76b0464ab8bb2f2dfe3c14be7d0c67aecf98758b57ab.js.gz

View File

@ -1 +1 @@
plugin-23e1db85c5ae7840030aa4d47c842b33d9638b154c5962492dca83625b0fb498.js plugin-30270ca828ff68dc5d2ecd275555af1203fd5640e710901107b16396df7c042c.js

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