mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
notifications: Remove in_browser_notify and bootstrap-notify.
Follow up to #14768. This feature was already non-functional due to .alert-display { display: none; }, and if we want to reimplement it, we should do it using a modern library. Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
committed by
Tim Abbott
parent
aff8a32bc1
commit
d22a61443e
@@ -96,13 +96,6 @@ Copyright: 2012 Twitter, Inc
|
|||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
Comment: Bootstrap tooltip and bootstrap popover. The software has been modified.
|
Comment: Bootstrap tooltip and bootstrap popover. The software has been modified.
|
||||||
|
|
||||||
Files: static/third/bootstrap-notify/*
|
|
||||||
Copyright: 2013 Nijiko Yonskai
|
|
||||||
2012 Goodybag, Inc.
|
|
||||||
2012 Twitter, Inc
|
|
||||||
License: Apache-2.0
|
|
||||||
Comment: The software has been modified.
|
|
||||||
|
|
||||||
Files: static/generated/emoji/images/emoji/unicode/*
|
Files: static/generated/emoji/images/emoji/unicode/*
|
||||||
Copyright: Google, Inc.
|
Copyright: Google, Inc.
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
import "./common";
|
import "./common";
|
||||||
|
|
||||||
// Import third party libraries
|
// Import third party libraries
|
||||||
import "../../third/bootstrap-notify/js/bootstrap-notify";
|
|
||||||
import "../../third/bootstrap-typeahead/typeahead";
|
import "../../third/bootstrap-typeahead/typeahead";
|
||||||
import "../../third/bootstrap-tooltip/tooltip";
|
import "../../third/bootstrap-tooltip/tooltip";
|
||||||
import "../../third/bootstrap-tooltip/tooltip.css";
|
import "../../third/bootstrap-tooltip/tooltip.css";
|
||||||
@@ -30,7 +29,6 @@ import "../zulip_test";
|
|||||||
|
|
||||||
// Import styles
|
// Import styles
|
||||||
|
|
||||||
import "../../third/bootstrap-notify/css/bootstrap-notify.css";
|
|
||||||
import "spectrum-colorpicker/spectrum.css";
|
import "spectrum-colorpicker/spectrum.css";
|
||||||
import "katex/dist/katex.css";
|
import "katex/dist/katex.css";
|
||||||
import "flatpickr/dist/flatpickr.css";
|
import "flatpickr/dist/flatpickr.css";
|
||||||
|
@@ -298,14 +298,6 @@ export function initialize() {
|
|||||||
user_status_ui.update_button();
|
user_status_ui.update_button();
|
||||||
});
|
});
|
||||||
|
|
||||||
// NOTIFICATION CLICK
|
|
||||||
|
|
||||||
$("body").on("click", ".notification", function () {
|
|
||||||
const payload = $(this).data("narrow");
|
|
||||||
ui_util.change_tab_to("#message_feed_container");
|
|
||||||
narrow.activate(payload.raw_operators, payload.opts_notif);
|
|
||||||
});
|
|
||||||
|
|
||||||
// MESSAGE EDITING
|
// MESSAGE EDITING
|
||||||
|
|
||||||
$("body").on("click", ".edit_content_button", function (e) {
|
$("body").on("click", ".edit_content_button", function (e) {
|
||||||
|
@@ -2,7 +2,6 @@ import $ from "jquery";
|
|||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
|
|
||||||
import render_compose_notification from "../templates/compose_notification.hbs";
|
import render_compose_notification from "../templates/compose_notification.hbs";
|
||||||
import render_notification from "../templates/notification.hbs";
|
|
||||||
|
|
||||||
import * as alert_words from "./alert_words";
|
import * as alert_words from "./alert_words";
|
||||||
import * as blueslip from "./blueslip";
|
import * as blueslip from "./blueslip";
|
||||||
@@ -149,36 +148,6 @@ export function is_window_focused() {
|
|||||||
return window_focused;
|
return window_focused;
|
||||||
}
|
}
|
||||||
|
|
||||||
function in_browser_notify(message, title, content, raw_operators, opts) {
|
|
||||||
const notification_html = $(
|
|
||||||
render_notification({
|
|
||||||
gravatar_url: people.small_avatar_url(message),
|
|
||||||
title,
|
|
||||||
content,
|
|
||||||
message_id: message.id,
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
|
|
||||||
$(".top-right")
|
|
||||||
.notify({
|
|
||||||
message: {
|
|
||||||
html: notification_html,
|
|
||||||
},
|
|
||||||
fadeOut: {
|
|
||||||
enabled: true,
|
|
||||||
delay: 4000,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
.show();
|
|
||||||
|
|
||||||
$(`.notification[data-message-id='${CSS.escape(message.id)}']`)
|
|
||||||
.expectOne()
|
|
||||||
.data("narrow", {
|
|
||||||
raw_operators,
|
|
||||||
opts_notif: opts,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export function notify_above_composebox(note, link_class, link_msg_id, link_text) {
|
export function notify_above_composebox(note, link_class, link_msg_id, link_text) {
|
||||||
const notification_html = $(
|
const notification_html = $(
|
||||||
render_compose_notification({
|
render_compose_notification({
|
||||||
@@ -245,8 +214,6 @@ export function process_notification(notification) {
|
|||||||
let title = message.sender_full_name;
|
let title = message.sender_full_name;
|
||||||
let msg_count = 1;
|
let msg_count = 1;
|
||||||
let notification_source;
|
let notification_source;
|
||||||
let raw_operators = [];
|
|
||||||
const opts = {trigger: "notification click"};
|
|
||||||
// Convert the content to plain text, replacing emoji with their alt text
|
// Convert the content to plain text, replacing emoji with their alt text
|
||||||
content = $("<div/>").html(message.content);
|
content = $("<div/>").html(message.content);
|
||||||
ui.replace_emoji_with_text(content);
|
ui.replace_emoji_with_text(content);
|
||||||
@@ -315,16 +282,10 @@ export function process_notification(notification) {
|
|||||||
} else {
|
} else {
|
||||||
title += " (to you)";
|
title += " (to you)";
|
||||||
}
|
}
|
||||||
|
|
||||||
raw_operators = [{operand: message.reply_to, operator: "pm-with"}];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (message.type === "stream") {
|
if (message.type === "stream") {
|
||||||
title += " (to " + message.stream + " > " + topic + ")";
|
title += " (to " + message.stream + " > " + topic + ")";
|
||||||
raw_operators = [
|
|
||||||
{operator: "stream", operand: message.stream},
|
|
||||||
{operator: "topic", operand: topic},
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (notification.desktop_notify) {
|
if (notification.desktop_notify) {
|
||||||
@@ -356,8 +317,6 @@ export function process_notification(notification) {
|
|||||||
notice_memory.delete(key);
|
notice_memory.delete(key);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
in_browser_notify(message, title, content, raw_operators, opts);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -2365,23 +2365,12 @@ div.topic_edit_spinner .loading_indicator_spinner {
|
|||||||
top: 1px;
|
top: 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notifications-gravatar img {
|
|
||||||
max-width: 25px;
|
|
||||||
max-height: 25px;
|
|
||||||
padding-left: 4px;
|
|
||||||
padding-top: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.empty_feed_notice {
|
.empty_feed_notice {
|
||||||
padding: 3em 1em;
|
padding: 3em 1em;
|
||||||
display: none;
|
display: none;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.message-fade,
|
.message-fade,
|
||||||
.user_sidebar_entry.user-fade {
|
.user_sidebar_entry.user-fade {
|
||||||
opacity: 0.4;
|
opacity: 0.4;
|
||||||
|
@@ -1,10 +0,0 @@
|
|||||||
{{! Content of in-browser notifications }}
|
|
||||||
<div class="notification" data-message-id="{{message_id}}">
|
|
||||||
<div class="notifications-gravatar">
|
|
||||||
<img src="{{gravatar_url}}" />
|
|
||||||
</div>
|
|
||||||
<div class="notifications-content">
|
|
||||||
<div class="title">{{title}}</div>
|
|
||||||
{{content}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
@@ -1,182 +0,0 @@
|
|||||||
/*!
|
|
||||||
The "bootstrap-notify" Software from "Goodybag, Inc." is:
|
|
||||||
Copyright 2013 Nijiko Yonskai @nijikokun
|
|
||||||
Copyright 2012 Goodybag, Inc.
|
|
||||||
and is provided
|
|
||||||
under the following license (the bootstrap-notify software has been modified):
|
|
||||||
|
|
||||||
Software from "Bootstrap" is Copyright (c) 2012 Twitter, Inc. and is provided
|
|
||||||
under the following license (the Bootstrap software has been modified):
|
|
||||||
--
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction, and
|
|
||||||
distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by the copyright
|
|
||||||
owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all other entities
|
|
||||||
that control, are controlled by, or are under common control with that
|
|
||||||
entity. For the purposes of this definition, "control" means (i) the power,
|
|
||||||
direct or indirect, to cause the direction or management of such entity,
|
|
||||||
whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or
|
|
||||||
more of the outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity exercising
|
|
||||||
permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications, including
|
|
||||||
but not limited to software source code, documentation source, and
|
|
||||||
configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical transformation or
|
|
||||||
translation of a Source form, including but not limited to compiled object
|
|
||||||
code, generated documentation, and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or Object form,
|
|
||||||
made available under the License, as indicated by a copyright notice that is
|
|
||||||
included in or attached to the work (an example is provided in the Appendix
|
|
||||||
below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object form, that
|
|
||||||
is based on (or derived from) the Work and for which the editorial revisions,
|
|
||||||
annotations, elaborations, or other modifications represent, as a whole, an
|
|
||||||
original work of authorship. For the purposes of this License, Derivative Works
|
|
||||||
shall not include works that remain separable from, or merely link (or bind by
|
|
||||||
name) to the interfaces of, the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including the original
|
|
||||||
version of the Work and any modifications or additions to that Work or
|
|
||||||
Derivative Works thereof, that is intentionally submitted to Licensor for
|
|
||||||
inclusion in the Work by the copyright owner or by an individual or Legal
|
|
||||||
Entity authorized to submit on behalf of the copyright owner. For the purposes
|
|
||||||
of this definition, "submitted" means any form of electronic, verbal, or
|
|
||||||
written communication sent to the Licensor or its representatives, including
|
|
||||||
but not limited to communication on electronic mailing lists, source code
|
|
||||||
control systems, and issue tracking systems that are managed by, or on behalf
|
|
||||||
of, the Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise designated in
|
|
||||||
writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
|
|
||||||
of whom a Contribution has been received by Licensor and subsequently
|
|
||||||
incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of this
|
|
||||||
License, each Contributor hereby grants to You a perpetual, worldwide,
|
|
||||||
non-exclusive, no-charge, royalty-free, irrevocable copyright license to
|
|
||||||
reproduce, prepare Derivative Works of, publicly display, publicly perform,
|
|
||||||
sublicense, and distribute the Work and such Derivative Works in Source or
|
|
||||||
Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of this
|
|
||||||
License, each Contributor hereby grants to You a perpetual, worldwide,
|
|
||||||
non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this
|
|
||||||
section) patent license to make, have made, use, offer to sell, sell, import,
|
|
||||||
and otherwise transfer the Work, where such license applies only to those
|
|
||||||
patent claims licensable by such Contributor that are necessarily infringed by
|
|
||||||
their Contribution(s) alone or by combination of their Contribution(s) with the
|
|
||||||
Work to which such Contribution(s) was submitted. If You institute patent
|
|
||||||
litigation against any entity (including a cross-claim or counterclaim in a
|
|
||||||
lawsuit) alleging that the Work or a Contribution incorporated within the Work
|
|
||||||
constitutes direct or contributory patent infringement, then any patent
|
|
||||||
licenses granted to You under this License for that Work shall terminate as of
|
|
||||||
the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the Work or
|
|
||||||
Derivative Works thereof in any medium, with or without modifications, and in
|
|
||||||
Source or Object form, provided that You meet the following conditions:
|
|
||||||
|
|
||||||
You must give any other recipients of the Work or Derivative Works a copy of
|
|
||||||
this License; and You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and You must retain, in the Source form of
|
|
||||||
any Derivative Works that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work, excluding those notices
|
|
||||||
that do not pertain to any part of the Derivative Works; and If the Work
|
|
||||||
includes a "NOTICE" text file as part of its distribution, then any Derivative
|
|
||||||
Works that You distribute must include a readable copy of the attribution
|
|
||||||
notices contained within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one of the following
|
|
||||||
places: within a NOTICE text file distributed as part of the Derivative Works;
|
|
||||||
within the Source form or documentation, if provided along with the Derivative
|
|
||||||
Works; or, within a display generated by the Derivative Works, if and wherever
|
|
||||||
such third-party notices normally appear. The contents of the NOTICE file are
|
|
||||||
for informational purposes only and do not modify the License. You may add Your
|
|
||||||
own attribution notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided that such
|
|
||||||
additional attribution notices cannot be construed as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and may provide
|
|
||||||
additional or different license terms and conditions for use, reproduction, or
|
|
||||||
distribution of Your modifications, or for any such Derivative Works as a
|
|
||||||
whole, provided Your use, reproduction, and distribution of the Work otherwise
|
|
||||||
complies with the conditions stated in this License. 5. Submission of
|
|
||||||
Contributions. Unless You explicitly state otherwise, any Contribution
|
|
||||||
intentionally submitted for inclusion in the Work by You to the Licensor shall
|
|
||||||
be under the terms and conditions of this License, without any additional terms
|
|
||||||
or conditions. Notwithstanding the above, nothing herein shall supersede or
|
|
||||||
modify the terms of any separate license agreement you may have executed with
|
|
||||||
Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade names,
|
|
||||||
trademarks, service marks, or product names of the Licensor, except as required
|
|
||||||
for reasonable and customary use in describing the origin of the Work and
|
|
||||||
reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
|
|
||||||
writing, Licensor provides the Work (and each Contributor provides its
|
|
||||||
Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
KIND, either express or implied, including, without limitation, any warranties
|
|
||||||
or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any risks
|
|
||||||
associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory, whether in
|
|
||||||
tort (including negligence), contract, or otherwise, unless required by
|
|
||||||
applicable law (such as deliberate and grossly negligent acts) or agreed to in
|
|
||||||
writing, shall any Contributor be liable to You for damages, including any
|
|
||||||
direct, indirect, special, incidental, or consequential damages of any
|
|
||||||
character arising as a result of this License or out of the use or inability to
|
|
||||||
use the Work (including but not limited to damages for loss of goodwill, work
|
|
||||||
stoppage, computer failure or malfunction, or any and all other commercial
|
|
||||||
damages or losses), even if such Contributor has been advised of the
|
|
||||||
possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing the Work or
|
|
||||||
Derivative Works thereof, You may choose to offer, and charge a fee for,
|
|
||||||
acceptance of support, warranty, indemnity, or other liability obligations
|
|
||||||
and/or rights consistent with this License. However, in accepting such
|
|
||||||
obligations, You may act only on Your own behalf and on Your sole
|
|
||||||
responsibility, not on behalf of any other Contributor, and only if You agree
|
|
||||||
to indemnify, defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason of your
|
|
||||||
accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
--
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
.notifications{position:fixed;}.notifications.top-right{right:25px;top:60px;z-index:9980;width:300px;}
|
|
||||||
.notifications.above-composebox{max-width:800px;margin:auto;bottom:10px;position:relative;}
|
|
||||||
.notifications.top-left{left:10px;top:25px;}
|
|
||||||
.notifications.bottom-left{left:10px;bottom:25px;}
|
|
||||||
.notifications.bottom-right{right:10px;bottom:25px;}
|
|
||||||
.notifications>div{position:relative;z-index:9999;margin:5px 0px;}
|
|
||||||
.notifications.center{top:48%;left:0;width:100%;}.notifications.center>div{margin:5px auto;width:20%;text-align:center;}
|
|
||||||
.notifications-gravatar{display:inline-block;position:absolute;top:10px;left:10px}
|
|
||||||
.notifications-content{margin-left:40px;}
|
|
||||||
.notifications-content,.compose-notifications-content .title {
|
|
||||||
font-weight: bold;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
.fade.alert-success{color:#000;background-color:#FFF;border-color:green;}
|
|
||||||
.above-composebox .alert{width:200px; margin-left:auto; margin-right:0px}
|
|
||||||
.compose-notifications-content{margin-left:0px;}
|
|
||||||
|
|
251
static/third/bootstrap-notify/js/bootstrap-notify.js
vendored
251
static/third/bootstrap-notify/js/bootstrap-notify.js
vendored
@@ -1,251 +0,0 @@
|
|||||||
/** @preserve
|
|
||||||
The "bootstrap-notify" Software from "Goodybag, Inc." is:
|
|
||||||
Copyright 2013 Nijiko Yonskai @nijikokun
|
|
||||||
Copyright 2012 Goodybag, Inc.
|
|
||||||
and is provided
|
|
||||||
under the following license (the bootstrap-notify software has been modified):
|
|
||||||
--
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction, and
|
|
||||||
distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by the copyright
|
|
||||||
owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all other entities
|
|
||||||
that control, are controlled by, or are under common control with that
|
|
||||||
entity. For the purposes of this definition, "control" means (i) the power,
|
|
||||||
direct or indirect, to cause the direction or management of such entity,
|
|
||||||
whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or
|
|
||||||
more of the outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity exercising
|
|
||||||
permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications, including
|
|
||||||
but not limited to software source code, documentation source, and
|
|
||||||
configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical transformation or
|
|
||||||
translation of a Source form, including but not limited to compiled object
|
|
||||||
code, generated documentation, and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or Object form,
|
|
||||||
made available under the License, as indicated by a copyright notice that is
|
|
||||||
included in or attached to the work (an example is provided in the Appendix
|
|
||||||
below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object form, that
|
|
||||||
is based on (or derived from) the Work and for which the editorial revisions,
|
|
||||||
annotations, elaborations, or other modifications represent, as a whole, an
|
|
||||||
original work of authorship. For the purposes of this License, Derivative Works
|
|
||||||
shall not include works that remain separable from, or merely link (or bind by
|
|
||||||
name) to the interfaces of, the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including the original
|
|
||||||
version of the Work and any modifications or additions to that Work or
|
|
||||||
Derivative Works thereof, that is intentionally submitted to Licensor for
|
|
||||||
inclusion in the Work by the copyright owner or by an individual or Legal
|
|
||||||
Entity authorized to submit on behalf of the copyright owner. For the purposes
|
|
||||||
of this definition, "submitted" means any form of electronic, verbal, or
|
|
||||||
written communication sent to the Licensor or its representatives, including
|
|
||||||
but not limited to communication on electronic mailing lists, source code
|
|
||||||
control systems, and issue tracking systems that are managed by, or on behalf
|
|
||||||
of, the Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise designated in
|
|
||||||
writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
|
|
||||||
of whom a Contribution has been received by Licensor and subsequently
|
|
||||||
incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of this
|
|
||||||
License, each Contributor hereby grants to You a perpetual, worldwide,
|
|
||||||
non-exclusive, no-charge, royalty-free, irrevocable copyright license to
|
|
||||||
reproduce, prepare Derivative Works of, publicly display, publicly perform,
|
|
||||||
sublicense, and distribute the Work and such Derivative Works in Source or
|
|
||||||
Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of this
|
|
||||||
License, each Contributor hereby grants to You a perpetual, worldwide,
|
|
||||||
non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this
|
|
||||||
section) patent license to make, have made, use, offer to sell, sell, import,
|
|
||||||
and otherwise transfer the Work, where such license applies only to those
|
|
||||||
patent claims licensable by such Contributor that are necessarily infringed by
|
|
||||||
their Contribution(s) alone or by combination of their Contribution(s) with the
|
|
||||||
Work to which such Contribution(s) was submitted. If You institute patent
|
|
||||||
litigation against any entity (including a cross-claim or counterclaim in a
|
|
||||||
lawsuit) alleging that the Work or a Contribution incorporated within the Work
|
|
||||||
constitutes direct or contributory patent infringement, then any patent
|
|
||||||
licenses granted to You under this License for that Work shall terminate as of
|
|
||||||
the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the Work or
|
|
||||||
Derivative Works thereof in any medium, with or without modifications, and in
|
|
||||||
Source or Object form, provided that You meet the following conditions:
|
|
||||||
|
|
||||||
You must give any other recipients of the Work or Derivative Works a copy of
|
|
||||||
this License; and You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and You must retain, in the Source form of
|
|
||||||
any Derivative Works that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work, excluding those notices
|
|
||||||
that do not pertain to any part of the Derivative Works; and If the Work
|
|
||||||
includes a "NOTICE" text file as part of its distribution, then any Derivative
|
|
||||||
Works that You distribute must include a readable copy of the attribution
|
|
||||||
notices contained within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one of the following
|
|
||||||
places: within a NOTICE text file distributed as part of the Derivative Works;
|
|
||||||
within the Source form or documentation, if provided along with the Derivative
|
|
||||||
Works; or, within a display generated by the Derivative Works, if and wherever
|
|
||||||
such third-party notices normally appear. The contents of the NOTICE file are
|
|
||||||
for informational purposes only and do not modify the License. You may add Your
|
|
||||||
own attribution notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided that such
|
|
||||||
additional attribution notices cannot be construed as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and may provide
|
|
||||||
additional or different license terms and conditions for use, reproduction, or
|
|
||||||
distribution of Your modifications, or for any such Derivative Works as a
|
|
||||||
whole, provided Your use, reproduction, and distribution of the Work otherwise
|
|
||||||
complies with the conditions stated in this License. 5. Submission of
|
|
||||||
Contributions. Unless You explicitly state otherwise, any Contribution
|
|
||||||
intentionally submitted for inclusion in the Work by You to the Licensor shall
|
|
||||||
be under the terms and conditions of this License, without any additional terms
|
|
||||||
or conditions. Notwithstanding the above, nothing herein shall supersede or
|
|
||||||
modify the terms of any separate license agreement you may have executed with
|
|
||||||
Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade names,
|
|
||||||
trademarks, service marks, or product names of the Licensor, except as required
|
|
||||||
for reasonable and customary use in describing the origin of the Work and
|
|
||||||
reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or agreed to in
|
|
||||||
writing, Licensor provides the Work (and each Contributor provides its
|
|
||||||
Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
||||||
KIND, either express or implied, including, without limitation, any warranties
|
|
||||||
or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any risks
|
|
||||||
associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory, whether in
|
|
||||||
tort (including negligence), contract, or otherwise, unless required by
|
|
||||||
applicable law (such as deliberate and grossly negligent acts) or agreed to in
|
|
||||||
writing, shall any Contributor be liable to You for damages, including any
|
|
||||||
direct, indirect, special, incidental, or consequential damages of any
|
|
||||||
character arising as a result of this License or out of the use or inability to
|
|
||||||
use the Work (including but not limited to damages for loss of goodwill, work
|
|
||||||
stoppage, computer failure or malfunction, or any and all other commercial
|
|
||||||
damages or losses), even if such Contributor has been advised of the
|
|
||||||
possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing the Work or
|
|
||||||
Derivative Works thereof, You may choose to offer, and charge a fee for,
|
|
||||||
acceptance of support, warranty, indemnity, or other liability obligations
|
|
||||||
and/or rights consistent with this License. However, in accepting such
|
|
||||||
obligations, You may act only on Your own behalf and on Your sole
|
|
||||||
responsibility, not on behalf of any other Contributor, and only if You agree
|
|
||||||
to indemnify, defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason of your
|
|
||||||
accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
--
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* bootstrap-notify.js v1.0.0
|
|
||||||
* --
|
|
||||||
* Copyright 2012 Nijiko Yonskai <nijikokun@gmail.com>
|
|
||||||
* Copyright 2012 Goodybag, Inc.
|
|
||||||
* --
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
(function ($) {
|
|
||||||
var Notification = function (element, options) {
|
|
||||||
// Element collection
|
|
||||||
this.$element = $(element);
|
|
||||||
this.$note = $('<div class="alert"></div>');
|
|
||||||
this.options = $.extend(true, {}, $.fn.notify.defaults, options);
|
|
||||||
this._link = null;
|
|
||||||
|
|
||||||
// Setup from options
|
|
||||||
if (this.options.transition)
|
|
||||||
if (this.options.transition === 'fade')
|
|
||||||
this.$note.addClass('in').addClass(this.options.transition);
|
|
||||||
else this.$note.addClass(this.options.transition);
|
|
||||||
else this.$note.addClass('fade').addClass('in');
|
|
||||||
|
|
||||||
if (this.options.type)
|
|
||||||
this.$note.addClass('alert-' + this.options.type);
|
|
||||||
else this.$note.addClass('alert-success');
|
|
||||||
|
|
||||||
if (this.options.message)
|
|
||||||
if (typeof this.options.message === 'string')
|
|
||||||
this.$note.html(this.options.message);
|
|
||||||
else if (typeof this.options.message === 'object')
|
|
||||||
if (this.options.message.html)
|
|
||||||
this.$note.html(this.options.message.html);
|
|
||||||
else if (this.options.message.text)
|
|
||||||
this.$note.text(this.options.message.text);
|
|
||||||
|
|
||||||
if (this.options.closable)
|
|
||||||
this._link = $('<a class="close pull-right">×</a>'),
|
|
||||||
$(this._link).on('click', $.proxy(Notification.onClose, this)),
|
|
||||||
this.$note.prepend(this._link);
|
|
||||||
|
|
||||||
return this;
|
|
||||||
};
|
|
||||||
|
|
||||||
Notification.onClose = function () {
|
|
||||||
this.options.onClose();
|
|
||||||
$(this.$note).remove();
|
|
||||||
this.options.onClosed();
|
|
||||||
};
|
|
||||||
|
|
||||||
Notification.prototype.show = function () {
|
|
||||||
if (this.options.fadeOut.enabled)
|
|
||||||
this.$note.delay(this.options.fadeOut.delay || 3000).fadeOut('slow', $.proxy(Notification.onClose, this));
|
|
||||||
|
|
||||||
this.$element.append(this.$note);
|
|
||||||
this.$note.alert();
|
|
||||||
};
|
|
||||||
|
|
||||||
Notification.prototype.hide = function () {
|
|
||||||
if (this.options.fadeOut.enabled)
|
|
||||||
this.$note.delay(this.options.fadeOut.delay || 3000).fadeOut('slow', $.proxy(Notification.onClose, this));
|
|
||||||
else Notification.onClose.call(this);
|
|
||||||
};
|
|
||||||
|
|
||||||
$.fn.notify = function (options) {
|
|
||||||
return new Notification(this, options);
|
|
||||||
};
|
|
||||||
|
|
||||||
$.fn.notify.defaults = {
|
|
||||||
type: 'success',
|
|
||||||
closable: true,
|
|
||||||
transition: 'fade',
|
|
||||||
fadeOut: {
|
|
||||||
enabled: true,
|
|
||||||
delay: 3000
|
|
||||||
},
|
|
||||||
message: null,
|
|
||||||
onClose: function () {},
|
|
||||||
onClosed: function () {}
|
|
||||||
}
|
|
||||||
})(window.jQuery);
|
|
@@ -1,6 +1,4 @@
|
|||||||
<div id="compose">
|
<div id="compose">
|
||||||
<div id="compose-notifications" class="notifications above-composebox">
|
|
||||||
</div>
|
|
||||||
<div id="compose-container">
|
<div id="compose-container">
|
||||||
<div id="compose_controls" class="compose-content new-style">
|
<div id="compose_controls" class="compose-content new-style">
|
||||||
<div id="nonexistent_stream_reply_error" class="alert-error">
|
<div id="nonexistent_stream_reply_error" class="alert-error">
|
||||||
|
@@ -174,7 +174,6 @@
|
|||||||
{% include "zerver/app/logout.html" %}
|
{% include "zerver/app/logout.html" %}
|
||||||
{% include "zerver/app/deprecation_notice.html" %}
|
{% include "zerver/app/deprecation_notice.html" %}
|
||||||
<div id="user-profile-modal-holder"></div>
|
<div id="user-profile-modal-holder"></div>
|
||||||
<div class='notifications top-right'></div>
|
|
||||||
<div id="delete-topic-modal-holder"></div>
|
<div id="delete-topic-modal-holder"></div>
|
||||||
<div class="left-sidebar-modal-holder"></div>
|
<div class="left-sidebar-modal-holder"></div>
|
||||||
<div id="move-a-topic-modal-holder"></div>
|
<div id="move-a-topic-modal-holder"></div>
|
||||||
|
Reference in New Issue
Block a user