Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,10 @@
if (eventsLength >= limits.event_limit) {
eventLimit.message = CV.i18n("events.max-event-key-limit", limits.event_limit);
eventLimit.show = true;
eventLimit.goTo = {
title: CV.i18n("common.go-to-settings"),
url: "#/manage/configurations/api"
};
limitAlert.push(eventLimit);
}
if (!context.state.selectedEventName.startsWith('[CLY]_group')) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
</div>
<div class="bu-column bu-is-9">
<div class="bu-mr-5 cly-vue-events-alerts" v-for="item in limitAlerts" :key="item" :value="item">
<cly-notification v-if="item.show" class="bu-mb-5 cly-vue-events-all__alerts" :text="item.message" color="light-warning">
<cly-notification v-if="item.show" class="bu-mb-5 cly-vue-events-all__alerts" :text="item.message" :goTo="item.goTo" color="light-warning">
</cly-notification>
</div>
<div class="cly-vue-events-all" v-if="!groupData.isGroup" data-test-id="event-title">
Expand Down
12 changes: 9 additions & 3 deletions frontend/express/public/javascripts/countly/countly.helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,7 @@
payload.autoHide = !msg.sticky;
payload.id = msg.id;
payload.width = msg.width;
payload.goTo = msg.goTo;
var colorToUse;

if (countlyGlobal.ssr) {
Expand Down Expand Up @@ -393,9 +394,14 @@
* title is the text that will be dispalyed for the backlink url.
*/
CountlyHelpers.goTo = function(options) {
app.backlinkUrl = options.from;
app.backlinkTitle = options.title;
window.location.hash = options.url;
if (options.isExternalLink) {
window.open(options.url, '_blank', 'noopener,noreferrer');
}
else {
app.backlinkUrl = options.from;
app.backlinkTitle = options.title;
window.location.hash = options.url;
}
};

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,11 @@
CountlyHelpers.notify({
message: CV.i18n("assistant.taskmanager.longTaskAlreadyRunning.title") + " " + CV.i18n("assistant.taskmanager.longTaskAlreadyRunning.message"),
info: CV.i18n("assistant.taskmanager.longTaskTooLong.info"),
type: "info"
type: "info",
goTo: {
title: CV.i18n("common.go-to-task-manager"),
url: "#/manage/tasks"
}
});
},
completed: function(fetchedTasks) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -986,33 +986,35 @@
:class="dynamicClasses"
>
<div class="bu-is-flex bu-is-justify-content-space-between bu-p-3">
<div class="bu-is-flex">
<div class="bu-is-flex" style="width:100%">
<img
class="alert-image bu-mr-3"
data-test-id="cly-notification-img"
:src="image"
>
<slot>
<div :style="dynamicStyle">
<slot>
<span
class="alert-text"
data-test-id="cly-notification-text"
style="margin-block:auto"
v-html="innerText"
>
{{ text }}
</span>
</slot>
<span
class="alert-text"
data-test-id="cly-notification-text"
style="margin-block:auto"
v-html="innerText"
v-if="goTo.title"
class="bu-is-flex cursor-pointer"
>
{{ text }}
<a
class="bu-level-item bu-has-text-link bu-has-text-weight-medium"
@click="goToUrl"
>
{{ goTo.title }}
</a>
</span>
</slot>
</div>
<div
v-if="goTo.title"
class="bu-is-flex bu-ml-auto"
>
<a
class="bu-level-item bu-has-text-link bu-has-text-weight-medium"
@click="goToUrl"
>
{{ goTo.title }}
</a>
</div>
</div>
<div v-if="closable">
<div
Expand Down Expand Up @@ -1050,6 +1052,7 @@
type: Object
},
customWidth: { default: "", type: String },
toast: { default: false, type: Boolean }
},
data: function() {
return {
Expand Down Expand Up @@ -1112,6 +1115,20 @@
return this.text;
}
return "";
},
dynamicStyle: function() {
let style = {
"display": "flex",
"flex-direction": this.toast ? "column" : "row",
"width": "100%"
};
if (this.toast) {
style.gap = "5px";
}
else {
style["justify-content"] = "space-between";
}
return style;
}
},
methods: {
Expand Down
2 changes: 1 addition & 1 deletion frontend/express/public/javascripts/countly/vue/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -713,7 +713,7 @@

var NotificationToastsView = {
template: '<div class="notification-toasts"> \
<cly-notification v-for="(toast) in notificationToasts" :key="toast.id" :id="toast.id" :text="toast.text" :autoHide="toast.autoHide" :color="toast.color" :closable="true" :customWidth="toast.width" @close="onClose" class="notification-toasts__item"></cly-notification>\
<cly-notification v-for="(toast) in notificationToasts" :key="toast.id" :id="toast.id" :text="toast.text" :goTo="toast.goTo" :autoHide="toast.autoHide" :color="toast.color" :closable="true" :customWidth="toast.width" :toast="true" @close="onClose" class="notification-toasts__item"></cly-notification>\
</div>',
store: _vuex.getGlobalStore(),
computed: {
Expand Down
25 changes: 14 additions & 11 deletions frontend/express/public/localization/dashboard/dashboard.properties
Original file line number Diff line number Diff line change
Expand Up @@ -233,8 +233,8 @@ common.custom-events = Custom Events
common.none = None
common.emtpy-view-title = ...hmm, seems empty here
common.emtpy-view-subtitle = No data found
common.no-widget-text = Add a widget to create dashboard and see <br/> some informative explanation
common.no-dashboard-text = Create dashboard and see<br/> some informative explanation
common.no-widget-text = Add a widget to create dashboard and see some informative explanation
common.no-dashboard-text = Create dashboard and see some informative explanation
common.create-dashboard = + Create a Dashboard
common.add-widget = + Add a Widget
common.sunday = Sunday
Expand All @@ -257,6 +257,9 @@ common.select-all-with-count = Select all {0}
common.deselect = Deselect
common.session = Session
common.sessions = Sessions
common.go-to-settings = Go to settings
common.go-to-app-settings = Go to application management
common.go-to-task-manager = Go to Task Manager

#vue
common.undo = Undo
Expand Down Expand Up @@ -348,7 +351,7 @@ assistant.taskmanager.longTaskTooLong.title = This request is running for too lo
assistant.taskmanager.longTaskTooLong.message = We have switched it to report manager and will notify you when it is finished.
assistant.taskmanager.longTaskTooLong.info = Check its status in Utilities -> Report Manager
assistant.taskmanager.longTaskAlreadyRunning.title = A similar report is already running.
assistant.taskmanager.longTaskAlreadyRunning.message = Looks like report with same parameters already running in <a href='#/manage/tasks'>report manager</a>
assistant.taskmanager.longTaskAlreadyRunning.message = Looks like report with same parameters already running in report manager
assistant.taskmanager.completed.title = Report completed for {1}
assistant.taskmanager.completed.message = Results are ready for {0} reports. Check report manager to view them.
assistant.taskmanager.errored.title = Failed to generate report for {0}
Expand Down Expand Up @@ -706,9 +709,9 @@ events.top-events.24hours = 24-Hours
events.top-events.30days = 30-Days
events.top-events.yesterday = Yesterday
events.top-events.info-text = Updated {0} hrs ago
events.max-event-key-limit = Maximum limit of unique event keys ({0}) has been reached. Limit can be <a href="/dashboard#/manage/configurations/api">adjusted</a>.
events.max-segmentation-limit = Maximum limit of segmentations ({0}) in current event "{1}" has been reached. Limit can be <a href="/dashboard#/manage/configurations/api">adjusted</a>.
events.max-unique-value-limit = Maximum limit of unique values ({0}) in current event segmentation "{1}" has been reached. Limit can be <a href="/dashboard#/manage/configurations/api">adjusted</a>.
events.max-event-key-limit = Maximum limit of unique event keys ({0}) has been reached. Limit can be adjusted.
events.max-segmentation-limit = Maximum limit of segmentations ({0}) in current event "{1}" has been reached. Limit can be adjusted.
events.max-unique-value-limit = Maximum limit of unique values ({0}) in current event segmentation "{1}" has been reached. Limit can be adjusted.

events.event-group-drawer-create = Create new Event Group
events.event-group-name = Event Group name
Expand Down Expand Up @@ -799,9 +802,9 @@ management-applications.app-locked = Application is locked.
management-applications.icon-error = Only jpg, png and gif image formats are allowed
management-applications.no-app-warning = In order to start collecting data you need to add an application to your account.
management-applications.app-key-change-warning-title = Changing the App key
management-applications.app-key-change-warning = Changing the app key will cause all users from this point on to be recorded as new users even if they used your application before. <br/><br/>This action is only recommended if you are migrating an application from another server or changing the app key of a new application.
management-applications.app-key-change-warning = Changing the app key will cause all users from this point on to be recorded as new users even if they used your application before. This action is only recommended if you are migrating an application from another server or changing the app key of a new application.
management-applications.app-key-change-warning-confirm = Continue, change the app key
management-applications.app-key-change-warning-EE = Changing the app key will cause all users from this point on to be recorded as new users even if they used your application before. <br/><br/>This action is only recommended if you are migrating an application from another server or changing the app key of a new application. <br/><br/>If your intention was to change the app key to stop collecting data for this application, recommended way of doing so is using Filtering Rules plugin.
management-applications.app-key-change-warning-EE = Changing the app key will cause all users from this point on to be recorded as new users even if they used your application before. This action is only recommended if you are migrating an application from another server or changing the app key of a new application. If your intention was to change the app key to stop collecting data for this application, recommended way of doing so is using Filtering Rules plugin.
management-applications.first-app-message2 = Great\! You can now embed Countly SDK into your application and start viewing your stats instantly. Don't forget to get your App Key from above.
management-applications.types.mobile = Mobile
management-applications.checksum-salt = Salt for checksum
Expand Down Expand Up @@ -1090,7 +1093,7 @@ token_manager.table.expiration-description = Set expiration time for token
token_manager.table.purpose = Description
token_manager.table.token-description = Token Description
token_manager.table.purpose-desc = Some information to help user identify created token.
token_manager.table.endpoint-desc = You can limit token to a single or multiple endpoints.<br/>Given endpoints are interpreted as regular expressions.
token_manager.table.endpoint-desc = You can limit token to a single or multiple endpoints. Given endpoints are interpreted as regular expressions.
token_manager.table.multi-desc = Token can be used multiple times
token_manager.table.apps-title = Token Usage
token_manager.table.apps-limit = Allow token to be used only in some apps
Expand Down Expand Up @@ -1126,8 +1129,8 @@ token_manager.parameter = Parameter
token_manager.select-apps = Select Apps
token_manager.select-time-unit = Select time unit
token_manager.token-expiration-time = Expiration Time
token_manager.LoginAuthToken-description = This token is created when creating dashboard screenshots. <br/>If you are not currently rendering dashboard images, you can delete this token.
token_manager.LoggedInAuth-description = This token is used for keeping users session.<br/> Deleting it will log out user currently using it to keep session.
token_manager.LoginAuthToken-description = This token is created when creating dashboard screenshots. If you are not currently rendering dashboard images, you can delete this token.
token_manager.LoggedInAuth-description = This token is used for keeping users session. Deleting it will log out user currently using it to keep session.


version_history.page-title = Countly version history
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ alert.add-number=Add Number
alert.add-alert=Add Alert
alert.save-alert=Save Alert
alert.save=Create
alert.tips = Overview of all alerts set up. Create new alerts to receive emails when<br/> specific conditions related to metrics are met.
alert.tips = Overview of all alerts set up. Create new alerts to receive emails when specific conditions related to metrics are met.
alerts.application-tooltip= Data Points is the only data type available for your selected Application.
alerts.update-status-success = Successfully update status
alerts.save-alert-success= Alert saved
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
crashes.title = Crashes
crashes.plugin-title = Crash analytics
crashes.plugin-description = See actionable information about crashes and exceptions including which users are impacted
crashes.not-found = This crash report cannot be viewed. Possible reasons:<br/><br/>You are trying to view a crash report that you do not have access to or<br/>Link to this crash is invalid.
crashes.not-found = This crash report cannot be viewed. Possible reasons: You are trying to view a crash report that you do not have access to or the link to this crash is invalid.
crashes.search = Search for Error
crashes.all = All
crashes.show = Show
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ dashboards.duplicate-dashboard = Duplicate

dashboards.yes-delete-dashboard = Yes, delete dashboard
dashboards.delete-dashboard-title = Delete dashboard?
dashboards.delete-dashboard-text = Do you really want to delete dashboard called <b> {0} </b>?
dashboards.delete-dashboard-text = Do you really want to delete dashboard called {0} ?
dashbaords.created = Created
dashbaords.created-by = by {0}

Expand Down
4 changes: 3 additions & 1 deletion plugins/dashboards/frontend/public/templates/empty.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<div v-bind:class="[componentId, 'clyd-widget', 'cly-vue-dashboards__empty bu-is-flex bu-is-flex-direction-column bu-is-align-items-center']">
<div class="cly-vue-dashboards__empty--rounded-image"></div>
<h3>{{ i18n('common.emtpy-view-title') }}</h3>
<p class="text-medium color-cool-gray-50" v-html="i18n('common.no-widget-text')"></p>
<p class="text-medium color-cool-gray-50">
{{ i18n('common.no-widget-text') }}
</p>
</div>
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
<h3 class="bu-mt-4">{{ i18n('common.emtpy-view-title') }}</h3>
</template>
<template v-slot:subTitle>
<p class="text-medium color-cool-gray-50 bu-m-0 bu-mt-4 bu-has-text-centered" v-html="i18n('common.no-dashboard-text')"></p>
<p class="text-medium color-cool-gray-50 bu-m-0 bu-mt-4 bu-has-text-centered">
{{ i18n('common.no-dashboard-text') }}
</p>
<div class="bu-has-text-centered bu-mt-5">
<el-button type="text" size="small" @click="addDashboard">
<span class="bu-has-text-weight-medium">{{ i18n('common.create-dashboard') }}</span>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
<h3 class="bu-mt-4">{{ i18n('common.emtpy-view-title') }}</h3>
</template>
<template v-slot:subTitle v-if="canUpdate">
<p class="text-medium color-cool-gray-50 bu-m-0 bu-mt-4 bu-has-text-centered" v-html="i18n('common.no-widget-text')"></p>
<p class="text-medium color-cool-gray-50 bu-m-0 bu-mt-4 bu-has-text-centered">
{{ i18n('common.no-widget-text')}}
</p>
<div class="bu-has-text-centered bu-mt-5">
<el-button type="text" size="small" @click="newWidget">
<span class="bu-has-text-weight-medium">{{ i18n('common.add-widget') }}</span>
Expand Down
Loading
Loading