Commit 49278800 authored by neutrinet-site's avatar neutrinet-site Committed by Site-sync-Neutrinet
Browse files

(Grav GitSync) Automatic Commit from neutrinet-site

parent e8a022f5
......@@ -5,43 +5,43 @@ features:
-
icon: 'fa fa-bath'
header: 'À propos…'
text: "de l'association sans but lucratif Neutrinet"
url: 'a-propos'
text: 'de l''association sans but lucratif Neutrinet'
url: a-propos
-
icon: 'fa fa-wikipedia-w'
header: 'Le Wiki'
text: "Notes de réunion et bien d'autres choses"
url: 'https://wiki.neutrinet.be'
text: 'Notes de réunion et bien d''autres choses'
url: 'https://wiki.neutrinet.be'
-
icon: 'fa fa-eur'
header: 'Coordonées bancaire'
header: 'Coordonnées bancaire'
text: 'Pour les dons'
url: 'https://wiki.neutrinet.be/fr/administration/banks'
-
icon: 'fa fa-expeditedssl'
header: "Besoin d'un VPN ?"
text: "C'est ce qu'on fait !"
url: 'vpn'
header: 'Besoin d''un VPN ?'
text: 'C''est ce qu''on fait !'
url: vpn
-
icon: 'fa fa-cube'
header: 'Brique Internet'
text: "Découvrir l'auto-hébergement"
url: 'brique'
text: 'Découvrir l''auto-hébergement'
url: brique
-
icon: 'fa fa-newspaper-o'
header: 'Blog'
header: Blog
text: 'Lire le journal'
url: 'blog'
url: blog
-
icon: 'fa fa-users'
header: A.S.B.L.
text: 'Association sans but lucratif'
url: 'asbl'
url: asbl
-
icon: 'fa fa-balance-scale'
header: C.C.J.
text: "Cellule de Coopération <br/>avec la Justice"
url: 'ccj'
text: 'Cellule de Coopération <br/>avec la Justice'
url: ccj
class: offset-box
---
......
......@@ -14,3 +14,4 @@ tests/_support/_generated/*
tests/cache/*
tests/error.log
/crowdin.yaml
.vscode
# v1.10.34
## 06/22/2022
1. [](#improved)
* Exposed `UriToMarkdown` util (`Grav.default.Utils.UriToMarkdown`) in admin, to convert links/images
1. [](#bugfix)
* Fixed `Latest Page Updates` permissions [#2294](https://github.com/getgrav/grav-plugin-admin/pull/2294)
# v1.10.33.1
## 04/25/2022
1. [](#bugfix)
* Reverted [PR#2265](https://github.com/getgrav/grav-plugin-admin/pull/2265) as it broke sections output
# v1.10.33
## 04/25/2022
1. [](#new)
* Require **Form 6.0.1**
2. [](#improved)
* Added support for a single `field:` vs `fields:` in element form field to store a single value to the option field
* Allow new media collapser logic to configure different cookie storage name location via `data-storage-location`
1. [](#bugfix)
* Fixed nested element form fields
* Fixed `columns` and `column` fields with `.dotted` variables inside to ignore columns and column names
* Fixed initial elements state not being restored
# v1.10.32
## 03/28/2022
1. [](#new)
* Require **Grav 1.7.32**, **Form 6.0.0**, **Login 3.7.0**, **Email 3.1.6** and **Flex Objects 1.2.0**
2. [](#improved)
* List field: Support for default values other than key/value [#2255](https://github.com/getgrav/grav-plugin-admin/issues/2255)
* Added question icon to admin fields with help text [#2261](https://github.com/getgrav/grav-plugin-admin/issues/2261)
3. [](#bugfix)
* Fix nested `toggleable`: originalValue now checks with `??` instead of `is defined`
# v1.10.31
## 03/14/2022
1. [](#new)
* Added new local Multiavatar (local generation). **This will be default in Grav 1.8**
2. [](#bugfix)
* Patch `collection.js` [#2235](https://github.com/getgrav/grav-plugin-admin/issues/2235)
# v1.10.30.2
## 02/09/2022
1. [](#bugfix)
2. [](#bugfix)
* Fixed regression preventing new `elements` field from saving its state
# v1.10.30.1
......
......@@ -82,7 +82,6 @@ class AdminPlugin extends Plugin
{
return [
'onPluginsInitialized' => [
['autoload', 100001],
['setup', 100000],
['onPluginsInitialized', 1001]
],
......@@ -176,8 +175,6 @@ class AdminPlugin extends Plugin
}
/**
* [onPluginsInitialized:100000] Composer autoload.
*
* @return ClassLoader
*/
public function autoload(): ClassLoader
......
name: Admin Panel
slug: admin
type: plugin
version: 1.10.30.2
version: 1.10.34
description: Adds an advanced administration panel to manage your site
icon: empire
author:
......@@ -15,11 +15,11 @@ docs: https://github.com/getgrav/grav-plugin-admin/blob/develop/README.md
license: MIT
dependencies:
- { name: grav, version: '>=1.7.30' }
- { name: form, version: '>=5.1.0' }
- { name: login, version: '>=3.6.2' }
- { name: email, version: '>=3.1.0' }
- { name: flex-objects, version: '>=1.1.0' }
- { name: grav, version: '>=1.7.32' }
- { name: form, version: '>=6.0.1' }
- { name: login, version: '>=3.7.0' }
- { name: email, version: '>=3.1.6' }
- { name: flex-objects, version: '>=1.2.0' }
form:
validation: loose
......
This diff is collapsed.
......@@ -191,6 +191,8 @@ PLUGIN_ADMIN:
FILE_COULD_NOT_BE_DELETED: "File could not be deleted"
FILE_NOT_FOUND: "File not found"
NO_FILE_FOUND: "No file found"
FIELD_REORDER_SUCCESSFUL: "Media Order updated for field '%s'"
FIELD_REORDER_FAILED: "An error occurred while storing the media order for the field '%s'"
GRAV_WAS_SUCCESSFULLY_UPDATED_TO: "Grav was successfully updated to"
GRAV_UPDATE_FAILED: "Grav update failed"
EVERYTHING_UPDATED: "Everything updated"
......@@ -452,8 +454,11 @@ PLUGIN_ADMIN:
IMAGES_DEBUG_HELP: "Show an overlay over images indicating the pixel depth of the image when working with retina for example"
IMAGES_LOADING: "Image loading behavior"
IMAGES_LOADING_HELP: "The loading attribute allows a browser to defer loading offscreen images and iframes until users scroll near them. loading supports three values: auto, lazy, eager"
# Removed in Grav 1.8
IMAGES_SEOFRIENDLY: "SEO-Friendly Image names"
IMAGES_SEOFRIENDLY_HELP: "When enabled, the image name is displayed first, then a smaller hash to reflect processed operations"
UPLOAD_LIMIT: "File upload limit"
UPLOAD_LIMIT_HELP: "Set maximum upload size in bytes (0 is unlimited)"
ENABLE_MEDIA_TIMESTAMP: "Enable timestamps on media"
......@@ -1137,3 +1142,10 @@ PLUGIN_ADMIN:
ACTIVATION_REQUIRED: "Activation required to configure"
SESSION_SECURE_HTTPS: "Secure (HTTPS)"
SESSION_SECURE_HTTPS_HELP: "Set session secure on HTTPS but not on HTTP. Has no effect if you have above Secure setting set to true. Set to false if your site jumps between HTTP and HTTPS."
AVATAR: "Avatar Generator"
AVATAR_HELP: "Multiavatar is a locally generated avatar. Gravatar is an external service that uses your email address to pull a preconfigured Avatar remotely"
AVATAR_HASH: "NOTE: Optional Avatar custom 'hash' string"
IMAGES_TITLE: "Images"
LEGACY_MEDIA_MUTATION: "Legacy Media Manipulation Compatibility"
LEGACY_MEDIA_MUTATION_HELP: "Enable this setting only if image manipulation broke after Grav update."
BACKWARD_COMPATIBILITY: "Backward Compatibility"
......@@ -218,7 +218,7 @@ export default class CollectionsField {
? observedValue
: index);
['name', 'data-grav-field-name', 'for', 'id', 'data-grav-file-settings', 'data-file-post-add', 'data-file-post-remove', 'data-grav-array-name'].forEach((prop) => {
['name', 'data-grav-field-name', 'for', 'id', 'data-grav-file-settings', 'data-file-post-add', 'data-file-post-remove', 'data-grav-array-name', 'data-grav-elements'].forEach((prop) => {
item.find('[' + prop + '], [_' + prop + ']').each(function() {
let element = $(this);
let indexes = [];
......
......@@ -8,3 +8,5 @@ $(document).on('change', '[data-grav-elements] select', (event) => {
$(`[id^="${id}_"]`).css('display', 'none');
$(`[id="${id}__${value}"]`).css('display', 'inherit');
});
$('[data-grav-elements] select').trigger('change');
......@@ -4,6 +4,7 @@ import '@babel/polyfill';
import $ from 'jquery';
import './utils/remodal';
import 'simplebar/dist/simplebar.min.js';
import { UriToMarkdown } from './forms/fields/files.js';
import GPM, { Instance as gpm } from './utils/gpm';
import KeepAlive from './utils/keepalive';
import Updates, { Instance as updates, Notifications, Feed } from './updates';
......@@ -68,5 +69,5 @@ export default {
Instance: MediaFilterInstance
},
Scrollbar: { Scrollbar: { deprecated: true }, Instance: { deprecated: true } },
Utils: { request, toastr, Cookies }
Utils: { request, toastr, Cookies, UriToMarkdown }
};
......@@ -140,7 +140,7 @@ export default class PageMedia extends FilesField {
if (status.width) {
const input = this.container.closest('.pagemedia-field').find('.media-resizer');
updateMediaSizes(input, status.width, false);
updateMediaSizes(input[0], status.width, false);
}
}
......@@ -231,21 +231,23 @@ export default class PageMedia extends FilesField {
}
export const updateMediaSizes = (input, width, store = true) => {
const status = JSON.parse(Cookies.get('grav-admin-pagemedia') || '{}');
const storageLocation = input.dataset.storageLocation || 'grav-admin-pagemedia';
const status = JSON.parse(Cookies.get(storageLocation) || '{}');
const height = 150 * width / 200;
const media = input.closest('.pagemedia-field').find('.dz-details, [data-dz-thumbnail]');
const media = $(input).closest('.pagemedia-field').find('.dz-details, [data-dz-thumbnail]');
media.css({ width, height });
if (store) {
const data = Object.assign({}, status, { width });
Cookies.set('grav-admin-pagemedia', JSON.stringify(data), { expires: Infinity });
Cookies.set(storageLocation, JSON.stringify(data), { expires: Infinity });
}
};
export const updateMediaCollapseStatus = (element, store = true) => {
const status = JSON.parse(Cookies.get('grav-admin-pagemedia') || '{}');
const storageLocation = element.dataset.storageLocation || 'grav-admin-pagemedia';
const status = JSON.parse(Cookies.get(storageLocation) || '{}');
element = $(element);
const icon = element.find('i.fa');
......@@ -262,7 +264,7 @@ export const updateMediaCollapseStatus = (element, store = true) => {
if (store) {
const data = Object.assign({}, status, { collapsed });
Cookies.set('grav-admin-pagemedia', JSON.stringify(data), { expires: Infinity });
Cookies.set(storageLocation, JSON.stringify(data), { expires: Infinity });
}
};
......@@ -270,7 +272,7 @@ $(document).on('input', '.media-resizer', (event) => {
const target = $(event.currentTarget);
const width = target.val();
updateMediaSizes(target, width);
updateMediaSizes(event.currentTarget, width);
});
$(document).on('click', '.media-collapser', (event) => {
......@@ -278,13 +280,14 @@ $(document).on('click', '.media-collapser', (event) => {
});
$(document).ready(() => {
const status = JSON.parse(Cookies.get('grav-admin-pagemedia') || '{}');
if (status.width) {
$('.media-resizer').each((index, input) => {
input = $(input);
$('.media-resizer').each((index, input) => {
const storageLocation = input.dataset.storageLocation || 'grav-admin-pagemedia';
const status = JSON.parse(Cookies.get(storageLocation) || '{}');
if (status.width) {
updateMediaSizes(input, status.width, false);
});
}
}
});
});
export let Instance = new PageMedia();
......@@ -1514,4 +1514,7 @@ span.range-append {
.jqCron-container.disable .jqCron-selector-title {
background: #ffffff !important; }
.hint-icon {
color: #06A599; }
/*# sourceMappingURL=preset.css.map */
\ No newline at end of file
......@@ -1004,6 +1004,11 @@ form label {
margin: 0; }
form label [data-hint] {
display: inline; }
form label .hint-icon {
opacity: 0.7;
transition: 0.5s opacity; }
form label:hover .hint-icon {
opacity: 1.0; }
form label.inline {
display: inline;
vertical-align: middle;
......@@ -2743,7 +2748,7 @@ table.noflex {
font-size: 1.1rem;
margin: 0;
linep-height: 1.2; }
.user-details .gravatar {
.user-details .avatar {
font-size: 0.9rem;
padding: 0; }
@media only all and (max-width: 47.938em) {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
......@@ -4599,7 +4599,7 @@ return Chartist;
// If we're not in Markdown mode, fall back to normal newlineAndIndent
var eolState = cm.getStateAfter(pos.line);
var inner = CodeMirror.innerMode(cm.getMode(), eolState);
if (inner.mode.name !== "markdown") {
if (inner.mode.name !== "markdown" && inner.mode.helperType !== "markdown") {
cm.execCommand("newlineAndIndent");
return;
} else {
......@@ -15331,7 +15331,7 @@ CodeMirror.overlayMode = function(base, overlay, combine) {
 
addLegacyProps(CodeMirror);
 
CodeMirror.version = "5.65.1";
CodeMirror.version = "5.65.2";
 
return CodeMirror;
 
......@@ -15840,6 +15840,11 @@ CodeMirror.defineMode("clike", function(config, parserConfig) {
 
stream.eatWhile(/[\w\$_]/);
return "meta";
},
'"': function(stream, state) {
if (!stream.match('""\n')) return false;
state.tokenize = tokenTripleString;
return state.tokenize(stream, state);
}
},
modeProps: {fold: ["brace", "import"]}
......@@ -17334,7 +17339,7 @@ CodeMirror.defineMode("gfm", function(config, modeConfig) {
}
 
function getTagRegexp(tagName, anchored) {
return new RegExp((anchored ? "^" : "") + "<\/\s*" + tagName + "\s*>", "i");
return new RegExp((anchored ? "^" : "") + "<\/\\s*" + tagName + "\\s*>", "i");
}
 
function addTags(from, to) {
......@@ -2366,3 +2366,7 @@ body .bootstrap-datetimepicker-widget {
.jqCron-container.disable .jqCron-selector-title {
background: $content-bg !important;
}
.hint-icon {
color: $notice_bg;
}
......@@ -1114,7 +1114,7 @@ body.sidebar-quickopen #admin-main {
linep-height: 1.2;
}
.gravatar {
.avatar {
font-size: 0.9rem;
padding: 0;
}
......
......@@ -164,6 +164,14 @@ form {
display: inline;
}
.hint-icon {
opacity: 0.7;
transition: 0.5s opacity;
}
&:hover .hint-icon {
opacity: 1.0;
}
&.inline {
display: inline;
vertical-align: middle;
......@@ -484,7 +492,6 @@ form {
position: relative;
padding: 0 0 0 2rem;
margin-right: 15px;
}
label:before {
content:"";
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment