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
Style/HashTransformValues:
Enabled: true
Lint/RaiseException:
Enabled: true
Lint/StructNewOverride:
Enabled: true

View File

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

View File

@ -12,6 +12,15 @@ $(document).on 'turbolinks:load', ->
when error.PERMISSION_DENIED
$('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) ->
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.
protect_from_forgery prepend: true, with: :exception
preserve :region, :tag, :near
preserve :city, :region, :tag, :near
layout :handle_xhr_layout

View File

@ -1,6 +1,6 @@
# A digest of all events over a period of time
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 :period, allow_blank: true, type: :hash, using: %i[year week],
default: (

View File

@ -1,7 +1,7 @@
# Event life cycle
# This is a central part to this project
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 :future, type: :boolean, default: true, only: [:index], if: :future?

View File

@ -2,7 +2,7 @@
#
# Access to OSM controls
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 :future, type: :boolean, default: true
has_scope :period, type: :hash, using: %i[year week]

View File

@ -1,6 +1,6 @@
# Event management life cycle
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]
before_action :authenticate_user!

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -5,7 +5,7 @@
- else
= 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
= t 'title', scope: 'pages.filter'

View File

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

View File

@ -10,6 +10,12 @@
= params[:near][:distance]
km
%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
%li#near-me

View File

@ -31,6 +31,7 @@ en:
\nContact: %{contact}."
events:
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},
<em class='fa fa-calendar'></em> %{webcal}/%{ical}
nb_events: "%{count} events"

View File

@ -31,6 +31,7 @@ fr:
\nVous pouvez nous joindre sur la page %{contact}."
events:
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},
<em class='fa fa-calendar'></em> %{webcal}/%{ical}
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