ghost 5.82.8 → 5.82.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/tryghost-adapter-cache-memory-ttl-5.82.10.tgz +0 -0
- package/components/{tryghost-adapter-cache-redis-5.82.8.tgz → tryghost-adapter-cache-redis-5.82.10.tgz} +0 -0
- package/components/tryghost-adapter-manager-5.82.10.tgz +0 -0
- package/components/tryghost-announcement-bar-settings-5.82.10.tgz +0 -0
- package/components/tryghost-api-framework-5.82.10.tgz +0 -0
- package/components/tryghost-api-version-compatibility-service-5.82.10.tgz +0 -0
- package/components/tryghost-audience-feedback-5.82.10.tgz +0 -0
- package/components/tryghost-bookshelf-repository-5.82.10.tgz +0 -0
- package/components/tryghost-bootstrap-socket-5.82.10.tgz +0 -0
- package/components/tryghost-collections-5.82.10.tgz +0 -0
- package/components/{tryghost-constants-5.82.8.tgz → tryghost-constants-5.82.10.tgz} +0 -0
- package/components/tryghost-custom-theme-settings-service-5.82.10.tgz +0 -0
- package/components/tryghost-data-generator-5.82.10.tgz +0 -0
- package/components/tryghost-domain-events-5.82.10.tgz +0 -0
- package/components/tryghost-donations-5.82.10.tgz +0 -0
- package/components/tryghost-dynamic-routing-events-5.82.10.tgz +0 -0
- package/components/tryghost-email-addresses-5.82.10.tgz +0 -0
- package/components/{tryghost-email-analytics-provider-mailgun-5.82.8.tgz → tryghost-email-analytics-provider-mailgun-5.82.10.tgz} +0 -0
- package/components/tryghost-email-analytics-service-5.82.10.tgz +0 -0
- package/components/tryghost-email-content-generator-5.82.10.tgz +0 -0
- package/components/tryghost-email-events-5.82.10.tgz +0 -0
- package/components/{tryghost-email-service-5.82.8.tgz → tryghost-email-service-5.82.10.tgz} +0 -0
- package/components/tryghost-email-suppression-list-5.82.10.tgz +0 -0
- package/components/tryghost-express-dynamic-redirects-5.82.10.tgz +0 -0
- package/components/{tryghost-external-media-inliner-5.82.8.tgz → tryghost-external-media-inliner-5.82.10.tgz} +0 -0
- package/components/tryghost-extract-api-key-5.82.10.tgz +0 -0
- package/components/tryghost-ghost-5.82.10.tgz +0 -0
- package/components/{tryghost-html-to-plaintext-5.82.8.tgz → tryghost-html-to-plaintext-5.82.10.tgz} +0 -0
- package/components/tryghost-i18n-5.82.10.tgz +0 -0
- package/components/tryghost-importer-handler-content-files-5.82.10.tgz +0 -0
- package/components/tryghost-importer-revue-5.82.10.tgz +0 -0
- package/components/tryghost-in-memory-repository-5.82.10.tgz +0 -0
- package/components/{tryghost-job-manager-5.82.8.tgz → tryghost-job-manager-5.82.10.tgz} +0 -0
- package/components/tryghost-link-redirects-5.82.10.tgz +0 -0
- package/components/tryghost-link-replacer-5.82.10.tgz +0 -0
- package/components/tryghost-link-tracking-5.82.10.tgz +0 -0
- package/components/tryghost-magic-link-5.82.10.tgz +0 -0
- package/components/tryghost-mail-events-5.82.10.tgz +0 -0
- package/components/tryghost-mailgun-client-5.82.10.tgz +0 -0
- package/components/tryghost-member-attribution-5.82.10.tgz +0 -0
- package/components/tryghost-member-events-5.82.10.tgz +0 -0
- package/components/{tryghost-members-api-5.82.8.tgz → tryghost-members-api-5.82.10.tgz} +0 -0
- package/components/tryghost-members-csv-5.82.10.tgz +0 -0
- package/components/tryghost-members-events-service-5.82.10.tgz +0 -0
- package/components/tryghost-members-importer-5.82.10.tgz +0 -0
- package/components/{tryghost-members-offers-5.82.8.tgz → tryghost-members-offers-5.82.10.tgz} +0 -0
- package/components/tryghost-members-payments-5.82.10.tgz +0 -0
- package/components/{tryghost-members-ssr-5.82.8.tgz → tryghost-members-ssr-5.82.10.tgz} +0 -0
- package/components/tryghost-members-stripe-service-5.82.10.tgz +0 -0
- package/components/{tryghost-mentions-email-report-5.82.8.tgz → tryghost-mentions-email-report-5.82.10.tgz} +0 -0
- package/components/tryghost-milestones-5.82.10.tgz +0 -0
- package/components/tryghost-minifier-5.82.10.tgz +0 -0
- package/components/tryghost-model-to-domain-event-interceptor-5.82.10.tgz +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.82.10.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.82.10.tgz +0 -0
- package/components/tryghost-mw-error-handler-5.82.10.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.82.10.tgz +0 -0
- package/components/tryghost-mw-update-user-last-seen-5.82.10.tgz +0 -0
- package/components/tryghost-mw-version-match-5.82.10.tgz +0 -0
- package/components/tryghost-mw-vhost-5.82.10.tgz +0 -0
- package/components/tryghost-nql-filter-expansions-5.82.10.tgz +0 -0
- package/components/tryghost-oembed-service-5.82.10.tgz +0 -0
- package/components/tryghost-package-json-5.82.10.tgz +0 -0
- package/components/tryghost-post-events-5.82.10.tgz +0 -0
- package/components/tryghost-post-revisions-5.82.10.tgz +0 -0
- package/components/tryghost-posts-service-5.82.10.tgz +0 -0
- package/components/tryghost-recommendations-5.82.10.tgz +0 -0
- package/components/tryghost-referrers-5.82.10.tgz +0 -0
- package/components/{tryghost-security-5.82.8.tgz → tryghost-security-5.82.10.tgz} +0 -0
- package/components/tryghost-session-service-5.82.10.tgz +0 -0
- package/components/tryghost-settings-path-manager-5.82.10.tgz +0 -0
- package/components/tryghost-slack-notifications-5.82.10.tgz +0 -0
- package/components/{tryghost-staff-service-5.82.8.tgz → tryghost-staff-service-5.82.10.tgz} +0 -0
- package/components/tryghost-stats-service-5.82.10.tgz +0 -0
- package/components/tryghost-tiers-5.82.10.tgz +0 -0
- package/components/{tryghost-update-check-service-5.82.8.tgz → tryghost-update-check-service-5.82.10.tgz} +0 -0
- package/components/{tryghost-verification-trigger-5.82.8.tgz → tryghost-verification-trigger-5.82.10.tgz} +0 -0
- package/components/{tryghost-version-notifications-data-service-5.82.8.tgz → tryghost-version-notifications-data-service-5.82.10.tgz} +0 -0
- package/components/tryghost-webmentions-5.82.10.tgz +0 -0
- package/core/app.js +1 -1
- package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +1 -1
- package/core/built/admin/assets/admin-x-demo/admin-x-demo.js +1 -1
- package/core/built/admin/assets/admin-x-demo/{index-e30bf632.mjs → index-f544d6cb.mjs} +3 -3
- package/core/built/admin/assets/admin-x-demo/{modals-44d6f757.mjs → modals-6544d395.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{CodeEditorView-c72ff915.mjs → CodeEditorView-a1b9ba69.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
- package/core/built/admin/assets/admin-x-settings/{index-c91e5b06.mjs → index-8d83c7e9.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-ab6aea43.mjs → index-d54677fb.mjs} +4 -4
- package/core/built/admin/assets/admin-x-settings/{modals-839cba44.mjs → modals-73b6c803.mjs} +3125 -3105
- package/core/built/admin/assets/{chunk.524.784dc858253af4b339a9.js → chunk.524.7bc3c52f480b7779363e.js} +5 -5
- package/core/built/admin/assets/{chunk.582.22b04d2b8d1fb7e2256c.js → chunk.582.596e95cb181ba9f41b4e.js} +4 -4
- package/core/built/admin/assets/{chunk.799.5012e659e3d64d043636.js → chunk.799.5bcf6feef26f9fe94f0a.js} +523 -517
- package/core/built/admin/assets/{ghost-e16d0c67f0a0262f4cbe0d2745f90f5a.js → ghost-377ce682ddf6e53f0ccb91aeae235f29.js} +70 -58
- package/core/built/admin/assets/koenig-lexical/index.css +1 -1
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.js +2015 -1951
- package/core/built/admin/assets/koenig-lexical/koenig-lexical.umd.js +46 -46
- package/core/built/admin/assets/{vendor-5ef343f0a55366497ef903095548a0d5.js → vendor-96853bcc300bd0b0cda2913c8edb0d14.js} +13 -11
- package/core/built/admin/index.html +5 -5
- package/core/frontend/meta/og-image.js +1 -1
- package/core/frontend/meta/twitter-image.js +1 -1
- package/core/frontend/services/routing/ParentRouter.js +3 -3
- package/core/frontend/web/middleware/error-handler.js +1 -1
- package/core/frontend/web/site.js +4 -2
- package/core/server/GhostServer.js +1 -1
- package/core/server/api/endpoints/actions.js +4 -1
- package/core/server/api/endpoints/announcements.js +4 -1
- package/core/server/api/endpoints/authentication.js +4 -1
- package/core/server/api/endpoints/authors-public.js +4 -1
- package/core/server/api/endpoints/collections-public.js +4 -1
- package/core/server/api/endpoints/collections.js +4 -1
- package/core/server/api/endpoints/comments-members.js +6 -3
- package/core/server/api/endpoints/comments.js +4 -1
- package/core/server/api/endpoints/config.js +4 -1
- package/core/server/api/endpoints/custom-theme-settings.js +4 -1
- package/core/server/api/endpoints/db.js +4 -1
- package/core/server/api/endpoints/email-post.js +4 -1
- package/core/server/api/endpoints/email-previews.js +4 -1
- package/core/server/api/endpoints/emails.js +4 -1
- package/core/server/api/endpoints/explore.js +4 -1
- package/core/server/api/endpoints/feedback-members.js +4 -1
- package/core/server/api/endpoints/files.js +4 -1
- package/core/server/api/endpoints/identities.js +4 -1
- package/core/server/api/endpoints/images.js +4 -1
- package/core/server/api/endpoints/incoming-recommendations.js +4 -1
- package/core/server/api/endpoints/integrations.js +4 -1
- package/core/server/api/endpoints/invites.js +4 -1
- package/core/server/api/endpoints/labels.js +4 -1
- package/core/server/api/endpoints/links.js +4 -1
- package/core/server/api/endpoints/mail-events.js +4 -1
- package/core/server/api/endpoints/mail.js +4 -19
- package/core/server/api/endpoints/media.js +4 -1
- package/core/server/api/endpoints/member-signin-urls.js +5 -1
- package/core/server/api/endpoints/members-stripe-connect.js +4 -1
- package/core/server/api/endpoints/members.js +4 -1
- package/core/server/api/endpoints/mentions.js +4 -1
- package/core/server/api/endpoints/newsletters-public.js +4 -1
- package/core/server/api/endpoints/newsletters.js +4 -1
- package/core/server/api/endpoints/notifications.js +4 -1
- package/core/server/api/endpoints/oembed.js +4 -1
- package/core/server/api/endpoints/offers-public.js +4 -1
- package/core/server/api/endpoints/offers.js +4 -1
- package/core/server/api/endpoints/pages-public.js +4 -1
- package/core/server/api/endpoints/pages.js +4 -1
- package/core/server/api/endpoints/posts-public.js +11 -1
- package/core/server/api/endpoints/posts.js +4 -1
- package/core/server/api/endpoints/previews.js +4 -1
- package/core/server/api/endpoints/recommendations-public.js +4 -1
- package/core/server/api/endpoints/recommendations.js +4 -1
- package/core/server/api/endpoints/redirects.js +4 -1
- package/core/server/api/endpoints/roles.js +4 -1
- package/core/server/api/endpoints/schedules.js +4 -2
- package/core/server/api/endpoints/session.js +5 -4
- package/core/server/api/endpoints/settings-public.js +4 -1
- package/core/server/api/endpoints/settings.js +4 -1
- package/core/server/api/endpoints/site.js +3 -2
- package/core/server/api/endpoints/slack.js +4 -1
- package/core/server/api/endpoints/slugs.js +4 -1
- package/core/server/api/endpoints/snippets.js +4 -1
- package/core/server/api/endpoints/stats.js +4 -1
- package/core/server/api/endpoints/tags-public.js +4 -1
- package/core/server/api/endpoints/tags.js +4 -1
- package/core/server/api/endpoints/themes.js +4 -1
- package/core/server/api/endpoints/tiers-public.js +4 -1
- package/core/server/api/endpoints/tiers.js +4 -1
- package/core/server/api/endpoints/users.js +4 -1
- package/core/server/api/endpoints/utils/index.js +9 -1
- package/core/server/api/endpoints/utils/permissions.js +2 -2
- package/core/server/api/endpoints/utils/serializers/input/pages.js +31 -3
- package/core/server/api/endpoints/utils/serializers/input/posts.js +30 -2
- package/core/server/api/endpoints/utils/serializers/input/utils/url.js +2 -2
- package/core/server/api/endpoints/utils/serializers/output/mappers/activity-feed-events.js +1 -1
- package/core/server/api/endpoints/utils/serializers/output/members.js +5 -10
- package/core/server/api/endpoints/utils/serializers/output/settings.js +4 -2
- package/core/server/api/endpoints/utils/serializers/output/tiers.js +3 -6
- package/core/server/api/endpoints/utils/validators/input/password_reset.js +1 -1
- package/core/server/api/endpoints/utils/validators/utils/json-schema.js +1 -2
- package/core/server/api/endpoints/webhooks.js +4 -1
- package/core/server/data/importer/import-manager.js +8 -0
- package/core/server/services/comments/CommentsController.js +1 -1
- package/core/server/services/url/UrlService.js +2 -4
- package/core/server/web/admin/app.js +5 -1
- package/core/server/web/admin/controller.js +6 -7
- package/core/server/web/admin/middleware/redirect-admin-urls.js +6 -0
- package/core/server/web/announcement/routes.js +3 -0
- package/core/server/web/api/app.js +3 -0
- package/core/server/web/api/endpoints/admin/app.js +4 -1
- package/core/server/web/api/endpoints/admin/middleware.js +14 -1
- package/core/server/web/api/endpoints/admin/routes.js +3 -0
- package/core/server/web/api/endpoints/content/app.js +3 -0
- package/core/server/web/api/endpoints/content/middleware.js +2 -0
- package/core/server/web/api/endpoints/content/routes.js +3 -0
- package/core/server/web/api/middleware/upload.js +26 -2
- package/core/server/web/comments/routes.js +3 -0
- package/core/server/web/members/app.js +15 -4
- package/core/server/web/parent/app.js +3 -0
- package/core/server/web/parent/backend.js +1 -1
- package/core/server/web/parent/frontend.js +1 -1
- package/core/server/web/parent/middleware/emit-events.js +5 -0
- package/core/server/web/parent/middleware/ghost-locals.js +7 -2
- package/core/server/web/parent/middleware/log-request.js +4 -0
- package/core/server/web/parent/middleware/queue-request.js +6 -1
- package/core/server/web/parent/middleware/request-id.js +4 -0
- package/core/server/web/webmentions/routes.js +3 -0
- package/core/shared/express.js +5 -0
- package/core/shared/labs.js +1 -1
- package/core/shared/sentry.js +30 -24
- package/package.json +152 -152
- package/yarn.lock +612 -574
- package/components/tryghost-adapter-cache-memory-ttl-5.82.8.tgz +0 -0
- package/components/tryghost-adapter-manager-5.82.8.tgz +0 -0
- package/components/tryghost-announcement-bar-settings-5.82.8.tgz +0 -0
- package/components/tryghost-api-framework-5.82.8.tgz +0 -0
- package/components/tryghost-api-version-compatibility-service-5.82.8.tgz +0 -0
- package/components/tryghost-audience-feedback-5.82.8.tgz +0 -0
- package/components/tryghost-bookshelf-repository-5.82.8.tgz +0 -0
- package/components/tryghost-bootstrap-socket-5.82.8.tgz +0 -0
- package/components/tryghost-collections-5.82.8.tgz +0 -0
- package/components/tryghost-custom-theme-settings-service-5.82.8.tgz +0 -0
- package/components/tryghost-data-generator-5.82.8.tgz +0 -0
- package/components/tryghost-domain-events-5.82.8.tgz +0 -0
- package/components/tryghost-donations-5.82.8.tgz +0 -0
- package/components/tryghost-dynamic-routing-events-5.82.8.tgz +0 -0
- package/components/tryghost-email-addresses-5.82.8.tgz +0 -0
- package/components/tryghost-email-analytics-service-5.82.8.tgz +0 -0
- package/components/tryghost-email-content-generator-5.82.8.tgz +0 -0
- package/components/tryghost-email-events-5.82.8.tgz +0 -0
- package/components/tryghost-email-suppression-list-5.82.8.tgz +0 -0
- package/components/tryghost-express-dynamic-redirects-5.82.8.tgz +0 -0
- package/components/tryghost-extract-api-key-5.82.8.tgz +0 -0
- package/components/tryghost-ghost-5.82.8.tgz +0 -0
- package/components/tryghost-i18n-5.82.8.tgz +0 -0
- package/components/tryghost-importer-handler-content-files-5.82.8.tgz +0 -0
- package/components/tryghost-importer-revue-5.82.8.tgz +0 -0
- package/components/tryghost-in-memory-repository-5.82.8.tgz +0 -0
- package/components/tryghost-link-redirects-5.82.8.tgz +0 -0
- package/components/tryghost-link-replacer-5.82.8.tgz +0 -0
- package/components/tryghost-link-tracking-5.82.8.tgz +0 -0
- package/components/tryghost-magic-link-5.82.8.tgz +0 -0
- package/components/tryghost-mail-events-5.82.8.tgz +0 -0
- package/components/tryghost-mailgun-client-5.82.8.tgz +0 -0
- package/components/tryghost-member-attribution-5.82.8.tgz +0 -0
- package/components/tryghost-member-events-5.82.8.tgz +0 -0
- package/components/tryghost-members-csv-5.82.8.tgz +0 -0
- package/components/tryghost-members-events-service-5.82.8.tgz +0 -0
- package/components/tryghost-members-importer-5.82.8.tgz +0 -0
- package/components/tryghost-members-payments-5.82.8.tgz +0 -0
- package/components/tryghost-members-stripe-service-5.82.8.tgz +0 -0
- package/components/tryghost-milestones-5.82.8.tgz +0 -0
- package/components/tryghost-minifier-5.82.8.tgz +0 -0
- package/components/tryghost-model-to-domain-event-interceptor-5.82.8.tgz +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.82.8.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.82.8.tgz +0 -0
- package/components/tryghost-mw-error-handler-5.82.8.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.82.8.tgz +0 -0
- package/components/tryghost-mw-update-user-last-seen-5.82.8.tgz +0 -0
- package/components/tryghost-mw-version-match-5.82.8.tgz +0 -0
- package/components/tryghost-mw-vhost-5.82.8.tgz +0 -0
- package/components/tryghost-nql-filter-expansions-5.82.8.tgz +0 -0
- package/components/tryghost-oembed-service-5.82.8.tgz +0 -0
- package/components/tryghost-package-json-5.82.8.tgz +0 -0
- package/components/tryghost-post-events-5.82.8.tgz +0 -0
- package/components/tryghost-post-revisions-5.82.8.tgz +0 -0
- package/components/tryghost-posts-service-5.82.8.tgz +0 -0
- package/components/tryghost-recommendations-5.82.8.tgz +0 -0
- package/components/tryghost-referrers-5.82.8.tgz +0 -0
- package/components/tryghost-session-service-5.82.8.tgz +0 -0
- package/components/tryghost-settings-path-manager-5.82.8.tgz +0 -0
- package/components/tryghost-slack-notifications-5.82.8.tgz +0 -0
- package/components/tryghost-stats-service-5.82.8.tgz +0 -0
- package/components/tryghost-tiers-5.82.8.tgz +0 -0
- package/components/tryghost-webmentions-5.82.8.tgz +0 -0
- /package/core/built/admin/assets/{chunk.799.5012e659e3d64d043636.js.LICENSE.txt → chunk.799.5bcf6feef26f9fe94f0a.js.LICENSE.txt} +0 -0
|
@@ -1604,21 +1604,24 @@ return r.default.createElement(i,t)},_=({editorResource:e,...t})=>{const{EmojiPi
|
|
|
1604
1604
|
return r.default.createElement(i,t)},j=({editorResource:e,...t})=>{const{TKCountPlugin:i}=e.read()
|
|
1605
1605
|
return r.default.createElement(i,t)}
|
|
1606
1606
|
let T=e.default=(a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember._action,d=class extends i.default{constructor(...e){super(...e),f(this,"ajax",c,this),f(this,"feature",p,this),f(this,"koenig",m,this),f(this,"session",h,this),f(this,"config",b,this),y(this,"editorResource",this.koenig.resource),y(this,"ReactComponent",(e=>r.default.createElement("div",{className:["koenig-react-editor",this.args.className].filter(Boolean).join(" ")},r.default.createElement(E,{config:this.config},r.default.createElement(r.Suspense,{fallback:r.default.createElement("p",{className:"koenig-react-editor-loading"},"Loading editor...")},r.default.createElement(k,{editorResource:this.editorResource,initialEditorState:this.args.lexical,onError:this.onError,isTKEnabled:!!this.args.onTKCountChange},r.default.createElement(P,{editorResource:this.editorResource,darkMode:this.feature.nightShift,onChange:e.onChange,onBlur:e.onBlur,onFocus:e.onFocus,isSnippetsEnabled:!1,singleParagraph:!0,className:"koenig-lexical-editor-input "+(this.feature.nightShift?"dark":""),placeholderText:e.placeholderText,placeholderClassName:"koenig-lexical-editor-input-placeholder",registerAPI:this.args.registerAPI},r.default.createElement(O,{editorResource:this.editorResource,html:e.html,setHtml:e.onChangeHtml}),this.emojiPicker?r.default.createElement(_,{editorResource:this.editorResource}):null,this.args.onTKCountChange?r.default.createElement(j,{editorResource:this.editorResource,onChange:this.args.onTKCountChange}):null)))))))}get emojiPicker(){return this.args.emojiPicker??!0}onError(e){console.error(e),this.config.sentry_dsn&&t.captureException(e,{tags:{lexical:!0}})}},c=g(d.prototype,"ajax",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=g(d.prototype,"feature",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=g(d.prototype,"koenig",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=g(d.prototype,"session",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=g(d.prototype,"config",[n.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g(d.prototype,"onError",[u],Object.getOwnPropertyDescriptor(d.prototype,"onError"),d.prototype),d)
|
|
1607
|
-
Ember._setComponentTemplate(w,T)})),define("ghost-admin/components/koenig-lexical-editor",["exports","@sentry/ember","@glimmer/component","react","fetch","ghost-admin/utils/ghost-paths","ember-concurrency","ghost-admin/decorators/inject"],(function(e,t,i,r,n,a,s,o){var
|
|
1608
|
-
function
|
|
1609
|
-
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}function
|
|
1607
|
+
Ember._setComponentTemplate(w,T)})),define("ghost-admin/components/koenig-lexical-editor",["exports","@sentry/ember","@glimmer/component","react","fetch","ghost-admin/utils/ghost-paths","moment-timezone","ember-concurrency","ghost-admin/decorators/inject"],(function(e,t,i,r,n,a,s,o,l){var u,d,c,p,m,h,b,f,g,v,y,w,E,k,P,O,_,j,T,z,x,S,C
|
|
1608
|
+
function M(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function D(e,t,i,r,n){var a={}
|
|
1609
|
+
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}function A(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
|
|
1610
1610
|
var i=e[Symbol.toPrimitive]
|
|
1611
1611
|
if(void 0!==i){var r=i.call(e,t||"default")
|
|
1612
1612
|
if("object"!=typeof r)return r
|
|
1613
1613
|
throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
|
|
1614
|
-
return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}Object.
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
return r.default.createElement(
|
|
1618
|
-
|
|
1619
|
-
return r.default.createElement(
|
|
1614
|
+
return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function L(){return L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t]
|
|
1615
|
+
for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r])}return e},L.apply(this,arguments)}Object.defineProperty(e,"__esModule",{value:!0}),e.decoratePostSearchResult=F,e.fileTypes=e.default=void 0
|
|
1616
|
+
const I=Ember.HTMLBars.template({id:"75QfH75A",block:'{"symbols":["@cardConfig"],"statements":[[11,"div"],[4,[38,1],[[32,0,["ReactComponent"]]],[["props"],[[30,[36,0],null,[["cardConfig"],[[32,1]]]]]]],[12],[13]],"hasEval":false,"upvars":["hash","react-render"]}',moduleName:"ghost-admin/components/koenig-lexical-editor.hbs"}),N=e.fileTypes={image:{mimeTypes:["image/gif","image/jpg","image/jpeg","image/png","image/svg+xml","image/webp"],extensions:["gif","jpg","jpeg","png","svg","svgz","webp"],endpoint:"/images/upload/",resourceName:"images"},video:{mimeTypes:["video/mp4","video/webm","video/ogg"],extensions:["mp4","webm","ogv"],endpoint:"/media/upload/",resourceName:"media"},audio:{mimeTypes:["audio/mp3","audio/mpeg","audio/ogg","audio/wav","audio/vnd.wav","audio/wave","audio/x-wav","audio/mp4","audio/x-m4a"],extensions:["mp3","wav","ogg","m4a"],endpoint:"/media/upload/",resourceName:"media"},mediaThumbnail:{mimeTypes:["image/gif","image/jpg","image/jpeg","image/png","image/webp"],extensions:["gif","jpg","jpeg","png","webp"],endpoint:"/media/thumbnail/upload/",requestMethod:"put",resourceName:"media"},file:{endpoint:"/files/upload/",resourceName:"files"}}
|
|
1617
|
+
function R({...e}){return r.default.createElement("svg",L({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 16 16"},e),r.default.createElement("g",{transform:"matrix(0.6666666666666666,0,0,0.6666666666666666,0,0)"},r.default.createElement("path",{fill:"currentColor",d:"M19.5,9.5h-.75V6.75a6.75,6.75,0,0,0-13.5,0V9.5H4.5a2,2,0,0,0-2,2V22a2,2,0,0,0,2,2h15a2,2,0,0,0,2-2V11.5A2,2,0,0,0,19.5,9.5Zm-7.5,9a2,2,0,1,1,2-2A2,2,0,0,1,12,18.5ZM16.25,9a.5.5,0,0,1-.5.5H8.25a.5.5,0,0,1-.5-.5V6.75a4.25,4.25,0,0,1,8.5,0Z"})))}function F(e,t){const i=s.default.utc(e.publishedAt).tz(t.timezone).format("D MMM YYYY")
|
|
1618
|
+
if(t.membersEnabled&&e.visibility){let t
|
|
1619
|
+
"public"===e.visibility?t="Public":"members"===e.visibility?t="Members":"paid"===e.visibility?t="Paid members":"tiers"===e.visibility&&(t="Specific tiers"),t&&"Public"!==t&&(e.MetaIcon=R),e.metaText=[t,i].filter(Boolean).join(" • ")}else e.metaText=[i].join(" • ")}class U extends r.default.Component{constructor(...e){super(...e),A(this,"state",{hasError:!1})}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e){this.props.config.sentry_dsn&&t.captureException(e,{tags:{lexical:!0}}),console.error(e)}render(){return this.state.hasError?r.default.createElement("p",{className:"koenig-react-editor-error"},"Loading has failed. Try refreshing the browser!"):this.props.children}}const B=({editorResource:e,...t})=>{const{KoenigComposer:i}=e.read()
|
|
1620
|
+
return r.default.createElement(i,t)},H=({editorResource:e,...t})=>{const{KoenigEditor:i}=e.read()
|
|
1621
|
+
return r.default.createElement(i,t)},V=({editorResource:e,...t})=>{const{WordCountPlugin:i}=e.read()
|
|
1622
|
+
return r.default.createElement(i,t)},q=({editorResource:e,...t})=>{const{TKCountPlugin:i}=e.read()
|
|
1620
1623
|
return r.default.createElement(i,t)}
|
|
1621
|
-
let
|
|
1624
|
+
let $=e.default=(u=Ember.inject.service,d=Ember.inject.service,c=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember.inject.service,b=Ember.inject.service,f=Ember.inject.service,g=Ember.inject.service,v=Ember._action,y=(0,o.task)({restartable:!0}),w=(0,o.task)({restartable:!0}),E=class extends i.default{constructor(...e){super(...e),M(this,"ajax",k,this),M(this,"feature",P,this),M(this,"ghostPaths",O,this),M(this,"koenig",_,this),M(this,"membersUtils",j,this),M(this,"search",T,this),M(this,"session",z,this),M(this,"settings",x,this),M(this,"store",S,this),M(this,"config",C,this),A(this,"offers",null),A(this,"contentKey",null),A(this,"defaultLinks",null),A(this,"editorResource",this.koenig.resource),A(this,"ReactComponent",(e=>{const t={defaultHeaders:{Authorization:"Client-ID 8672af113b0a8573edae3aa3713886265d9bb741d707f6c01a486cde8c278980","Accept-Version":"v1","Content-Type":"application/json","App-Pragma":"no-cache","X-Unsplash-Cache":!0}},i={unsplash:this.settings.unsplash?t.defaultHeaders:null,tenor:this.config.tenor?.googleApiKey?this.config.tenor:null,fetchAutocompleteLinks:async()=>{const e=await this.fetchOffersTask.perform(),t=[{label:"Homepage",value:window.location.origin+"/"},{label:"Free signup",value:"#/portal/signup/free"}],i=e.toArray().map((e=>({label:`Offer - ${e.name}`,value:this.config.getSiteUrl(e.code)})))
|
|
1622
1625
|
return[...t,...(()=>{let e=[]
|
|
1623
1626
|
return this.membersUtils.paidMembersEnabled&&(e=[{label:"Paid signup",value:"#/portal/signup"},{label:"Upgrade or change plan",value:"#/portal/account/plans"}]),e})(),...(()=>this.feature.tipsAndDonations&&this.settings.donationsEnabled?[{label:"Tip or donation",value:"#/portal/support"}]:[])(),...(()=>this.settings.recommendationsEnabled?[{label:"Recommendations",value:"#/portal/recommendations"}]:[])(),...i]},fetchCollectionPosts:async e=>{if(!this.contentKey){const e=(await this.store.findAll("integration")).findBy("slug","ghost-core-content")
|
|
1624
1627
|
this.contentKey=e?.contentKey.secret}const t=new URL(this.ghostPaths.url.admin("/api/content/posts/"),window.location.origin)
|
|
@@ -1626,26 +1629,26 @@ t.searchParams.append("key",this.contentKey),t.searchParams.append("collection",
|
|
|
1626
1629
|
const i=await(0,n.default)(t.toString()),{posts:r}=await i.json()
|
|
1627
1630
|
return r},fetchEmbed:async(e,{type:t})=>{let i=this.ghostPaths.url.api("oembed")
|
|
1628
1631
|
return await this.ajax.request(i,{data:{url:e,type:t}})},fetchLabels:async()=>(await this.fetchLabelsTask.perform()).map((e=>e.name)),feature:{collectionsCard:this.feature.collectionsCard,collections:this.feature.collections,internalLinking:this.feature.internalLinking},deprecated:{headerV1:!0},membersEnabled:"all"===this.settings.membersSignupAccess,searchLinks:async e=>{if(!e){if(this.defaultLinks)return this.defaultLinks
|
|
1629
|
-
const e=(await this.store.query("post",{filter:"status:published",fields:"id,url,title",order:"published_at desc",limit:5})).toArray().map((e=>({groupName:"Latest posts",id:e.id,title:e.title,url:e.url})))
|
|
1630
|
-
return this.defaultLinks=[{label:"Latest posts",items:e}],this.defaultLinks}let t=[]
|
|
1631
|
-
try{t=await this.search.searchTask.perform(e)}catch(r){if(!(0,
|
|
1632
|
+
const e=(await this.store.query("post",{filter:"status:published",fields:"id,url,title,visibility,published_at",order:"published_at desc",limit:5})).toArray().map((e=>({groupName:"Latest posts",id:e.id,title:e.title,url:e.url,visibility:e.visibility,publishedAt:e.publishedAtUTC.toISOString()})))
|
|
1633
|
+
return e.forEach((e=>F(e,this.settings))),this.defaultLinks=[{label:"Latest posts",items:e}],this.defaultLinks}let t=[]
|
|
1634
|
+
try{t=await this.search.searchTask.perform(e)}catch(r){if(!(0,o.didCancel)(r))throw r}const i=[]
|
|
1632
1635
|
return t.forEach((e=>{const t="Posts"===e.groupName||"Pages"===e.groupName?e.options.filter((e=>"published"===e.status)):e.options
|
|
1633
|
-
0!==t.length&&i.push({label:e.groupName,items:t})})),i},siteTitle:this.settings.title,siteDescription:this.settings.description},
|
|
1634
|
-
return r.default.createElement("div",{className:["koenig-react-editor","koenig-lexical",this.args.className].filter(Boolean).join(" ")},r.default.createElement(
|
|
1636
|
+
0!==t.length&&("Posts"!==e.groupName&&"Pages"!==e.groupName||t.forEach((e=>F(e,this.settings))),i.push({label:e.groupName,items:t}))})),i},siteTitle:this.settings.title,siteDescription:this.settings.description},s=Object.assign({},i,e.cardConfig,{pinturaConfig:this.pinturaConfig}),l=this.feature.lexicalMultiplayer&&!s.post.isNew,u=("https:"===window.location.protocol?"wss:":"ws:")+window.location.host+this.ghostPaths.url.api("posts","multiplayer"),d=s.post.id,c=this.session.user.name
|
|
1637
|
+
return r.default.createElement("div",{className:["koenig-react-editor","koenig-lexical",this.args.className].filter(Boolean).join(" ")},r.default.createElement(U,{config:this.config},r.default.createElement(r.Suspense,{fallback:r.default.createElement("p",{className:"koenig-react-editor-loading"},"Loading editor...")},r.default.createElement(B,{editorResource:this.editorResource,cardConfig:s,enableMultiplayer:l,fileUploader:{useFileUpload:(e="image")=>{const[t,i]=r.default.useState(0),[n,s]=r.default.useState(!1),[o,l]=r.default.useState([]),[u,d]=r.default.useState(0),c=r.default.useRef(new Map)
|
|
1635
1638
|
function p(){if(0===c.current.size)return void i(0)
|
|
1636
1639
|
let e=0
|
|
1637
1640
|
c.current.forEach((t=>e+=t)),i(Math.round(e/c.current.size))}function m(t){if("file"===e)return!0
|
|
1638
|
-
let i=
|
|
1641
|
+
let i=N[e].extensions,[,r]=/(?:\.([^.]+))?$/.exec(t.name)
|
|
1639
1642
|
if(!i)return!0
|
|
1640
1643
|
if(Array.isArray(i)||(i=i.split(",")),!r||-1===i.indexOf(r.toLowerCase())){return`The file type you uploaded is not supported. Please use ${`.${i.join(", .").toUpperCase()}`}`}return!0}const h=async(t,{formData:i={}}={})=>{c.current[t]=0
|
|
1641
1644
|
const r=new FormData
|
|
1642
1645
|
r.append("file",t,t.name),Object.keys(i||{}).forEach((e=>{r.append(e,i[e])}))
|
|
1643
|
-
const n=`${(0,a.default)().apiRoot}${
|
|
1644
|
-
try{const i=
|
|
1646
|
+
const n=`${(0,a.default)().apiRoot}${N[e].endpoint}`
|
|
1647
|
+
try{const i=N[e].requestMethod||"post",a=await this.ajax[i](n,{data:r,processData:!1,contentType:!1,dataType:"text",xhr:()=>{const e=new window.XMLHttpRequest
|
|
1645
1648
|
return e.upload.addEventListener("progress",(e=>{e.lengthComputable&&(c.current.set(t,e.loaded/e.total*100),p())}),!1),e}})
|
|
1646
1649
|
let o,l
|
|
1647
1650
|
c.current.set(t,100),p()
|
|
1648
|
-
try{o=JSON.parse(a)}catch(s){if(!(s instanceof SyntaxError))throw s}if(o){const t=o[
|
|
1651
|
+
try{o=JSON.parse(a)}catch(s){if(!(s instanceof SyntaxError))throw s}if(o){const t=o[N[e].resourceName]
|
|
1649
1652
|
t&&Array.isArray(t)&&t[0]&&(l=t[0].url)}return{url:l,fileName:t.name}}catch(s){console.error(s)
|
|
1650
1653
|
let e=s.payload?.errors?.[0]?.message||"",i=s.payload?.errors?.[0]?.context||""
|
|
1651
1654
|
e||(e=s.message)
|
|
@@ -1658,11 +1661,11 @@ if(r.length)return l(r),s(!1),i(100),null
|
|
|
1658
1661
|
const n=[]
|
|
1659
1662
|
for(let i=0;i<e.length;i+=1){const r=e[i]
|
|
1660
1663
|
n.push(h(r,t))}try{const e=await Promise.all(n)
|
|
1661
|
-
return i(100),c.current.clear(),s(!1),l([]),e}catch(a){return console.error(a),l([...o,a]),s(!1),i(100),c.current.clear(),null}},errors:o,filesNumber:u}},fileTypes:
|
|
1664
|
+
return i(100),c.current.clear(),s(!1),l([]),e}catch(a){return console.error(a),l([...o,a]),s(!1),i(100),c.current.clear(),null}},errors:o,filesNumber:u}},fileTypes:N},initialEditorState:this.args.lexical,multiplayerUsername:c,multiplayerDocId:d,multiplayerEndpoint:u,onError:this.onError,darkMode:this.feature.nightShift,isTKEnabled:!0},r.default.createElement(H,{editorResource:this.editorResource,cursorDidExitAtTop:this.args.cursorDidExitAtTop,placeholderText:this.args.placeholder,darkMode:this.feature.nightShift,onChange:this.args.onChange,registerAPI:this.args.registerAPI}),r.default.createElement(V,{editorResource:this.editorResource,onChange:this.args.updateWordCount}),r.default.createElement(q,{editorResource:this.editorResource,onChange:this.args.updatePostTkCount})))))}))}get pinturaJsUrl(){return this.settings.pintura?this.config.pintura?.js||this.settings.pinturaJsUrl:null}get pinturaCSSUrl(){return this.settings.pintura?this.config.pintura?.css||this.settings.pinturaCssUrl:null}get pinturaConfig(){const e=this.getImageEditorJSUrl(),t=this.getImageEditorCSSUrl()
|
|
1662
1665
|
return e&&t?{jsUrl:e,cssUrl:t}:null}getImageEditorJSUrl(){let e=this.pinturaJsUrl
|
|
1663
1666
|
return e?(e.startsWith("/")&&(e=window.location.origin+this.ghostPaths.adminRoot.replace(/\/$/,"")+e),e):null}getImageEditorCSSUrl(){let e=this.pinturaCSSUrl
|
|
1664
|
-
return e?(e.startsWith("/")&&(e=window.location.origin+this.ghostPaths.adminRoot.replace(/\/$/,"")+e),e):null}onError(e){console.error(e),this.config.sentry_dsn&&t.captureException(e,{tags:{lexical:!0},contexts:{koenig:{version:window["@tryghost/koenig-lexical"]?.version}}})}*fetchOffersTask(){return this.offers||(this.offers=yield this.store.query("offer",{limit:"all",filter:"status:active"})),this.offers}*fetchLabelsTask(){return this.labels||(this.labels=yield this.store.query("label",{limit:"all",fields:"id, name"})),this.labels}},
|
|
1665
|
-
Ember._setComponentTemplate(
|
|
1667
|
+
return e?(e.startsWith("/")&&(e=window.location.origin+this.ghostPaths.adminRoot.replace(/\/$/,"")+e),e):null}onError(e){console.error(e),this.config.sentry_dsn&&t.captureException(e,{tags:{lexical:!0},contexts:{koenig:{version:window["@tryghost/koenig-lexical"]?.version}}})}*fetchOffersTask(){return this.offers||(this.offers=yield this.store.query("offer",{limit:"all",filter:"status:active"})),this.offers}*fetchLabelsTask(){return this.labels||(this.labels=yield this.store.query("label",{limit:"all",fields:"id, name"})),this.labels}},k=D(E.prototype,"ajax",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=D(E.prototype,"feature",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=D(E.prototype,"ghostPaths",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=D(E.prototype,"koenig",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=D(E.prototype,"membersUtils",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=D(E.prototype,"search",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=D(E.prototype,"session",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=D(E.prototype,"settings",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=D(E.prototype,"store",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=D(E.prototype,"config",[l.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D(E.prototype,"onError",[v],Object.getOwnPropertyDescriptor(E.prototype,"onError"),E.prototype),D(E.prototype,"fetchOffersTask",[y],Object.getOwnPropertyDescriptor(E.prototype,"fetchOffersTask"),E.prototype),D(E.prototype,"fetchLabelsTask",[w],Object.getOwnPropertyDescriptor(E.prototype,"fetchLabelsTask"),E.prototype),E)
|
|
1668
|
+
Ember._setComponentTemplate(I,$)})),define("ghost-admin/components/lf-get-outlet-state",["exports","liquid-fire/components/lf-get-outlet-state"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/liquid-append",["exports","liquid-wormhole/components/liquid-append"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/liquid-bind",["exports","liquid-fire/components/liquid-bind"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/liquid-child",["exports","liquid-fire/components/liquid-child"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/liquid-container",["exports","liquid-fire/components/liquid-container","ghost-admin/config/environment"],(function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1666
1669
|
e.default=t.default.extend({init(){this._super(...arguments),"test"===i.default.environment&&(this.growDuration=5)}})})),define("ghost-admin/components/liquid-destination",["exports","liquid-wormhole/components/liquid-destination"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/liquid-if",["exports","liquid-fire/components/liquid-if"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/liquid-measured",["exports","liquid-fire/components/liquid-measured"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"measure",{enumerable:!0,get:function(){return t.measure}})})),define("ghost-admin/components/liquid-outlet",["exports","liquid-fire/components/liquid-outlet"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/liquid-spacer",["exports","liquid-fire/components/liquid-spacer"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/liquid-sync",["exports","liquid-fire/components/liquid-sync"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/liquid-unless",["exports","liquid-fire/components/liquid-unless"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/liquid-versions",["exports","liquid-fire/components/liquid-versions"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/liquid-wormhole",["exports","liquid-wormhole/components/liquid-wormhole"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/maybe-in-element",["exports","ember-maybe-in-element/components/maybe-in-element"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/member-attribution/modals/all-sources",["exports","@glimmer/component"],(function(e,t){var i,r,n,a
|
|
1667
1670
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1668
1671
|
const s=Ember.HTMLBars.template({id:"s9KGagRu",block:'{"symbols":["sourceData","@close","@data"],"statements":[[10,"div"],[14,0,"modal-content gh-all-sources"],[12],[2,"\\n "],[10,"header"],[14,0,"modal-header"],[14,"data-test-modal","all-source-attributions"],[12],[2,"\\n "],[10,"h1"],[12],[2,"All sources"],[13],[2,"\\n "],[13],[2,"\\n "],[11,"button"],[24,0,"close"],[24,"title","Close"],[24,4,"button"],[4,[38,3],["click",[32,2]],null],[12],[1,[30,[36,4],["close"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Close"],[13],[13],[2,"\\n\\n "],[10,"div"],[14,0,"modal-body pa"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-dashboard-list-header"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-dashboard-list-title"],[12],[2,"Sources"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-dashboard-list-title"],[12],[2,"Free signups"],[13],[2,"\\n"],[6,[37,1],[[32,0,["membersUtils","paidMembersEnabled"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-dashboard-list-title"],[12],[10,"span"],[14,0,"hide-when-small"],[12],[2,"Paid "],[13],[2,"Conversions"],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-dashboard-list-body"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-dashboard-attribution-list-scrollable"],[12],[2,"\\n"],[6,[37,6],[[30,[36,5],[[30,[36,5],[[32,3,["sources"]]],null]],null]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[15,0,[31,["gh-dashboard-list-item ",[30,[36,1],[[30,[36,2],[[32,1,["source"]],"Unavailable"],null],"gh-dashboard-list-item-deemphasized"],null]]]],[12],[2,"\\n "],[10,"div"],[14,0,"gh-dashboard-list-item-sub gh-dashboard-list-item-sub-source"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-dashboard-list-text"],[12],[1,[32,1,["source"]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-dashboard-list-item-sub"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-dashboard-metric-minivalue"],[12],[2,"\\n"],[6,[37,1],[[32,1,["signups"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,0],[[32,1,["signups"]]],null]],[2,"\\n"]],"parameters":[]},{"statements":[[2," —\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,1],[[32,0,["membersUtils","paidMembersEnabled"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-dashboard-list-item-sub"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-dashboard-metric-minivalue"],[12],[2,"\\n"],[6,[37,1],[[32,1,["paidConversions"]]],null,[["default","else"],[{"statements":[[2," "],[1,[30,[36,0],[[32,1,["paidConversions"]]],null]],[2,"\\n"]],"parameters":[]},{"statements":[[2," —\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[1]},{"statements":[[2," "],[10,"div"],[14,0,"gh-dashboard-list-empty"],[12],[2,"\\n "],[10,"p"],[12],[2,"No sources."],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["format-number","if","eq","on","svg-jar","-track-array","each"]}',moduleName:"ghost-admin/components/member-attribution/modals/all-sources.hbs"})
|
|
@@ -2505,23 +2508,24 @@ return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i
|
|
|
2505
2508
|
e.default=(t=Ember._tracked,i=class extends Ember.Controller{constructor(...e){var t,i,a,s
|
|
2506
2509
|
super(...e),n(this,"queryParams",["firstStart"]),t=this,i="firstStart",s=this,(a=r)&&Object.defineProperty(t,i,{enumerable:a.enumerable,configurable:a.configurable,writable:a.writable,value:a.initializer?a.initializer.call(s):void 0})}},a=i.prototype,s="firstStart",o=[t],l={configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}},d={},Object.keys(l).forEach((function(e){d[e]=l[e]})),d.enumerable=!!d.enumerable,d.configurable=!!d.configurable,("value"in d||d.initializer)&&(d.writable=!0),d=o.slice().reverse().reduce((function(e,t){return t(a,s,e)||e}),d),u&&void 0!==d.initializer&&(d.value=d.initializer?d.initializer.call(u):void 0,d.initializer=void 0),void 0===d.initializer&&(Object.defineProperty(a,s,d),d=null),r=d,i)
|
|
2507
2510
|
var a,s,o,l,u,d})),define("ghost-admin/controllers/lexical-editor",["exports","@sentry/ember","ghost-admin/components/modals/editor/confirm-leave","ghost-admin/components/modals/delete-post","ghost-admin/components/editor/modals/delete-snippet","ghost-admin/models/post","ghost-admin/components/modals/limits/publish-limit","ghost-admin/components/editor/modals/re-authenticate","ghost-admin/components/editor/modals/update-snippet","ghost-admin/utils/bound-one-way","ghost-admin/config/environment","ghost-admin/utils/isNumber","moment-timezone","ghost-admin/services/notifications","ember-concurrency","ghost-admin/decorators/inject","ghost-admin/services/ajax","ember-ajax/errors","@tryghost/kg-converters"],(function(e,t,i,r,n,a,s,o,l,u,d,c,p,m,h,b,f,g,v){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2508
|
-
var y,w,E,k,P,O,_,j,T,z,x,S,C,M,D,A,L,I,N,R,F,U,B,H,V,q,$,Y,W,G,K,J,X,Z,Q,ee,te,ie,re,ne,ae,se,oe,le,ue,de,ce,pe,me,he,be,fe,ge,ve,ye,we,Ee,ke,Pe,Oe,_e,je,Te,ze,xe,Se,Ce,Me,De,Ae,Le,Ie,Ne,Re,Fe=t
|
|
2509
|
-
function
|
|
2511
|
+
var y,w,E,k,P,O,_,j,T,z,x,S,C,M,D,A,L,I,N,R,F,U,B,H,V,q,$,Y,W,G,K,J,X,Z,Q,ee,te,ie,re,ne,ae,se,oe,le,ue,de,ce,pe,me,he,be,fe,ge,ve,ye,we,Ee,ke,Pe,Oe,_e,je,Te,ze,xe,Se,Ce,Me,De,Ae,Le,Ie,Ne,Re,Fe,Ue,Be=t
|
|
2512
|
+
function He(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function Ve(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
|
|
2510
2513
|
var i=e[Symbol.toPrimitive]
|
|
2511
2514
|
if(void 0!==i){var r=i.call(e,t||"default")
|
|
2512
2515
|
if("object"!=typeof r)return r
|
|
2513
2516
|
throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
|
|
2514
|
-
return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function
|
|
2515
|
-
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}const
|
|
2516
|
-
let
|
|
2517
|
-
a.default.eachAttribute((function(e){
|
|
2518
|
-
const
|
|
2519
|
-
e.default=(y=Ember.inject.controller,w=Ember.inject.service,E=Ember.inject.service,k=Ember.inject.service,P=Ember.inject.service,O=Ember.inject.service,_=Ember.inject.service,j=Ember.inject.service,T=Ember.inject.service,z=Ember.inject.service,x=Ember.computed.alias("model"),
|
|
2520
|
-
yield(0,h.timeout)(3e3),this.autosaveTask.perform()}})).restartable(),
|
|
2517
|
+
return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function qe(e,t,i,r,n){var a={}
|
|
2518
|
+
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}const $e="(Untitled)",Ye=new RegExp(/(^|.)([^\p{L}\p{N}\s]*(TK)+[^\p{L}\p{N}\s]*)(.)?/u),We=new RegExp(/\p{L}|\p{N}/u)
|
|
2519
|
+
let Ge=["post.lexicalScratch","post.titleScratch","post.hasDirtyAttributes","post.tags.[]","post.isError"]
|
|
2520
|
+
a.default.eachAttribute((function(e){Ge.push(`post.${e}`)}))
|
|
2521
|
+
const Ke={errors:{post:{published:{published:"Update failed",draft:"Saving failed",scheduled:"Scheduling failed"},draft:{published:"Publish failed",draft:"Saving failed",scheduled:"Scheduling failed"},scheduled:{scheduled:"Update failed",draft:"Unscheduling failed",published:"Publish failed"}}},success:{post:{published:{published:"Updated",draft:"Saved",scheduled:"Scheduled",sent:"Sent"},draft:{published:"Published",draft:"Saved",scheduled:"Scheduled",sent:"Sent"},scheduled:{scheduled:"Updated",draft:"Unscheduled",published:"Published",sent:"Sent"},sent:{sent:"Updated"}}}}
|
|
2522
|
+
e.default=(y=Ember.inject.controller,w=Ember.inject.service,E=Ember.inject.service,k=Ember.inject.service,P=Ember.inject.service,O=Ember.inject.service,_=Ember.inject.service,j=Ember.inject.service,T=Ember.inject.service,z=Ember.inject.service,x=Ember.inject.service,S=Ember.computed.alias("model"),C=(0,u.default)("post.isPublished"),M=(0,u.default)("post.isScheduled"),D=(0,h.taskGroup)().enqueue(),A=Ember.computed.mapBy("post.tags","name"),L=Ember.computed(...Ge),I=Ember.computed,N=Ember.computed("_snippets.@each.{name,isNew,mobiledoc,lexical}"),R=Ember.computed,F=Ember.computed("session.user.{isAdmin,isEditor}"),U=Ember.computed("_autosaveTask.isRunning","_timedSaveTask.isRunning"),B=Ember.computed("post.isDraft"),H=Ember.computed("post.titleScratch"),V=Ember.computed("titleHasTk","postTkCount","featureImageTkCount"),q=Ember._action,$=Ember._action,Y=Ember._action,W=Ember._action,G=Ember._action,K=Ember._action,J=Ember._action,X=Ember._action,Z=Ember._action,Q=Ember._action,ee=Ember._action,te=Ember._action,ie=Ember._action,re=Ember._action,ne=Ember._action,ae=Ember._action,se=Ember._action,oe=Ember._action,le=Ember._action,ue=Ember._action,de=Ember._action,ce=Ember._action,pe=Ember._action,me=Ember._action,he=(0,h.task)({group:"saveTasks"}),be=(0,h.task)({group:"saveTasks"}),fe=(0,h.task)({group:"saveTasks"}),ge=Ember._action,ve=Ember._action,ye=(0,h.task)((function*(){if(this._canAutosave){if(this.get("post.isNew"))return this.autosaveTask.perform()
|
|
2523
|
+
yield(0,h.timeout)(3e3),this.autosaveTask.perform()}})).restartable(),we=(0,h.task)((function*(){if(this._canAutosave)for(;"test"!==d.default.environment;)yield(0,h.timeout)(6e4),this.autosaveTask.perform()})).drop(),Ee=class extends Ember.Controller{constructor(...e){super(...e),He(this,"application",ke,this),He(this,"feature",Pe,this),He(this,"membersCountCache",Oe,this),He(this,"modals",_e,this),He(this,"notifications",je,this),He(this,"router",Te,this),He(this,"slugGenerator",ze,this),He(this,"search",xe,this),He(this,"session",Se,this),He(this,"settings",Ce,this),He(this,"ui",Me,this),He(this,"config",De,this),Ve(this,"shouldFocusTitle",!1),Ve(this,"showSettingsMenu",!1),Ve(this,"fromAnalytics",!1),Ve(this,"wordCount",0),Ve(this,"postTkCount",0),Ve(this,"featureImageTkCount",0),Ve(this,"_leaveConfirmed",!1),Ve(this,"_saveOnLeavePerformed",!1),Ve(this,"_previousTagNames",null),He(this,"post",Ae,this),He(this,"willPublish",Le,this),He(this,"willSchedule",Ie,this),He(this,"saveTasks",Ne,this),He(this,"_tagNames",Re,this),Ve(this,"TK_REGEX",new RegExp(/(^|.)([^\p{L}\p{N}\s]*(TK)+[^\p{L}\p{N}\s]*)(.)?/u)),Ve(this,"WORD_CHAR_REGEX",new RegExp(/\p{L}|\p{N}/u)),He(this,"_autosaveTask",Fe,this)
|
|
2524
|
+
He(this,"_timedSaveTask",Ue,this)}get hasDirtyAttributes(){return this._hasDirtyAttributes()}set hasDirtyAttributes(e){return e}get _snippets(){return this.store.peekAll("snippet")}get snippets(){return this._snippets.reject((e=>e.get("isNew"))).sort(((e,t)=>e.name.localeCompare(t.name))).filter((e=>null!==e.lexical)).map((e=>(e.value=JSON.stringify(e.lexical),e)))}get collections(){return this.store.peekAll("collection")}get canManageSnippets(){let{user:e}=this.session
|
|
2521
2525
|
return!(!e.get("isAdmin")&&!e.get("isEditor"))}get _autosaveRunning(){let e=this.get("_autosaveTask.isRunning"),t=this.get("_timedSaveTask.isRunning")
|
|
2522
|
-
return e||t}get _canAutosave(){return"test"!==d.default.environment&&this.get("post.isDraft")}get titleHasTk(){let e=this.post.titleScratch,t=
|
|
2526
|
+
return e||t}get _canAutosave(){return"test"!==d.default.environment&&this.get("post.isDraft")}get titleHasTk(){let e=this.post.titleScratch,t=Ye.exec(e)
|
|
2523
2527
|
if(null===t)return!1
|
|
2524
|
-
for(;null!==t&&((i=t)[1]&&i[1].trim()
|
|
2528
|
+
for(;null!==t&&((i=t)[1]&&i[1].trim()&&We.test(i[1])||i[4]&&i[4].trim()&&We.test(i[4]));)e=e.slice(t.index+t[0].length-1),t=Ye.exec(e)
|
|
2525
2529
|
var i
|
|
2526
2530
|
return null!==t}get tkCount(){return(this.titleHasTk?1:0)+this.postTkCount+this.featureImageTkCount}updateScratch(e){this.set("post.lexicalScratch",JSON.stringify(e)),this._autosaveTask.perform(),this._timedSaveTask.perform()}updateTitleScratch(e){this.set("post.titleScratch",e)}setSaveType(e){"publish"===e?(this.set("willPublish",!0),this.set("willSchedule",!1)):"draft"===e?(this.set("willPublish",!1),this.set("willSchedule",!1)):"schedule"===e&&(this.set("willSchedule",!0),this.set("willPublish",!1))}save(e){return this.saveTask.perform(e)}cancelAutosave(){this._autosaveTask.cancelAll(),this._timedSaveTask.cancelAll()}leaveEditor(){let e=this.leaveEditorTransition
|
|
2527
2531
|
if(e)return this.reset(),e.retry()
|
|
@@ -2540,7 +2544,7 @@ if(this.set("post.status",t),void 0===s&&0===this.post.errors.length)return
|
|
|
2540
2544
|
if((0,f.isHostLimitError)(s))return this.post.rollbackAttributes(),void this.openUpgradeModal(s.payload.errors[0])
|
|
2541
2545
|
if(s&&!(0,g.isInvalidError)(s))return void this.send("error",s)
|
|
2542
2546
|
if(!e.silent){let e=s||this.get("post.errors.messages")
|
|
2543
|
-
throw void this._showErrorAlert(t,this.get("post.status"),e)}return this.post}}*beforeSaveTask(e={}){this.post?.isDestroyed||this.post?.isDestroying||(e.backgroundSave,this.set("post.lexical",this.post.lexicalScratch||null),this.get("post.titleScratch").trim()||this.set("post.titleScratch"
|
|
2547
|
+
throw void this._showErrorAlert(t,this.get("post.status"),e)}return this.post}}*beforeSaveTask(e={}){this.post?.isDestroyed||this.post?.isDestroying||(e.backgroundSave,this.set("post.lexical",this.post.lexicalScratch||null),this.get("post.titleScratch").trim()||this.set("post.titleScratch",$e),this.set("post.title",this.get("post.titleScratch")),this.set("post.customExcerpt",this.get("post.customExcerptScratch")),this.set("post.footerInjection",this.get("post.footerExcerptScratch")),this.set("post.headerInjection",this.get("post.headerExcerptScratch")),this.set("post.metaTitle",this.get("post.metaTitleScratch")),this.set("post.metaDescription",this.get("post.metaDescriptionScratch")),this.set("post.ogTitle",this.get("post.ogTitleScratch")),this.set("post.ogDescription",this.get("post.ogDescriptionScratch")),this.set("post.twitterTitle",this.get("post.twitterTitleScratch")),this.set("post.twitterDescription",this.get("post.twitterDescriptionScratch")),this.set("post.emailSubject",this.get("post.emailSubjectScratch")),this.get("post.slug")||(this.saveTitleTask.cancelAll(),yield this.generateSlugTask.perform()))}*updateSlugTask(e){let t,i,r=this.get("post.slug")
|
|
2544
2548
|
if(t=e||r,t=t&&t.trim(),!t||r===t)return void this.set("slugValue",r)
|
|
2545
2549
|
if(i=yield this.slugGenerator.generateSlug("post",t),i===r)return
|
|
2546
2550
|
let n=i.split("-"),a=Number(n.pop())
|
|
@@ -2555,11 +2559,11 @@ try{yield i.save(e),this.config.sentry_dsn&&Date.now()-n>2e3&&(0,t.captureMessag
|
|
|
2555
2559
|
throw void this._showErrorAlert(e,t,a)}throw a}return this.afterSave(i),i}afterSave(e){this.notifications.closeAlerts("post.save"),e.updateTags(),this._previousTagNames=this._tagNames,e.lexicalScratch||e.set("lexicalScratch",e.get("lexical"))
|
|
2556
2560
|
let t=e.get("titleScratch")===e.get("title"),i=e.get("lexicalScratch")===e.get("lexical")
|
|
2557
2561
|
t&&i&&this.set("hasDirtyAttributes",!1)}*saveTitleTask(){let e=this.post,t=e.get("title"),i=e.get("titleScratch").trim()
|
|
2558
|
-
t&&i&&i===t||!t&&!i||(this.set("hasDirtyAttributes",!0),(e.get("isNew")&&!t||t
|
|
2559
|
-
if(e
|
|
2560
|
-
Ember.isBlank(t)||this.set("post.slug",t)}catch(t){(0,f.isVersionMismatchError)(t)&&this.notifications.showAPIError(t)}}*backgroundLoaderTask(){yield this.store.query("snippet",{limit:"all"}),"page"===this.post.displayName&&this.feature.get("collections")&&this.feature.get("collectionsCard")&&(yield this.store.query("collection",{limit:"all"})),this.syncMobiledocSnippets()}sleep(e){return new Promise((t=>{setTimeout(t,e)}))}async syncMobiledocSnippets(){const e=this.store.peekAll("snippet")
|
|
2562
|
+
t&&i&&i===t||!t&&!i||(this.set("hasDirtyAttributes",!0),(e.get("isNew")&&!t||t===$e||t?.endsWith("(Copy)"))&&(yield this.generateSlugTask.perform()),this.get("post.isDraft")&&(yield this.autosaveTask.perform()),this.ui.updateDocumentTitle())}*generateSlugTask(){let e=this.get("post.titleScratch")
|
|
2563
|
+
if(e!==$e||!this.get("post.slug"))try{let t=yield this.slugGenerator.generateSlug("post",e)
|
|
2564
|
+
Ember.isBlank(t)||this.set("post.slug",t)}catch(t){(0,f.isVersionMismatchError)(t)&&this.notifications.showAPIError(t)}}*backgroundLoaderTask(){yield this.store.query("snippet",{limit:"all"}),"page"===this.post.displayName&&this.feature.get("collections")&&this.feature.get("collectionsCard")&&(yield this.store.query("collection",{limit:"all"})),this.search.refreshContentTask.perform(),this.syncMobiledocSnippets()}sleep(e){return new Promise((t=>{setTimeout(t,e)}))}async syncMobiledocSnippets(){const e=this.store.peekAll("snippet")
|
|
2561
2565
|
for(let i=0;i<e.length;i++){const r=e.objectAt(i)
|
|
2562
|
-
if("string"==typeof r.lexical)try{r.lexical=JSON.parse(r.lexical),r.mobiledoc={},await r.save(),await this.sleep(100)}catch(t){r.lexical=null,await r.save(),await this.sleep(100),console.error(t),this.config.sentry_dsn&&
|
|
2566
|
+
if("string"==typeof r.lexical)try{r.lexical=JSON.parse(r.lexical),r.mobiledoc={},await r.save(),await this.sleep(100)}catch(t){r.lexical=null,await r.save(),await this.sleep(100),console.error(t),this.config.sentry_dsn&&Be.captureException(t,{tags:{lexical:!0}})}}for(let i=0;i<e.length;i++){const t=e.objectAt(i)
|
|
2563
2567
|
if(!t.lexical||t.lexical.syncedAt&&p.default.utc(t.lexical.syncedAt).isBefore(t.updatedAtUTC)){const e=(0,v.mobiledocToLexical)(JSON.stringify(t.mobiledoc))
|
|
2564
2568
|
let i=JSON.parse(e).root.children
|
|
2565
2569
|
1===i.length&&"paragraph"===i[0].type&&(i=i[0].children)
|
|
@@ -2585,18 +2589,18 @@ if((n||r)&&n!==r)return this._leaveModalReason={reason:"lexical is different",co
|
|
|
2585
2589
|
if(e.get("isNew")){let t=Object.keys(e.changedAttributes())
|
|
2586
2590
|
return t.length&&(this._leaveModalReason={reason:"post.changedAttributes.length > 0",context:e.changedAttributes()}),!!t.length}let{hasDirtyAttributes:a}=e
|
|
2587
2591
|
return a&&(this._leaveModalReason={reason:"post.hasDirtyAttributes === true",context:e.changedAttributes()}),a}_showSaveNotification(e,t,i){if("scheduled"===t)return this._showScheduledNotification(i)
|
|
2588
|
-
let r,n,a,s=this.notifications,o=
|
|
2592
|
+
let r,n,a,s=this.notifications,o=Ke.success.post[e][t]
|
|
2589
2593
|
"published"!==t&&"scheduled"!==t||(n=Ember.String.capitalize(this.get("post.displayName")),a=this.get("post.url"),r=`<a href="${a}" target="_blank">View ${n}</a>`),s.showNotification(o,{type:"success",actions:r&&Ember.String.htmlSafe(r),delayed:i})}async _showScheduledNotification(e){let{publishedAtUTC:t,previewUrl:i,emailOnly:r,newsletter:n}=this.post,a=p.default.tz(t,this.settings.timezone),s=r?["Will be sent"]:["Will be published"]
|
|
2590
2594
|
if(n){const e=await this.membersCountCache.countString(this.post.fullRecipientFilter,{newsletter:n})
|
|
2591
2595
|
s.push(`${r?"":"and delivered "}to <span><strong>${e}</strong></span>`)}s.push(`on <span><strong>${a.format("MMM Do")}</strong></span>`),s.push(`at <span><strong>${a.format("HH:mm")}</strong>`),0===a.utcOffset()?s.push("(UTC)</span>"):s.push(`(UTC${a.format("Z").replace(/([+-])0/,"$1").replace(/:00/,"")})</span>`),s=Ember.String.htmlSafe(s.join(" "))
|
|
2592
2596
|
let o=Ember.String.htmlSafe(`<a href="${i}" target="_blank">View Preview</a>`)
|
|
2593
|
-
return this.notifications.showNotification("Scheduled",{description:s,actions:o,type:"success",delayed:e})}_showErrorAlert(e,t,i,r){let n,a=
|
|
2597
|
+
return this.notifications.showNotification("Scheduled",{description:s,actions:o,type:"success",delayed:e})}_showErrorAlert(e,t,i,r){let n,a=Ke.errors.post[e][t],s=this.notifications
|
|
2594
2598
|
if((0,f.isServerUnreachableError)(i))n="Unable to connect, please check your internet connection and try again"
|
|
2595
2599
|
else if(i&&(o=i,"[object String]"===toString.call(o)))n=i
|
|
2596
2600
|
else if(i&&Ember.isArray(i))n=i[0]
|
|
2597
2601
|
else{if(i&&i.payload&&i.payload.errors&&i.payload.errors[0].message)return this.notifications.showAPIError(i,{key:"post.save"})
|
|
2598
2602
|
n="Unknown Error"}var o
|
|
2599
|
-
a+=`: ${n}`,a=Ember.String.htmlSafe(a),s.showAlert(a,{type:"error",delayed:r,key:"post.save"})}},
|
|
2603
|
+
a+=`: ${n}`,a=Ember.String.htmlSafe(a),s.showAlert(a,{type:"error",delayed:r,key:"post.save"})}},ke=qe(Ee.prototype,"application",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Pe=qe(Ee.prototype,"feature",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Oe=qe(Ee.prototype,"membersCountCache",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_e=qe(Ee.prototype,"modals",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),je=qe(Ee.prototype,"notifications",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Te=qe(Ee.prototype,"router",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ze=qe(Ee.prototype,"slugGenerator",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),xe=qe(Ee.prototype,"search",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Se=qe(Ee.prototype,"session",[T],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ce=qe(Ee.prototype,"settings",[z],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Me=qe(Ee.prototype,"ui",[x],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),De=qe(Ee.prototype,"config",[b.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ae=qe(Ee.prototype,"post",[S],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Le=qe(Ee.prototype,"willPublish",[C],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ie=qe(Ee.prototype,"willSchedule",[M],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ne=qe(Ee.prototype,"saveTasks",[D],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Re=qe(Ee.prototype,"_tagNames",[A],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),qe(Ee.prototype,"hasDirtyAttributes",[L],Object.getOwnPropertyDescriptor(Ee.prototype,"hasDirtyAttributes"),Ee.prototype),qe(Ee.prototype,"_snippets",[I],Object.getOwnPropertyDescriptor(Ee.prototype,"_snippets"),Ee.prototype),qe(Ee.prototype,"snippets",[N],Object.getOwnPropertyDescriptor(Ee.prototype,"snippets"),Ee.prototype),qe(Ee.prototype,"collections",[R],Object.getOwnPropertyDescriptor(Ee.prototype,"collections"),Ee.prototype),qe(Ee.prototype,"canManageSnippets",[F],Object.getOwnPropertyDescriptor(Ee.prototype,"canManageSnippets"),Ee.prototype),qe(Ee.prototype,"_autosaveRunning",[U],Object.getOwnPropertyDescriptor(Ee.prototype,"_autosaveRunning"),Ee.prototype),qe(Ee.prototype,"_canAutosave",[B],Object.getOwnPropertyDescriptor(Ee.prototype,"_canAutosave"),Ee.prototype),qe(Ee.prototype,"titleHasTk",[H],Object.getOwnPropertyDescriptor(Ee.prototype,"titleHasTk"),Ee.prototype),qe(Ee.prototype,"tkCount",[V],Object.getOwnPropertyDescriptor(Ee.prototype,"tkCount"),Ee.prototype),qe(Ee.prototype,"updateScratch",[q],Object.getOwnPropertyDescriptor(Ee.prototype,"updateScratch"),Ee.prototype),qe(Ee.prototype,"updateTitleScratch",[$],Object.getOwnPropertyDescriptor(Ee.prototype,"updateTitleScratch"),Ee.prototype),qe(Ee.prototype,"setSaveType",[Y],Object.getOwnPropertyDescriptor(Ee.prototype,"setSaveType"),Ee.prototype),qe(Ee.prototype,"save",[W],Object.getOwnPropertyDescriptor(Ee.prototype,"save"),Ee.prototype),qe(Ee.prototype,"cancelAutosave",[G],Object.getOwnPropertyDescriptor(Ee.prototype,"cancelAutosave"),Ee.prototype),qe(Ee.prototype,"leaveEditor",[K],Object.getOwnPropertyDescriptor(Ee.prototype,"leaveEditor"),Ee.prototype),qe(Ee.prototype,"openDeletePostModal",[J],Object.getOwnPropertyDescriptor(Ee.prototype,"openDeletePostModal"),Ee.prototype),qe(Ee.prototype,"openUpgradeModal",[X],Object.getOwnPropertyDescriptor(Ee.prototype,"openUpgradeModal"),Ee.prototype),qe(Ee.prototype,"setKoenigEditor",[Z],Object.getOwnPropertyDescriptor(Ee.prototype,"setKoenigEditor"),Ee.prototype),qe(Ee.prototype,"updateWordCount",[Q],Object.getOwnPropertyDescriptor(Ee.prototype,"updateWordCount"),Ee.prototype),qe(Ee.prototype,"updatePostTkCount",[ee],Object.getOwnPropertyDescriptor(Ee.prototype,"updatePostTkCount"),Ee.prototype),qe(Ee.prototype,"updateFeatureImageTkCount",[te],Object.getOwnPropertyDescriptor(Ee.prototype,"updateFeatureImageTkCount"),Ee.prototype),qe(Ee.prototype,"setFeatureImage",[ie],Object.getOwnPropertyDescriptor(Ee.prototype,"setFeatureImage"),Ee.prototype),qe(Ee.prototype,"registerEditorAPI",[re],Object.getOwnPropertyDescriptor(Ee.prototype,"registerEditorAPI"),Ee.prototype),qe(Ee.prototype,"clearFeatureImage",[ne],Object.getOwnPropertyDescriptor(Ee.prototype,"clearFeatureImage"),Ee.prototype),qe(Ee.prototype,"setFeatureImageAlt",[ae],Object.getOwnPropertyDescriptor(Ee.prototype,"setFeatureImageAlt"),Ee.prototype),qe(Ee.prototype,"setFeatureImageCaption",[se],Object.getOwnPropertyDescriptor(Ee.prototype,"setFeatureImageCaption"),Ee.prototype),qe(Ee.prototype,"handleFeatureImageCaptionBlur",[oe],Object.getOwnPropertyDescriptor(Ee.prototype,"handleFeatureImageCaptionBlur"),Ee.prototype),qe(Ee.prototype,"toggleSettingsMenu",[le],Object.getOwnPropertyDescriptor(Ee.prototype,"toggleSettingsMenu"),Ee.prototype),qe(Ee.prototype,"closeSettingsMenu",[ue],Object.getOwnPropertyDescriptor(Ee.prototype,"closeSettingsMenu"),Ee.prototype),qe(Ee.prototype,"saveNewSnippet",[de],Object.getOwnPropertyDescriptor(Ee.prototype,"saveNewSnippet"),Ee.prototype),qe(Ee.prototype,"createSnippet",[ce],Object.getOwnPropertyDescriptor(Ee.prototype,"createSnippet"),Ee.prototype),qe(Ee.prototype,"confirmUpdateSnippet",[pe],Object.getOwnPropertyDescriptor(Ee.prototype,"confirmUpdateSnippet"),Ee.prototype),qe(Ee.prototype,"confirmDeleteSnippet",[me],Object.getOwnPropertyDescriptor(Ee.prototype,"confirmDeleteSnippet"),Ee.prototype),qe(Ee.prototype,"autosaveTask",[h.dropTask],Object.getOwnPropertyDescriptor(Ee.prototype,"autosaveTask"),Ee.prototype),qe(Ee.prototype,"saveTask",[he],Object.getOwnPropertyDescriptor(Ee.prototype,"saveTask"),Ee.prototype),qe(Ee.prototype,"beforeSaveTask",[h.task],Object.getOwnPropertyDescriptor(Ee.prototype,"beforeSaveTask"),Ee.prototype),qe(Ee.prototype,"updateSlugTask",[be],Object.getOwnPropertyDescriptor(Ee.prototype,"updateSlugTask"),Ee.prototype),qe(Ee.prototype,"savePostTask",[fe],Object.getOwnPropertyDescriptor(Ee.prototype,"savePostTask"),Ee.prototype),qe(Ee.prototype,"_savePostTask",[h.task],Object.getOwnPropertyDescriptor(Ee.prototype,"_savePostTask"),Ee.prototype),qe(Ee.prototype,"afterSave",[ge],Object.getOwnPropertyDescriptor(Ee.prototype,"afterSave"),Ee.prototype),qe(Ee.prototype,"saveTitleTask",[h.task],Object.getOwnPropertyDescriptor(Ee.prototype,"saveTitleTask"),Ee.prototype),qe(Ee.prototype,"generateSlugTask",[h.enqueueTask],Object.getOwnPropertyDescriptor(Ee.prototype,"generateSlugTask"),Ee.prototype),qe(Ee.prototype,"backgroundLoaderTask",[h.restartableTask],Object.getOwnPropertyDescriptor(Ee.prototype,"backgroundLoaderTask"),Ee.prototype),qe(Ee.prototype,"syncMobiledocSnippets",[ve],Object.getOwnPropertyDescriptor(Ee.prototype,"syncMobiledocSnippets"),Ee.prototype),Fe=qe(Ee.prototype,"_autosaveTask",[ye],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ue=qe(Ee.prototype,"_timedSaveTask",[we],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ee)})),define("ghost-admin/controllers/lexical-editor/edit-loading",["exports"],(function(e){var t,i,r
|
|
2600
2604
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2601
2605
|
e.default=(t=Ember.inject.service,i=class extends Ember.Controller{constructor(...e){var t,i,n,a
|
|
2602
2606
|
super(...e),t=this,i="ui",a=this,(n=r)&&Object.defineProperty(t,i,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(a):void 0})}},n=i.prototype,a="ui",s=[t],o={configurable:!0,enumerable:!0,writable:!0,initializer:null},u={},Object.keys(o).forEach((function(e){u[e]=o[e]})),u.enumerable=!!u.enumerable,u.configurable=!!u.configurable,("value"in u||u.initializer)&&(u.writable=!0),u=s.slice().reverse().reduce((function(e,t){return t(n,a,e)||e}),u),l&&void 0!==u.initializer&&(u.value=u.initializer?u.initializer.call(l):void 0,u.initializer=void 0),void 0===u.initializer&&(Object.defineProperty(n,a,u),u=null),r=u,i)
|
|
@@ -3265,7 +3269,7 @@ function E(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,config
|
|
|
3265
3269
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3266
3270
|
e.default=(i=(0,t.attr)("string"),r=(0,t.attr)("string"),n=(0,t.attr)("string"),a=(0,t.attr)("string"),s=(0,t.attr)("string"),o=(0,t.attr)("string"),l=(0,t.attr)("moment-utc"),u=(0,t.belongsTo)("user"),d=(0,t.attr)("string"),c=class extends t.default{constructor(...e){super(...e),E(this,"lexical",p,this),E(this,"title",m,this),E(this,"featureImage",h,this),E(this,"featureImageAlt",b,this),E(this,"featureImageCaption",f,this),E(this,"reason",g,this),E(this,"createdAt",v,this),E(this,"author",y,this),E(this,"postStatus",w,this)}},p=k(c.prototype,"lexical",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=k(c.prototype,"title",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=k(c.prototype,"featureImage",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=k(c.prototype,"featureImageAlt",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=k(c.prototype,"featureImageCaption",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=k(c.prototype,"reason",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=k(c.prototype,"createdAt",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=k(c.prototype,"author",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=k(c.prototype,"postStatus",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c)})),define("ghost-admin/models/post",["exports","@ember-data/model","ghost-admin/mixins/validation-engine","ghost-admin/utils/bound-one-way","moment-timezone","ghost-admin/decorators/inject"],(function(e,t,i,r,n,a){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3267
3271
|
const{Comparable:s}=Ember
|
|
3268
|
-
e.default=t.default.extend(s,i.default,{session:Ember.inject.service(),feature:Ember.inject.service(),ghostPaths:Ember.inject.service(),clock:Ember.inject.service(),settings:Ember.inject.service(),membersUtils:Ember.inject.service(),config:(0,a.inject)(),displayName:"post",validationType:"post",count:(0,t.attr)(),sentiment:(0,t.attr)(),createdAtUTC:(0,t.attr)("moment-utc"),excerpt:(0,t.attr)("string"),customExcerpt:(0,t.attr)("string"),featured:(0,t.attr)("boolean",{defaultValue:!1}),canonicalUrl:(0,t.attr)("string"),codeinjectionFoot:(0,t.attr)("string",{defaultValue:""}),codeinjectionHead:(0,t.attr)("string",{defaultValue:""}),customTemplate:(0,t.attr)("string"),ogImage:(0,t.attr)("string"),ogTitle:(0,t.attr)("string"),ogDescription:(0,t.attr)("string"),twitterImage:(0,t.attr)("string"),twitterTitle:(0,t.attr)("string"),twitterDescription:(0,t.attr)("string"),emailSubject:(0,t.attr)("string"),html:(0,t.attr)("string"),visibility:(0,t.attr)("string"),metaDescription:(0,t.attr)("string"),metaTitle:(0,t.attr)("string"),mobiledoc:(0,t.attr)("json-string"),lexical:(0,t.attr)("string",{defaultValue:()=>'{"root":{"children":[{"children":[],"direction":null,"format":"","indent":0,"type":"paragraph","version":1}],"direction":null,"format":"","indent":0,"type":"root","version":1}}'}),plaintext:(0,t.attr)("string"),publishedAtUTC:(0,t.attr)("moment-utc"),slug:(0,t.attr)("string"),status:(0,t.attr)("string",{defaultValue:"draft"}),title:(0,t.attr)("string",{defaultValue:""}),updatedAtUTC:(0,t.attr)("moment-utc"),updatedBy:(0,t.attr)("number"),url:(0,t.attr)("string"),uuid:(0,t.attr)("string"),emailSegment:(0,t.attr)("members-segment-string",{defaultValue:null}),emailOnly:(0,t.attr)("boolean",{defaultValue:!1}),featureImage:(0,t.attr)("string"),featureImageAlt:(0,t.attr)("string"),featureImageCaption:(0,t.attr)("string"),showTitleAndFeatureImage:(0,t.attr)("boolean",{defaultValue:!0}),authors:(0,t.hasMany)("user",{embedded:"always",async:!1}),createdBy:(0,t.belongsTo)("user",{async:!0}),email:(0,t.belongsTo)("email",{async:!1}),newsletter:(0,t.belongsTo)("newsletter",{embedded:"always",async:!1}),publishedBy:(0,t.belongsTo)("user",{async:!0}),tags:(0,t.hasMany)("tag",{embedded:"always",async:!1}),postRevisions:(0,t.hasMany)("post_revisions",{embedded:"always",async:!1}),primaryAuthor:Ember.computed.reads("authors.firstObject"),primaryTag:Ember.computed.reads("tags.firstObject"),scratch:null,lexicalScratch:null,titleScratch:null,publishedAtBlogDate:"",publishedAtBlogTime:"",canonicalUrlScratch:(0,r.default)("canonicalUrl"),customExcerptScratch:(0,r.default)("customExcerpt"),codeinjectionFootScratch:(0,r.default)("codeinjectionFoot"),codeinjectionHeadScratch:(0,r.default)("codeinjectionHead"),metaDescriptionScratch:(0,r.default)("metaDescription"),metaTitleScratch:(0,r.default)("metaTitle"),ogDescriptionScratch:(0,r.default)("ogDescription"),ogTitleScratch:(0,r.default)("ogTitle"),twitterDescriptionScratch:(0,r.default)("twitterDescription"),twitterTitleScratch:(0,r.default)("twitterTitle"),tiers:(0,t.attr)("member-tier"),emailSubjectScratch:(0,r.default)("emailSubject"),isPublished:Ember.computed.equal("status","published"),isDraft:Ember.computed.equal("status","draft"),internalTags:Ember.computed.filterBy("tags","isInternal",!0),isScheduled:Ember.computed.equal("status","scheduled"),isSent:Ember.computed.equal("status","sent"),isPost:Ember.computed.equal("displayName","post"),isPage:Ember.computed.equal("displayName","page"),hasEmail:Ember.computed("email","emailOnly",(function(){return null!==this.email||this.emailOnly})),willEmail:Ember.computed("isScheduled","newsletter","email",(function(){return this.isScheduled&&!!this.newsletter&&!this.email})),hasBeenEmailed:Ember.computed("isPost","isSent","isPublished","email",(function(){return this.isPost&&(this.isSent||this.isPublished)&&this.email&&"failed"!==this.email.status})),didEmailFail:Ember.computed("isPost","isSent","isPublished","email.status",(function(){return this.isPost&&(this.isSent||this.isPublished)&&this.email&&"failed"===this.email.status})),showAudienceFeedback:Ember.computed("sentiment",(function(){return this.feature.get("audienceFeedback")&&void 0!==this.sentiment})),showEmailOpenAnalytics:Ember.computed("hasBeenEmailed","isSent","isPublished",(function(){return this.hasBeenEmailed&&!this.session.user.isContributor&&"none"!==this.settings.membersSignupAccess&&"disabled"!==this.settings.editorDefaultEmailRecipients&&this.hasBeenEmailed&&this.email.trackOpens&&this.settings.emailTrackOpens})),showEmailClickAnalytics:Ember.computed("hasBeenEmailed","isSent","isPublished","email",(function(){return this.hasBeenEmailed&&!this.session.user.isContributor&&"none"!==this.settings.membersSignupAccess&&"disabled"!==this.settings.editorDefaultEmailRecipients&&(this.isSent||this.isPublished)&&this.email.trackClicks&&this.settings.emailTrackClicks})),showAttributionAnalytics:Ember.computed("isPage","emailOnly","isPublished","membersUtils.isMembersInviteOnly","settings.membersTrackSources",(function(){return(this.isPage||!this.emailOnly)&&this.isPublished&&this.settings.membersTrackSources&&!this.membersUtils.isMembersInviteOnly&&!this.session.user.isContributor})),showPaidAttributionAnalytics:Ember.computed.and("showAttributionAnalytics","membersUtils.paidMembersEnabled"),hasAnalyticsPage:Ember.computed("isPost","showEmailOpenAnalytics","showEmailClickAnalytics","showAttributionAnalytics",(function(){return this.isPost&&this.session.user.isAdmin&&(this.showEmailOpenAnalytics||this.showEmailClickAnalytics||this.showAttributionAnalytics)})),previewUrl:Ember.computed("uuid","ghostPaths.url","config.blogUrl",(function(){let e=this.config.blogUrl,t=this.uuid
|
|
3272
|
+
e.default=t.default.extend(s,i.default,{session:Ember.inject.service(),feature:Ember.inject.service(),ghostPaths:Ember.inject.service(),clock:Ember.inject.service(),search:Ember.inject.service(),settings:Ember.inject.service(),membersUtils:Ember.inject.service(),config:(0,a.inject)(),displayName:"post",validationType:"post",count:(0,t.attr)(),sentiment:(0,t.attr)(),createdAtUTC:(0,t.attr)("moment-utc"),excerpt:(0,t.attr)("string"),customExcerpt:(0,t.attr)("string"),featured:(0,t.attr)("boolean",{defaultValue:!1}),canonicalUrl:(0,t.attr)("string"),codeinjectionFoot:(0,t.attr)("string",{defaultValue:""}),codeinjectionHead:(0,t.attr)("string",{defaultValue:""}),customTemplate:(0,t.attr)("string"),ogImage:(0,t.attr)("string"),ogTitle:(0,t.attr)("string"),ogDescription:(0,t.attr)("string"),twitterImage:(0,t.attr)("string"),twitterTitle:(0,t.attr)("string"),twitterDescription:(0,t.attr)("string"),emailSubject:(0,t.attr)("string"),html:(0,t.attr)("string"),visibility:(0,t.attr)("string"),metaDescription:(0,t.attr)("string"),metaTitle:(0,t.attr)("string"),mobiledoc:(0,t.attr)("json-string"),lexical:(0,t.attr)("string",{defaultValue:()=>'{"root":{"children":[{"children":[],"direction":null,"format":"","indent":0,"type":"paragraph","version":1}],"direction":null,"format":"","indent":0,"type":"root","version":1}}'}),plaintext:(0,t.attr)("string"),publishedAtUTC:(0,t.attr)("moment-utc"),slug:(0,t.attr)("string"),status:(0,t.attr)("string",{defaultValue:"draft"}),title:(0,t.attr)("string",{defaultValue:""}),updatedAtUTC:(0,t.attr)("moment-utc"),updatedBy:(0,t.attr)("number"),url:(0,t.attr)("string"),uuid:(0,t.attr)("string"),emailSegment:(0,t.attr)("members-segment-string",{defaultValue:null}),emailOnly:(0,t.attr)("boolean",{defaultValue:!1}),featureImage:(0,t.attr)("string"),featureImageAlt:(0,t.attr)("string"),featureImageCaption:(0,t.attr)("string"),showTitleAndFeatureImage:(0,t.attr)("boolean",{defaultValue:!0}),authors:(0,t.hasMany)("user",{embedded:"always",async:!1}),createdBy:(0,t.belongsTo)("user",{async:!0}),email:(0,t.belongsTo)("email",{async:!1}),newsletter:(0,t.belongsTo)("newsletter",{embedded:"always",async:!1}),publishedBy:(0,t.belongsTo)("user",{async:!0}),tags:(0,t.hasMany)("tag",{embedded:"always",async:!1}),postRevisions:(0,t.hasMany)("post_revisions",{embedded:"always",async:!1}),primaryAuthor:Ember.computed.reads("authors.firstObject"),primaryTag:Ember.computed.reads("tags.firstObject"),scratch:null,lexicalScratch:null,titleScratch:null,publishedAtBlogDate:"",publishedAtBlogTime:"",canonicalUrlScratch:(0,r.default)("canonicalUrl"),customExcerptScratch:(0,r.default)("customExcerpt"),codeinjectionFootScratch:(0,r.default)("codeinjectionFoot"),codeinjectionHeadScratch:(0,r.default)("codeinjectionHead"),metaDescriptionScratch:(0,r.default)("metaDescription"),metaTitleScratch:(0,r.default)("metaTitle"),ogDescriptionScratch:(0,r.default)("ogDescription"),ogTitleScratch:(0,r.default)("ogTitle"),twitterDescriptionScratch:(0,r.default)("twitterDescription"),twitterTitleScratch:(0,r.default)("twitterTitle"),tiers:(0,t.attr)("member-tier"),emailSubjectScratch:(0,r.default)("emailSubject"),isPublished:Ember.computed.equal("status","published"),isDraft:Ember.computed.equal("status","draft"),internalTags:Ember.computed.filterBy("tags","isInternal",!0),isScheduled:Ember.computed.equal("status","scheduled"),isSent:Ember.computed.equal("status","sent"),isPost:Ember.computed.equal("displayName","post"),isPage:Ember.computed.equal("displayName","page"),hasEmail:Ember.computed("email","emailOnly",(function(){return null!==this.email||this.emailOnly})),willEmail:Ember.computed("isScheduled","newsletter","email",(function(){return this.isScheduled&&!!this.newsletter&&!this.email})),hasBeenEmailed:Ember.computed("isPost","isSent","isPublished","email",(function(){return this.isPost&&(this.isSent||this.isPublished)&&this.email&&"failed"!==this.email.status})),didEmailFail:Ember.computed("isPost","isSent","isPublished","email.status",(function(){return this.isPost&&(this.isSent||this.isPublished)&&this.email&&"failed"===this.email.status})),showAudienceFeedback:Ember.computed("sentiment",(function(){return this.feature.get("audienceFeedback")&&void 0!==this.sentiment})),showEmailOpenAnalytics:Ember.computed("hasBeenEmailed","isSent","isPublished",(function(){return this.hasBeenEmailed&&!this.session.user.isContributor&&"none"!==this.settings.membersSignupAccess&&"disabled"!==this.settings.editorDefaultEmailRecipients&&this.hasBeenEmailed&&this.email.trackOpens&&this.settings.emailTrackOpens})),showEmailClickAnalytics:Ember.computed("hasBeenEmailed","isSent","isPublished","email",(function(){return this.hasBeenEmailed&&!this.session.user.isContributor&&"none"!==this.settings.membersSignupAccess&&"disabled"!==this.settings.editorDefaultEmailRecipients&&(this.isSent||this.isPublished)&&this.email.trackClicks&&this.settings.emailTrackClicks})),showAttributionAnalytics:Ember.computed("isPage","emailOnly","isPublished","membersUtils.isMembersInviteOnly","settings.membersTrackSources",(function(){return(this.isPage||!this.emailOnly)&&this.isPublished&&this.settings.membersTrackSources&&!this.membersUtils.isMembersInviteOnly&&!this.session.user.isContributor})),showPaidAttributionAnalytics:Ember.computed.and("showAttributionAnalytics","membersUtils.paidMembersEnabled"),hasAnalyticsPage:Ember.computed("isPost","showEmailOpenAnalytics","showEmailClickAnalytics","showAttributionAnalytics",(function(){return this.isPost&&this.session.user.isAdmin&&(this.showEmailOpenAnalytics||this.showEmailClickAnalytics||this.showAttributionAnalytics)})),previewUrl:Ember.computed("uuid","ghostPaths.url","config.blogUrl",(function(){let e=this.config.blogUrl,t=this.uuid
|
|
3269
3273
|
return t?this.get("ghostPaths.url").join(e,"p",t):""})),isFeedbackEnabledForEmail:Ember.computed.reads("email.feedbackEnabled"),isPublic:Ember.computed("visibility",(function(){return"public"===this.visibility})),visibilitySegment:Ember.computed("visibility","isPublic","tiers",(function(){if(this.isPublic)return"paid"===this.settings.defaultContentVisibility?"status:-free":"status:free,status:-free"
|
|
3270
3274
|
if("members"===this.visibility)return"status:free,status:-free"
|
|
3271
3275
|
if("paid"===this.visibility)return"status:-free"
|
|
@@ -3281,11 +3285,16 @@ e.removeObjects(t),t.invoke("deleteRecord")},isAuthoredByUser(e){return this.aut
|
|
|
3281
3285
|
return e.get("isNew")||!s?-1:t.get("isNew")||!o?1:(i=Ember.compare(e.get("id"),t.get("id")),n=function(e,t){let i=e.get("status"),r=t.get("status")
|
|
3282
3286
|
return i||r?!i&&r?-1:!r&&i?1:"scheduled"!==i||"draft"!==r&&"published"!==r?"scheduled"!==r||"draft"!==i&&"published"!==i?Ember.compare(i.valueOf(),r.valueOf()):1:-1:0}(e,t),a=Ember.compare(s.valueOf(),o.valueOf()),r=function(e,t){let i=e.get("publishedAtUTC"),r=t.get("publishedAtUTC")
|
|
3283
3287
|
return i||r?!i&&r?-1:!r&&i?1:Ember.compare(i.valueOf(),r.valueOf()):0}(e,t),0===n?0===r?0===a?-1*i:-1*a:-1*r:n)},beforeSave(){let e=this.publishedAtBlogTZ,t=e?e.utc():null
|
|
3284
|
-
this.set("publishedAtUTC",t)}
|
|
3288
|
+
this.set("publishedAtUTC",t)},save(){const[e]=this.changedAttributes().status||[]
|
|
3289
|
+
return this._super(...arguments).then((t=>("published"!==this.status&&"published"!==e||this.search.expireContent(),t)))}})})),define("ghost-admin/models/role",["exports","@ember-data/model"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3285
3290
|
e.default=t.default.extend({name:(0,t.attr)("string"),description:(0,t.attr)("string"),createdAtUTC:(0,t.attr)("moment-utc"),updatedAtUTC:(0,t.attr)("moment-utc"),createdBy:(0,t.attr)("number"),updatedBy:(0,t.attr)("number"),lowerCaseName:Ember.computed("name",(function(){return(this.name||"").toLocaleLowerCase()}))})})),define("ghost-admin/models/setting",["exports","@ember-data/model","ghost-admin/mixins/validation-engine"],(function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3286
3291
|
e.default=t.default.extend(i.default,{validationType:"setting",title:(0,t.attr)("string"),description:(0,t.attr)("string"),logo:(0,t.attr)("string"),coverImage:(0,t.attr)("string"),icon:(0,t.attr)("string"),accentColor:(0,t.attr)("string"),locale:(0,t.attr)("string"),timezone:(0,t.attr)("string",{defaultValue:"Etc/UTC"}),codeinjectionHead:(0,t.attr)("string"),codeinjectionFoot:(0,t.attr)("string"),facebook:(0,t.attr)("facebook-url-user"),twitter:(0,t.attr)("twitter-url-user"),labs:(0,t.attr)("string"),navigation:(0,t.attr)("navigation-settings"),secondaryNavigation:(0,t.attr)("navigation-settings",{isSecondary:!0}),isPrivate:(0,t.attr)("boolean"),publicHash:(0,t.attr)("string"),password:(0,t.attr)("string"),slackUrl:(0,t.attr)("string"),slackUsername:(0,t.attr)("string"),amp:(0,t.attr)("boolean"),ampGtagId:(0,t.attr)("string"),firstpromoter:(0,t.attr)("boolean"),firstpromoterId:(0,t.attr)("string"),unsplash:(0,t.attr)("boolean"),metaTitle:(0,t.attr)("string"),metaDescription:(0,t.attr)("string"),twitterTitle:(0,t.attr)("string"),twitterDescription:(0,t.attr)("string"),twitterImage:(0,t.attr)("string"),ogTitle:(0,t.attr)("string"),ogDescription:(0,t.attr)("string"),ogImage:(0,t.attr)("string"),mailgunApiKey:(0,t.attr)("string"),mailgunDomain:(0,t.attr)("string"),mailgunBaseUrl:(0,t.attr)("string"),portalButton:(0,t.attr)("boolean"),portalName:(0,t.attr)("boolean"),portalPlans:(0,t.attr)("json-string"),portalProducts:(0,t.attr)("json-string"),portalButtonStyle:(0,t.attr)("string"),portalButtonIcon:(0,t.attr)("string"),portalButtonSignupText:(0,t.attr)("string"),portalSignupTermsHtml:(0,t.attr)("string"),portalSignupCheckboxRequired:(0,t.attr)("boolean"),sharedViews:(0,t.attr)("string"),announcementContent:(0,t.attr)("string"),announcementBackground:(0,t.attr)("string"),announcementVisibility:(0,t.attr)("json-string"),emailTrackOpens:(0,t.attr)("boolean"),emailTrackClicks:(0,t.attr)("boolean"),outboundLinkTagging:(0,t.attr)("boolean"),membersTrackSources:(0,t.attr)("boolean"),membersSignupAccess:(0,t.attr)("string"),defaultContentVisibility:(0,t.attr)("string"),defaultContentVisibilityTiers:(0,t.attr)("json-string"),membersSupportAddress:(0,t.attr)("string"),membersMonthlyPriceId:(0,t.attr)("string"),membersYearlyPriceId:(0,t.attr)("string"),stripeSecretKey:(0,t.attr)("string"),stripePublishableKey:(0,t.attr)("string"),stripePlans:(0,t.attr)("json-string"),stripeConnectIntegrationToken:(0,t.attr)("string"),stripeConnectPublishableKey:(0,t.attr)("string"),stripeConnectSecretKey:(0,t.attr)("string"),stripeConnectLivemode:(0,t.attr)("boolean"),stripeConnectDisplayName:(0,t.attr)("string"),stripeConnectAccountId:(0,t.attr)("string"),membersEnabled:(0,t.attr)("boolean"),paidMembersEnabled:(0,t.attr)("boolean"),membersInviteOnly:(0,t.attr)("boolean"),commentsEnabled:(0,t.attr)(),editorDefaultEmailRecipients:(0,t.attr)("string"),editorDefaultEmailRecipientsFilter:(0,t.attr)("members-segment-string"),emailVerificationRequired:(0,t.attr)("boolean"),pintura:(0,t.attr)("boolean"),pinturaJsUrl:(0,t.attr)("string"),pinturaCssUrl:(0,t.attr)("string"),donationsEnabled:(0,t.attr)("boolean"),donationsCurrency:(0,t.attr)("string"),donationsSuggestedAmount:(0,t.attr)("number"),recommendationsEnabled:(0,t.attr)("boolean"),defaultEmailAddress:(0,t.attr)("string"),supportEmailAddress:(0,t.attr)("string"),_meta:(0,t.attr)()})})),define("ghost-admin/models/snippet",["exports","@ember-data/model","ghost-admin/mixins/validation-engine"],(function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3287
3292
|
e.default=t.default.extend(i.default,{validationType:"snippet",name:(0,t.attr)("string"),mobiledoc:(0,t.attr)("json-string"),lexical:(0,t.attr)("json-string"),createdAtUTC:(0,t.attr)("moment-utc"),updatedAtUTC:(0,t.attr)("moment-utc")})})),define("ghost-admin/models/tag",["exports","@ember-data/model","ghost-admin/mixins/validation-engine"],(function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3288
|
-
e.default=t.default.extend(i.default,{validationType:"tag",name:(0,t.attr)("string"),slug:(0,t.attr)("string"),description:(0,t.attr)("string"),metaTitle:(0,t.attr)("string"),metaDescription:(0,t.attr)("string"),twitterImage:(0,t.attr)("string"),twitterTitle:(0,t.attr)("string"),twitterDescription:(0,t.attr)("string"),ogImage:(0,t.attr)("string"),ogTitle:(0,t.attr)("string"),ogDescription:(0,t.attr)("string"),codeinjectionHead:(0,t.attr)("string"),codeinjectionFoot:(0,t.attr)("string"),canonicalUrl:(0,t.attr)("string"),accentColor:(0,t.attr)("string"),featureImage:(0,t.attr)("string"),visibility:(0,t.attr)("string",{defaultValue:"public"}),createdAtUTC:(0,t.attr)("moment-utc"),updatedAtUTC:(0,t.attr)("moment-utc"),createdBy:(0,t.attr)("number"),updatedBy:(0,t.attr)("number"),count:(0,t.attr)("raw"),isInternal:Ember.computed.equal("visibility","internal"),isPublic:Ember.computed.equal("visibility","public"),feature:Ember.inject.service(),updateVisibility(){this.set("visibility",/^#.?/.test(this.name)?"internal":"public")},save(){
|
|
3293
|
+
e.default=t.default.extend(i.default,{search:Ember.inject.service(),validationType:"tag",name:(0,t.attr)("string"),slug:(0,t.attr)("string"),url:(0,t.attr)("string"),description:(0,t.attr)("string"),metaTitle:(0,t.attr)("string"),metaDescription:(0,t.attr)("string"),twitterImage:(0,t.attr)("string"),twitterTitle:(0,t.attr)("string"),twitterDescription:(0,t.attr)("string"),ogImage:(0,t.attr)("string"),ogTitle:(0,t.attr)("string"),ogDescription:(0,t.attr)("string"),codeinjectionHead:(0,t.attr)("string"),codeinjectionFoot:(0,t.attr)("string"),canonicalUrl:(0,t.attr)("string"),accentColor:(0,t.attr)("string"),featureImage:(0,t.attr)("string"),visibility:(0,t.attr)("string",{defaultValue:"public"}),createdAtUTC:(0,t.attr)("moment-utc"),updatedAtUTC:(0,t.attr)("moment-utc"),createdBy:(0,t.attr)("number"),updatedBy:(0,t.attr)("number"),count:(0,t.attr)("raw"),isInternal:Ember.computed.equal("visibility","internal"),isPublic:Ember.computed.equal("visibility","public"),feature:Ember.inject.service(),updateVisibility(){this.set("visibility",/^#.?/.test(this.name)?"internal":"public")},save(){const e=!!this.changedAttributes().name
|
|
3294
|
+
e&&!this.isDeleted&&this.updateVisibility()
|
|
3295
|
+
const{url:t}=this
|
|
3296
|
+
return this._super(...arguments).then((i=>{const r=t!==i.url
|
|
3297
|
+
return(e||r||this.isDeleted)&&this.search.expireContent(),i}))}})})),define("ghost-admin/models/theme",["exports","@ember-data/model"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3289
3298
|
e.default=t.default.extend({active:(0,t.attr)("boolean"),gscanErrors:(0,t.attr)("raw",{defaultValue:()=>[]}),name:(0,t.attr)("string"),package:(0,t.attr)("raw"),templates:(0,t.attr)("raw",{defaultValue:()=>[]}),warnings:(0,t.attr)("raw",{defaultValue:()=>[]}),customTemplates:Ember.computed("templates.[]",(function(){return(this.templates||[]).filter((function(e){return Ember.isBlank(e.slug)}))})),slugTemplates:Ember.computed("templates.[]",(function(){return(this.templates||[]).filter((function(e){return!Ember.isBlank(e.slug)}))})),codedWarnings:Ember.computed("warnings.[]",(function(){const e={}
|
|
3290
3299
|
return this.warnings.forEach((t=>{e[t.code]||(e[t.code]=[]),e[t.code].push(t)})),e})),codedErrors:Ember.computed("gscanErrors.[]",(function(){const e={}
|
|
3291
3300
|
return this.gscanErrors.forEach((t=>{e[t.code]||(e[t.code]=[]),e[t.code].push(t)})),e})),codedErrorsAndWarnings:Ember.computed("codedErrors.[]","codedWarnings.[]",(function(){const e={}
|
|
@@ -3295,11 +3304,13 @@ e.default=Ember.Object.extend(t.default,{name:"",isNew:!1,validationType:"tierBe
|
|
|
3295
3304
|
return!Ember.isBlank(e)})),isBlank:Ember.computed("name",(function(){let{name:e}=this
|
|
3296
3305
|
return Ember.isBlank(e)}))})})),define("ghost-admin/models/tier",["exports","@ember-data/model","ghost-admin/mixins/validation-engine"],(function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3297
3306
|
e.default=t.default.extend(i.default,{validationType:"tier",name:(0,t.attr)("string"),description:(0,t.attr)("string"),active:(0,t.attr)("boolean"),slug:(0,t.attr)("string"),welcomePageURL:(0,t.attr)("string"),visibility:(0,t.attr)("string",{defaultValue:"none"}),type:(0,t.attr)("string",{defaultValue:"paid"}),currency:(0,t.attr)("string"),monthlyPrice:(0,t.attr)("number"),yearlyPrice:(0,t.attr)("number"),trialDays:(0,t.attr)("number",{defaultValue:0}),benefits:(0,t.attr)("tier-benefits")})})),define("ghost-admin/models/user",["exports","ghost-admin/models/base","ghost-admin/mixins/validation-engine","ghost-admin/config/environment","@ember-data/model","ghost-admin/decorators/inject","ember-concurrency"],(function(e,t,i,r,n,a,s){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3298
|
-
e.default=t.default.extend(i.default,{validationType:"user",name:(0,n.attr)("string"),slug:(0,n.attr)("string"),email:(0,n.attr)("string"),profileImage:(0,n.attr)("string"),coverImage:(0,n.attr)("string"),bio:(0,n.attr)("string"),website:(0,n.attr)("string"),location:(0,n.attr)("string"),accessibility:(0,n.attr)("string"),status:(0,n.attr)("string"),metaTitle:(0,n.attr)("string"),metaDescription:(0,n.attr)("string"),lastLoginUTC:(0,n.attr)("moment-utc"),createdAtUTC:(0,n.attr)("moment-utc"),createdBy:(0,n.attr)("number"),updatedAtUTC:(0,n.attr)("moment-utc"),updatedBy:(0,n.attr)("number"),roles:(0,n.hasMany)("role",{embedded:"always",async:!1}),count:(0,n.attr)("raw"),facebook:(0,n.attr)("facebook-url-user"),twitter:(0,n.attr)("twitter-url-user"),tour:(0,n.attr)("json-string"),commentNotifications:(0,n.attr)(),freeMemberSignupNotification:(0,n.attr)(),paidSubscriptionStartedNotification:(0,n.attr)(),paidSubscriptionCanceledNotification:(0,n.attr)(),mentionNotifications:(0,n.attr)(),milestoneNotifications:(0,n.attr)(),donationNotifications:(0,n.attr)(),
|
|
3307
|
+
e.default=t.default.extend(i.default,{ajax:Ember.inject.service(),ghostPaths:Ember.inject.service(),notifications:Ember.inject.service(),search:Ember.inject.service(),session:Ember.inject.service(),config:(0,a.inject)(),validationType:"user",name:(0,n.attr)("string"),slug:(0,n.attr)("string"),url:(0,n.attr)("string"),email:(0,n.attr)("string"),profileImage:(0,n.attr)("string"),coverImage:(0,n.attr)("string"),bio:(0,n.attr)("string"),website:(0,n.attr)("string"),location:(0,n.attr)("string"),accessibility:(0,n.attr)("string"),status:(0,n.attr)("string"),metaTitle:(0,n.attr)("string"),metaDescription:(0,n.attr)("string"),lastLoginUTC:(0,n.attr)("moment-utc"),createdAtUTC:(0,n.attr)("moment-utc"),createdBy:(0,n.attr)("number"),updatedAtUTC:(0,n.attr)("moment-utc"),updatedBy:(0,n.attr)("number"),roles:(0,n.hasMany)("role",{embedded:"always",async:!1}),count:(0,n.attr)("raw"),facebook:(0,n.attr)("facebook-url-user"),twitter:(0,n.attr)("twitter-url-user"),tour:(0,n.attr)("json-string"),commentNotifications:(0,n.attr)(),freeMemberSignupNotification:(0,n.attr)(),paidSubscriptionStartedNotification:(0,n.attr)(),paidSubscriptionCanceledNotification:(0,n.attr)(),mentionNotifications:(0,n.attr)(),milestoneNotifications:(0,n.attr)(),donationNotifications:(0,n.attr)(),isContributor:Ember.computed.equal("role.name","Contributor"),isAuthor:Ember.computed.equal("role.name","Author"),isEditor:Ember.computed.equal("role.name","Editor"),isAdminOnly:Ember.computed.equal("role.name","Administrator"),isOwnerOnly:Ember.computed.equal("role.name","Owner"),isAdmin:Ember.computed.or("isOwnerOnly","isAdminOnly"),isAuthorOrContributor:Ember.computed.or("isAuthor","isContributor"),isLoggedIn:Ember.computed("id","session.user.id",(function(){return this.id===this.get("session.user.id")})),isActive:Ember.computed("status",(function(){return["active","warn-1","warn-2","warn-3","warn-4","locked"].indexOf(this.status)>-1})),isSuspended:Ember.computed.equal("status","inactive"),isLocked:Ember.computed.equal("status","locked"),role:Ember.computed("roles",{get(){return this.get("roles.firstObject")},set(e,t){return this.roles.clear(),this.roles.pushObject(t),t}}),profileImageUrl:Ember.computed("ghostPaths.assetRoot","profileImage",(function(){let e=(r.default.cdnUrl?"":this.ghostPaths.assetRoot.replace(/\/$/,""))+"/img/user-image-639a88b784fb5f10964be8b975ca9fdf.png"
|
|
3299
3308
|
return this.profileImage||e})),coverImageUrl:Ember.computed("ghostPaths.assetRoot","coverImage",(function(){let e=(r.default.cdnUrl?"":this.ghostPaths.assetRoot.replace(/\/$/,""))+"/img/user-cover-e8f42b12b5fcba292a8b5dfa81e13dd2.png"
|
|
3300
3309
|
return this.coverImage||e})),saveNewPasswordTask:(0,s.task)((function*(){const e=this.isLoggedIn?"ownPasswordChange":"passwordChange"
|
|
3301
3310
|
try{yield this.validate({property:e})}catch(t){return}try{let e=this.ghostPaths.url.api("users","password")
|
|
3302
|
-
return yield this.ajax.put(e,{data:{password:[{user_id:this.id,oldPassword:this.password,newPassword:this.newPassword,ne2Password:this.ne2Password}]}}),this.password="",this.newPassword="",this.ne2Password="",this.notifications.showNotification("Password updated",{type:"success",key:"user.change-password.success"}),this.errors.remove("ne2Password"),!0}catch(i){this.notifications.showAPIError(i,{key:"user.change-password"})}})).drop()
|
|
3311
|
+
return yield this.ajax.put(e,{data:{password:[{user_id:this.id,oldPassword:this.password,newPassword:this.newPassword,ne2Password:this.ne2Password}]}}),this.password="",this.newPassword="",this.ne2Password="",this.notifications.showNotification("Password updated",{type:"success",key:"user.change-password.success"}),this.errors.remove("ne2Password"),!0}catch(i){this.notifications.showAPIError(i,{key:"user.change-password"})}})).drop(),save(){const e=!!this.changedAttributes().name,{url:t}=this
|
|
3312
|
+
return this._super(...arguments).then((i=>{const r=t!==i.url
|
|
3313
|
+
return(e||r||this.isDeleted)&&this.search.expireContent(),i}))}})})),define("ghost-admin/models/webhook",["exports","@ember-data/model","ghost-admin/mixins/validation-engine"],(function(e,t,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3303
3314
|
e.default=t.default.extend(i.default,{validationType:"webhook",name:(0,t.attr)("string"),event:(0,t.attr)("string"),targetUrl:(0,t.attr)("string"),secret:(0,t.attr)("string"),lastTriggeredAtUTC:(0,t.attr)("moment-utc"),createdAtUTC:(0,t.attr)("moment-utc"),createdBy:(0,t.attr)("number"),updatedAtUTC:(0,t.attr)("moment-utc"),updatedBy:(0,t.attr)("number"),integration:(0,t.belongsTo)("integration")})})),define("ghost-admin/modifiers/autofocus",["exports","ember-modifier"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3304
3315
|
e.default=(0,t.modifier)((e=>e.focus()),{eager:!1})})),define("ghost-admin/modifiers/autoplay",["exports","ember-modifier"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3305
3316
|
e.default=(0,t.modifier)((e=>{e.muted=!0,e.play()}),{eager:!1})}))
|
|
@@ -3771,7 +3782,7 @@ if("object"!=typeof r)return r
|
|
|
3771
3782
|
throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
|
|
3772
3783
|
return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3773
3784
|
class n extends t.default{constructor(...e){super(...e),r(this,"attrs",{createdAtUTC:{key:"created_at"},updatedAtUTC:{key:"updated_at"}})}serialize(){let e=super.serialize(...arguments)
|
|
3774
|
-
return delete e.count,e}normalizeResponse(e,t,r,n,a){if("queryRecord"===a){let e=t.modelName,n=(0,i.pluralize)(e)
|
|
3785
|
+
return delete e.count,delete e.url,e}normalizeResponse(e,t,r,n,a){if("queryRecord"===a){let e=t.modelName,n=(0,i.pluralize)(e)
|
|
3775
3786
|
r[n]&&(r[e]=r[n][0],delete r[n])}return super.normalizeResponse(...arguments)}}e.default=n})),define("ghost-admin/serializers/theme",["exports","ghost-admin/serializers/application"],(function(e,t){function i(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
|
|
3776
3787
|
var i=e[Symbol.toPrimitive]
|
|
3777
3788
|
if(void 0!==i){var r=i.call(e,t||"default")
|
|
@@ -3787,7 +3798,8 @@ if("object"!=typeof r)return r
|
|
|
3787
3798
|
throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
|
|
3788
3799
|
return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3789
3800
|
class a extends(t.default.extend(i.EmbeddedRecordsMixin)){constructor(...e){super(...e),n(this,"attrs",{roles:{embedded:"always"},lastLoginUTC:{key:"last_seen"},createdAtUTC:{key:"created_at"},updatedAtUTC:{key:"updated_at"}})}extractSingle(e,t,i){let n=this.keyForAttribute(t.modelName),a=(0,r.pluralize)(t.modelName)
|
|
3790
|
-
return i[n]=i[a][0],delete i[a],super.extractSingle(...arguments)}
|
|
3801
|
+
return i[n]=i[a][0],delete i[a],super.extractSingle(...arguments)}serialize(){const e=super.serialize(...arguments)
|
|
3802
|
+
return delete e.url,e}}e.default=a})),define("ghost-admin/serializers/webhook",["exports","ghost-admin/serializers/application"],(function(e,t){function i(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
|
|
3791
3803
|
var i=e[Symbol.toPrimitive]
|
|
3792
3804
|
if(void 0!==i){var r=i.call(e,t||"default")
|
|
3793
3805
|
if("object"!=typeof r)return r
|
|
@@ -4260,25 +4272,25 @@ t.completedSteps.push(e),await this._saveSettings(t)}async reset(){await this._s
|
|
|
4260
4272
|
t.onboarding=e,this.session.user.accessibility=JSON.stringify(t),await this.session.user.save()}},d=h(u.prototype,"feature",[t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=h(u.prototype,"session",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h(u.prototype,"startChecklist",[r],Object.getOwnPropertyDescriptor(u.prototype,"startChecklist"),u.prototype),h(u.prototype,"completeChecklist",[n],Object.getOwnPropertyDescriptor(u.prototype,"completeChecklist"),u.prototype),h(u.prototype,"dismissChecklist",[a],Object.getOwnPropertyDescriptor(u.prototype,"dismissChecklist"),u.prototype),h(u.prototype,"isStepCompleted",[s],Object.getOwnPropertyDescriptor(u.prototype,"isStepCompleted"),u.prototype),h(u.prototype,"markStepCompleted",[o],Object.getOwnPropertyDescriptor(u.prototype,"markStepCompleted"),u.prototype),h(u.prototype,"reset",[l],Object.getOwnPropertyDescriptor(u.prototype,"reset"),u.prototype),u)})),define("ghost-admin/services/power-calendar",["exports","ember-power-calendar/services/power-calendar"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/resize-detector",["exports","element-resize-detector"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
4261
4273
|
class i extends Ember.Service{constructor(){super(...arguments),this.detector=(0,t.default)({strategy:"scroll"})}setup(e,t){const i="string"==typeof e?document.querySelector(e):e
|
|
4262
4274
|
i||console.error(`service:resize-detector - could not find element matching ${e}`),this.detector.listenTo(i,t)}teardown(e,t){const i="string"==typeof e?document.querySelector(e):e
|
|
4263
|
-
i&&this.detector.removeListener(i,t)}}e.default=i})),define("ghost-admin/services/search",["exports","ember-inflector","ember-concurrency"],(function(e,t,i){var r,n,a,s,o,l,u,d,c
|
|
4264
|
-
function
|
|
4275
|
+
i&&this.detector.removeListener(i,t)}}e.default=i})),define("ghost-admin/services/search",["exports","ember-inflector","ember-concurrency"],(function(e,t,i){var r,n,a,s,o,l,u,d,c,p
|
|
4276
|
+
function m(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function h(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
|
|
4265
4277
|
var i=e[Symbol.toPrimitive]
|
|
4266
4278
|
if(void 0!==i){var r=i.call(e,t||"default")
|
|
4267
4279
|
if("object"!=typeof r)return r
|
|
4268
4280
|
throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
|
|
4269
|
-
return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function
|
|
4281
|
+
return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function b(e,t,i,r,n){var a={}
|
|
4270
4282
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
4271
|
-
e.default=(r=Ember.inject.service,n=Ember.inject.service,a=Ember.inject.service,s=(0,i.task)({restartable:!0}),
|
|
4283
|
+
e.default=(r=Ember.inject.service,n=Ember.inject.service,a=Ember.inject.service,s=Ember._action,o=(0,i.task)({restartable:!0}),l=(0,i.task)({drop:!0}),u=class extends Ember.Service{constructor(...e){super(...e),m(this,"ajax",d,this),m(this,"notifications",c,this),m(this,"store",p,this),h(this,"content",[]),h(this,"isContentStale",!0),h(this,"searchables",[{name:"Staff",model:"user",fields:["id","slug","url","name"],idField:"slug",titleField:"name"},{name:"Tags",model:"tag",fields:["slug","url","name"],idField:"slug",titleField:"name"},{name:"Posts",model:"post",fields:["id","url","title","status","published_at","visibility"],idField:"id",titleField:"title"},{name:"Pages",model:"page",fields:["id","url","title","status","published_at","visibility"],idField:"id",titleField:"title"}])}expireContent(){this.isContentStale=!0}*searchTask(e){if(Ember.isBlank(e))return[]
|
|
4272
4284
|
this.refreshContentTask.perform(),yield(0,i.timeout)(200),this.refreshContentTask.isRunning&&(yield this.refreshContentTask.lastRunning)
|
|
4273
4285
|
return this._searchContent(e)}_searchContent(e){const t=e.toString().toLowerCase(),i=[]
|
|
4274
4286
|
return this.searchables.forEach((e=>{const r=this.content.filter((i=>{const r=i.title.toString().toLowerCase()
|
|
4275
4287
|
return i.groupName===e.name&&r.indexOf(t)>=0}))
|
|
4276
|
-
Ember.isEmpty(r)||i.push({groupName:e.name,options:r})})),i}*refreshContentTask(){
|
|
4277
|
-
|
|
4288
|
+
Ember.isEmpty(r)||i.push({groupName:e.name,options:r})})),i}*refreshContentTask({forceRefresh:e=!1}={}){if(!e&&!this.isContentStale)return!0
|
|
4289
|
+
this.isContentStale=!0
|
|
4278
4290
|
const t=[],i=this.searchables.map((e=>this._loadSearchable(e,t)))
|
|
4279
|
-
try{yield Ember.RSVP.all(i),this.content=t}catch(r){console.error(r)}this.
|
|
4280
|
-
try{const a=(await this.ajax.request(r,{data:n}))[(0,t.pluralize)(e.model)].map((t=>({id:`${e.model}.${t[e.idField]}`,url:t.url,title:t[e.titleField],groupName:e.name,status:t.status})))
|
|
4281
|
-
i.push(...a)}catch(a){console.error(a),this.notifications.showAPIError(a,{key:`search.load${e.name}.error`})}}},
|
|
4291
|
+
try{yield Ember.RSVP.all(i),this.content=t}catch(r){console.error(r)}this.isContentStale=!1}async _loadSearchable(e,i){const r=`${this.store.adapterFor(e.model).urlForQuery({},e.model)}/`,n={fields:e.fields,limit:"10000"}
|
|
4292
|
+
try{const a=(await this.ajax.request(r,{data:n}))[(0,t.pluralize)(e.model)].map((t=>({id:`${e.model}.${t[e.idField]}`,url:t.url,title:t[e.titleField],groupName:e.name,status:t.status,visibility:t.visibility,publishedAt:t.published_at})))
|
|
4293
|
+
i.push(...a)}catch(a){console.error(a),this.notifications.showAPIError(a,{key:`search.load${e.name}.error`})}}},d=b(u.prototype,"ajax",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=b(u.prototype,"notifications",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=b(u.prototype,"store",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b(u.prototype,"expireContent",[s],Object.getOwnPropertyDescriptor(u.prototype,"expireContent"),u.prototype),b(u.prototype,"searchTask",[o],Object.getOwnPropertyDescriptor(u.prototype,"searchTask"),u.prototype),b(u.prototype,"refreshContentTask",[l],Object.getOwnPropertyDescriptor(u.prototype,"refreshContentTask"),u.prototype),u)})),define("ghost-admin/services/session",["exports","ember-simple-auth/services/session","@sentry/ember","ghost-admin/utils/analytics","ghost-admin/decorators/inject","ember-concurrency"],(function(e,t,i,r,n,a){var s,o,l,u,d,c,p,m,h,b,f,g,v,y,w,E,k,P,O,_,j,T,z,x,S,C,M,D,A,L,I
|
|
4282
4294
|
function N(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function R(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e
|
|
4283
4295
|
var i=e[Symbol.toPrimitive]
|
|
4284
4296
|
if(void 0!==i){var r=i.call(e,t||"default")
|
|
@@ -4666,4 +4678,4 @@ e.default=t.default.create({properties:["name","event","targetUrl","secret"],nam
|
|
|
4666
4678
|
e.default=Ember.Component.extend({})})),define("ghost-admin/config/environment",[],(function(){try{var e="ghost-admin/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),i={default:JSON.parse(decodeURIComponent(t))}
|
|
4667
4679
|
return Object.defineProperty(i,"__esModule",{value:!0}),i}catch(r){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("ghost-admin/app").default.create({version:"5.82",name:"ghost-admin"})
|
|
4668
4680
|
|
|
4669
|
-
//# sourceMappingURL=ghost-
|
|
4681
|
+
//# sourceMappingURL=ghost-5859a2a639db5ff866db10674a514d06.map
|