From 0bccdc4dbc3b8ad81560de25e136b00895bc1522 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Mon, 18 Mar 2024 06:58:59 +0100 Subject: [PATCH] DEV: removes generated documentation (#26207) --- documentation/assets/blob-wide-yellow3.svg | 3 - documentation/assets/blobs.svg | 6 - documentation/assets/favicon.ico | Bin 99678 -> 0 bytes documentation/assets/favicon.png | Bin 3575 -> 0 bytes documentation/assets/highlight.png | Bin 1102 -> 0 bytes documentation/assets/logo.svg | 12 - documentation/chat/backend/Chat.html | 118 - documentation/chat/backend/Chat/Service.html | 120 - .../chat/backend/Chat/Service/Base.html | 723 ---- .../backend/Chat/Service/Base/Context.html | 485 --- .../backend/Chat/Service/Base/Failure.html | 209 -- .../backend/Chat/Service/TrashChannel.html | 277 -- .../backend/Chat/Service/UpdateChannel.html | 346 -- .../Chat/Service/UpdateChannelStatus.html | 274 -- .../Chat/Service/UpdateUserLastRead.html | 274 -- documentation/chat/backend/_index.html | 204 -- documentation/chat/backend/class_list.html | 51 - documentation/chat/backend/css/common.css | 1 - documentation/chat/backend/css/full_list.css | 58 - documentation/chat/backend/css/style.css | 497 --- documentation/chat/backend/file.README.html | 81 - documentation/chat/backend/file_list.html | 56 - documentation/chat/backend/frames.html | 17 - documentation/chat/backend/index.html | 81 - documentation/chat/backend/js/app.js | 314 -- documentation/chat/backend/js/full_list.js | 216 -- documentation/chat/backend/js/jquery.js | 4 - documentation/chat/backend/method_list.html | 163 - .../chat/backend/top-level-namespace.html | 111 - documentation/chat/frontend/PluginApi.html | 1217 ------- documentation/chat/frontend/global.html | 372 -- documentation/chat/frontend/index.html | 80 - .../chat/frontend/lib_collection.js.html | 178 - .../chat/frontend/module-ChatApi.html | 3236 ----------------- .../chat/frontend/module.exports.html | 198 - .../pre-initializers_chat-plugin-api.js.html | 156 - .../frontend/scripts/prism-linenumbers.js | 57 - .../chat/frontend/scripts/prism.dev.js | 1115 ------ .../chat/frontend/services_chat-api.js.html | 325 -- documentation/chat/frontend/styles/styles.css | 498 --- .../frontend/styles/vendor/prism-custom.css | 142 - documentation/index.html | 125 - .../default/fulldoc/html/setup.rb | 13 - .../default/layout/html/footer.erb | 6 - .../default/method_details/setup.rb | 4 - 45 files changed, 12423 deletions(-) delete mode 100644 documentation/assets/blob-wide-yellow3.svg delete mode 100644 documentation/assets/blobs.svg delete mode 100644 documentation/assets/favicon.ico delete mode 100644 documentation/assets/favicon.png delete mode 100644 documentation/assets/highlight.png delete mode 100644 documentation/assets/logo.svg delete mode 100644 documentation/chat/backend/Chat.html delete mode 100644 documentation/chat/backend/Chat/Service.html delete mode 100644 documentation/chat/backend/Chat/Service/Base.html delete mode 100644 documentation/chat/backend/Chat/Service/Base/Context.html delete mode 100644 documentation/chat/backend/Chat/Service/Base/Failure.html delete mode 100644 documentation/chat/backend/Chat/Service/TrashChannel.html delete mode 100644 documentation/chat/backend/Chat/Service/UpdateChannel.html delete mode 100644 documentation/chat/backend/Chat/Service/UpdateChannelStatus.html delete mode 100644 documentation/chat/backend/Chat/Service/UpdateUserLastRead.html delete mode 100644 documentation/chat/backend/_index.html delete mode 100644 documentation/chat/backend/class_list.html delete mode 100644 documentation/chat/backend/css/common.css delete mode 100644 documentation/chat/backend/css/full_list.css delete mode 100644 documentation/chat/backend/css/style.css delete mode 100644 documentation/chat/backend/file.README.html delete mode 100644 documentation/chat/backend/file_list.html delete mode 100644 documentation/chat/backend/frames.html delete mode 100644 documentation/chat/backend/index.html delete mode 100644 documentation/chat/backend/js/app.js delete mode 100644 documentation/chat/backend/js/full_list.js delete mode 100644 documentation/chat/backend/js/jquery.js delete mode 100644 documentation/chat/backend/method_list.html delete mode 100644 documentation/chat/backend/top-level-namespace.html delete mode 100644 documentation/chat/frontend/PluginApi.html delete mode 100644 documentation/chat/frontend/global.html delete mode 100644 documentation/chat/frontend/index.html delete mode 100644 documentation/chat/frontend/lib_collection.js.html delete mode 100644 documentation/chat/frontend/module-ChatApi.html delete mode 100644 documentation/chat/frontend/module.exports.html delete mode 100644 documentation/chat/frontend/pre-initializers_chat-plugin-api.js.html delete mode 100644 documentation/chat/frontend/scripts/prism-linenumbers.js delete mode 100644 documentation/chat/frontend/scripts/prism.dev.js delete mode 100644 documentation/chat/frontend/services_chat-api.js.html delete mode 100644 documentation/chat/frontend/styles/styles.css delete mode 100644 documentation/chat/frontend/styles/vendor/prism-custom.css delete mode 100644 documentation/index.html delete mode 100644 documentation/yard-custom-template/default/fulldoc/html/setup.rb delete mode 100644 documentation/yard-custom-template/default/layout/html/footer.erb delete mode 100644 documentation/yard-custom-template/default/method_details/setup.rb diff --git a/documentation/assets/blob-wide-yellow3.svg b/documentation/assets/blob-wide-yellow3.svg deleted file mode 100644 index b3aa7ca2591..00000000000 --- a/documentation/assets/blob-wide-yellow3.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/documentation/assets/blobs.svg b/documentation/assets/blobs.svg deleted file mode 100644 index 893715168fd..00000000000 --- a/documentation/assets/blobs.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/documentation/assets/favicon.ico b/documentation/assets/favicon.ico deleted file mode 100644 index ae73567c6426394393a70849e19989cafe5a98c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99678 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 Ut=<+~g#Z8m07*qoM6N<$g1xEWv;Y7A diff --git a/documentation/assets/logo.svg b/documentation/assets/logo.svg deleted file mode 100644 index 78fd5db6d43..00000000000 --- a/documentation/assets/logo.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/documentation/chat/backend/Chat.html b/documentation/chat/backend/Chat.html deleted file mode 100644 index 56d435b47a7..00000000000 --- a/documentation/chat/backend/Chat.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - Module: Chat - - — Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
- - -

Module: Chat - - - -

-
- - - - - - - - - - - -
-
Defined in:
-
plugins/chat/app/services/base.rb,
- plugins/chat/app/services/update_user_last_read.rb,
plugins/chat/app/services/trash_channel.rb,
plugins/chat/app/services/update_channel.rb,
plugins/chat/app/services/update_channel_status.rb
-
-
- -
- -

Defined Under Namespace

-

- - - Modules: Service - - - - -

- - - - - - - - - -
- - - - -
- - \ No newline at end of file diff --git a/documentation/chat/backend/Chat/Service.html b/documentation/chat/backend/Chat/Service.html deleted file mode 100644 index fb8447dab22..00000000000 --- a/documentation/chat/backend/Chat/Service.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - Module: Chat::Service - - — Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
- - -

Module: Chat::Service - - - -

-
- - - - - - - - - - - -
-
Defined in:
-
plugins/chat/app/services/base.rb,
- plugins/chat/app/services/update_user_last_read.rb,
plugins/chat/app/services/trash_channel.rb,
plugins/chat/app/services/update_channel.rb,
plugins/chat/app/services/update_channel_status.rb
-
-
- -
- -

Defined Under Namespace

-

- - - Modules: Base - - - - Classes: TrashChannel, UpdateChannel, UpdateChannelStatus, UpdateUserLastRead - - -

- - - - - - - - - -
- - - - -
- - \ No newline at end of file diff --git a/documentation/chat/backend/Chat/Service/Base.html b/documentation/chat/backend/Chat/Service/Base.html deleted file mode 100644 index 2d2f2254179..00000000000 --- a/documentation/chat/backend/Chat/Service/Base.html +++ /dev/null @@ -1,723 +0,0 @@ - - - - - - - Module: Chat::Service::Base - - — Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
- - -

Module: Chat::Service::Base - - - -

-
- - - - -
-
Extended by:
-
ActiveSupport::Concern
-
- - - - - - -
-
Included in:
-
TrashChannel, UpdateChannel, UpdateChannelStatus, UpdateUserLastRead
-
- - - -
-
Defined in:
-
plugins/chat/app/services/base.rb
-
- -
- -

Overview

-
- -

Module to be included to provide steps DSL to any class. This allows to create easy to understand services as the whole service cycle is visible simply by reading the beginning of its class.

- -

Steps are executed in the order they’re defined. They will use their name to execute the corresponding method defined in the service class.

- -

Currently, there are 5 types of steps:

-
  • -

    model(name = :model): used to instantiate a model (either by building it or fetching it from the DB). If a falsy value is returned, then the step will fail. Otherwise the resulting object will be assigned in context[name] (context[:model] by default).

    -
  • -

    policy(name = :default): used to perform a check on the state of the system. Typically used to run guardians. If a falsy value is returned, the step will fail.

    -
  • -

    contract(name = :default): used to validate the input parameters, typically provided by a user calling an endpoint. A special embedded Contract class has to be defined to holds the validations. If the validations fail, the step will fail. Otherwise, the resulting contract will be available in context.

    -
  • -

    step(name): used to run small snippets of arbitrary code. The step doesn’t care about its return value, so to mark the service as failed, #fail! has to be called explicitly.

    -
  • -

    transaction: used to wrap other steps inside a DB transaction.

    -
- -

The methods defined on the service are automatically provided with the whole context passed as keyword arguments. This allows to define in a very explicit way what dependencies are used by the method. If for whatever reason a key isn’t found in the current context, then Ruby will raise an exception when the method is called.

- -

Regarding contract classes, they have automatically ActiveModel modules included so all the ActiveModel API is available.

- - -
-
-
- -
-

Examples:

- - -

-

An example from the TrashChannel service

-

- -
class TrashChannel
-  include Base
-
-  model :channel, :fetch_channel
-  policy :invalid_access
-  transaction do
-    step :prevents_slug_collision
-    step :soft_delete_channel
-    step :log_channel_deletion
-  end
-  step :enqueue_delete_channel_relations_job
-
-  private
-
-  def fetch_channel(channel_id:, **)
-    ChatChannel.find_by(id: channel_id)
-  end
-
-  def invalid_access(guardian:, channel:, **)
-    guardian.can_preview_chat_channel?(channel) && guardian.can_delete_chat_channel?
-  end
-
-  def prevents_slug_collision(channel:, **)
-    
-  end
-
-  def soft_delete_channel(guardian:, channel:, **)
-    
-  end
-
-  def log_channel_deletion(guardian:, channel:, **)
-    
-  end
-
-  def enqueue_delete_channel_relations_job(channel:, **)
-    
-  end
-end
- - -

-

An example from the UpdateChannelStatus service which uses a contract

-

- -
class UpdateChannelStatus
-  include Base
-
-  model :channel, :fetch_channel
-  contract
-  policy :check_channel_permission
-  step :change_status
-
-  class Contract
-    attribute :status
-    validates :status, inclusion: { in: ChatChannel.editable_statuses.keys }
-  end
-
-  
-end
- -
- - -

Defined Under Namespace

-

- - - - - Classes: Context, Failure - - -

- - - - - - - - -

- Class Method Summary - collapse -

- - - - - - - -
-

Class Method Details

- - -
-

- - .contract(name = :default, class_name: self::Contract, use_default_values_from: nil) ⇒ Object - - - - - -

-
- -

Checks the validity of the input parameters. Implements ActiveModel::Validations and ActiveModel::Attributes.

- -

It stores the resulting contract in context [“contract.default”] by default (can be customized by providing the name argument).

- - -
-
-
- -
-

Examples:

- - -
contract
-
-class Contract
-  attribute :name
-  validates :name, presence: true
-end
- -
-

Parameters:

-
    - -
  • - - name - - - (Symbol) - - - (defaults to: :default) - - - — -
    -

    name for this contract

    -
    - -
  • - -
  • - - class_name - - - (Class) - - - (defaults to: self::Contract) - - - — -
    -

    a class defining the contract

    -
    - -
  • - -
  • - - use_default_values_from - - - (Symbol) - - - (defaults to: nil) - - - — -
    -

    name of the model to get default values from

    -
    - -
  • - -
- - -
-
- -
-

- - .model(name = :model, step_name = :"fetch_#{name}") ⇒ Object - - - - - -

-
- -

Evaluates arbitrary code to build or fetch a model (typically from the DB). If the step returns a falsy value, then the step will fail.

- -

It stores the resulting model in context[:model] by default (can be customized by providing the name argument).

- - -
-
-
- -
-

Examples:

- - -
model :channel, :fetch_channel
-
-private
-
-def fetch_channel(channel_id:, **)
-  ChatChannel.find_by(id: channel_id)
-end
- -
-

Parameters:

-
    - -
  • - - name - - - (Symbol) - - - (defaults to: :model) - - - — -
    -

    name of the model

    -
    - -
  • - -
  • - - step_name - - - (Symbol) - - - (defaults to: :"fetch_#{name}") - - - — -
    -

    name of the method to call for this step

    -
    - -
  • - -
- - -
-
- -
-

- - .policy(name = :default) ⇒ Object - - - - - -

-
- -

Performs checks related to the state of the system. If the step doesn’t return a truthy value, then the policy will fail.

- - -
-
-
- -
-

Examples:

- - -
policy :no_direct_message_channel
-
-private
-
-def no_direct_message_channel(channel:, **)
-  !channel.direct_message_channel?
-end
- -
-

Parameters:

-
    - -
  • - - name - - - (Symbol) - - - (defaults to: :default) - - - — -
    -

    name for this policy

    -
    - -
  • - -
- - -
-
- -
-

- - .step(name) ⇒ Object - - - - - -

-
- -

Runs arbitrary code. To mark a step as failed, a call to #fail! needs to be made explicitly.

- - -
-
-
- -
-

Examples:

- - -
step :update_channel
-
-private
-
-def update_channel(channel:, params_to_edit:, **)
-  channel.update!(params_to_edit)
-end
- - -

-

using #fail! in a step

-

- -
step :save_channel
-
-private
-
-def save_channel(channel:, **)
-  fail!("something went wrong") unless channel.save
-end
- -
-

Parameters:

-
    - -
  • - - name - - - (Symbol) - - - - — -
    -

    the name of this step

    -
    - -
  • - -
- - -
-
- -
-

- - .transaction(&block) ⇒ Object - - - - - -

-
- -

Runs steps inside a DB transaction.

- - -
-
-
- -
-

Examples:

- - -
transaction do
-  step :prevents_slug_collision
-  step :soft_delete_channel
-  step :log_channel_deletion
-end
- -
-

Parameters:

-
    - -
  • - - block - - - (Proc) - - - - — -
    -

    a block containing steps to be run inside a transaction

    -
    - -
  • - -
- - -
-
- -
- -
- - - - -
- - \ No newline at end of file diff --git a/documentation/chat/backend/Chat/Service/Base/Context.html b/documentation/chat/backend/Chat/Service/Base/Context.html deleted file mode 100644 index 138ce872301..00000000000 --- a/documentation/chat/backend/Chat/Service/Base/Context.html +++ /dev/null @@ -1,485 +0,0 @@ - - - - - - - Class: Chat::Service::Base::Context - - — Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
- - -

Class: Chat::Service::Base::Context - - - -

-
- -
-
Inherits:
-
- OpenStruct - -
    -
  • Object
  • - - - - - -
- show all - -
-
- - - - - - - - - - - -
-
Defined in:
-
plugins/chat/app/services/base.rb
-
- -
- -

Overview

-
- -

Simple structure to hold the context of the service during its whole lifecycle.

- - -
-
-
- - -
- - - - - - - -

- Instance Method Summary - collapse -

- - - - - - - -
-

Instance Method Details

- - -
-

- - #fail(context = {}) ⇒ Context - - - - - -

-
- -

Marks the context as failed without raising an exception.

- - -
-
-
- -
-

Examples:

- - -
context.fail("failure": "something went wrong")
- -
-

Parameters:

-
    - -
  • - - context - - - (Hash, Context) - - - (defaults to: {}) - - - — -
    -

    the context to merge into the current one

    -
    - -
  • - -
- -

Returns:

- - -
-
- -
-

- - #fail!(context = {}) ⇒ Context - - - - - -

-
- -

Marks the context as failed.

- - -
-
-
- -
-

Examples:

- - -
context.fail!("failure": "something went wrong")
- -
-

Parameters:

-
    - -
  • - - context - - - (Hash, Context) - - - (defaults to: {}) - - - — -
    -

    the context to merge into the current one

    -
    - -
  • - -
- -

Returns:

- -

Raises:

- - -
-
- -
-

- - #failure?Boolean - - - - - -

-
- -

Returns true if the context is set as failed

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Boolean) - - - - — -
    -

    returns true if the context is set as failed

    -
    - -
  • - -
- -

See Also:

- - -
-
- -
-

- - #success?Boolean - - - - - -

-
- -

Returns true if the context is set as successful (default)

- - -
-
-
- -

Returns:

-
    - -
  • - - - (Boolean) - - - - — -
    -

    returns true if the context is set as successful (default)

    -
    - -
  • - -
- -
-
- -
- -
- - - - -
- - \ No newline at end of file diff --git a/documentation/chat/backend/Chat/Service/Base/Failure.html b/documentation/chat/backend/Chat/Service/Base/Failure.html deleted file mode 100644 index 5f9e93733bf..00000000000 --- a/documentation/chat/backend/Chat/Service/Base/Failure.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - Exception: Chat::Service::Base::Failure - - — Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
- - -

Exception: Chat::Service::Base::Failure - - - -

-
- -
-
Inherits:
-
- StandardError - -
    -
  • Object
  • - - - - - -
- show all - -
-
- - - - - - - - - - - -
-
Defined in:
-
plugins/chat/app/services/base.rb
-
- -
- -

Overview

-
- -

The only exception that can be raised by a service.

- - -
-
-
- - -
- - - -

Instance Attribute Summary collapse

- - - - - - - -
-

Instance Attribute Details

- - - -
-

- - #contextContext (readonly) - - - - - -

-
- - -
-
-
- -

Returns:

- - -
-
- -
- - -
- - - - -
- - \ No newline at end of file diff --git a/documentation/chat/backend/Chat/Service/TrashChannel.html b/documentation/chat/backend/Chat/Service/TrashChannel.html deleted file mode 100644 index ff9eb948d03..00000000000 --- a/documentation/chat/backend/Chat/Service/TrashChannel.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - Class: Chat::Service::TrashChannel - - — Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
- - -

Class: Chat::Service::TrashChannel - - - -

-
- -
-
Inherits:
-
- Object - -
    -
  • Object
  • - - - -
- show all - -
-
- - - - - - -
-
Includes:
-
Base
-
- - - - - - -
-
Defined in:
-
plugins/chat/app/services/trash_channel.rb
-
- -
- -

Overview

-
- -

Service responsible for trashing a chat channel. Note the slug is modified to prevent collisions.

- - -
-
-
- -
-

Examples:

- - -
Chat::Service::TrashChannel.call(channel_id: 2, guardian: guardian)
- -
- - -
- -

- Constant Summary - collapse -

- -
- -
DELETE_CHANNEL_LOG_KEY = - -
-
"chat_channel_delete"
- -
- - - - - - - - - -

- Instance Method Summary - collapse -

- - - - - - - - - - - - - -

Methods included from Base

-

contract, model, policy, step, transaction

- - - -
-

Instance Method Details

- - -
-

- - #call(channel_id: , guardian: ) ⇒ Chat::Service::Base::Context - - - - - -

-
- - -
-
-
-

Parameters:

-
    - -
  • - - channel_id - - - (Integer) - - - (defaults to: ) - - -
  • - -
  • - - guardian - - - (Guardian) - - - (defaults to: ) - - -
  • - -
- -

Returns:

- - -
-
- -
- -
- - - - -
- - \ No newline at end of file diff --git a/documentation/chat/backend/Chat/Service/UpdateChannel.html b/documentation/chat/backend/Chat/Service/UpdateChannel.html deleted file mode 100644 index 166888264f1..00000000000 --- a/documentation/chat/backend/Chat/Service/UpdateChannel.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - Class: Chat::Service::UpdateChannel - - — Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
- - -

Class: Chat::Service::UpdateChannel - - - -

-
- -
-
Inherits:
-
- Object - -
    -
  • Object
  • - - - -
- show all - -
-
- - - - - - -
-
Includes:
-
Base
-
- - - - - - -
-
Defined in:
-
plugins/chat/app/services/update_channel.rb
-
- -
- -

Overview

-
- -

Service responsible for updating a chat channel’s name, slug, and description.

- -

For a CategoryChannel, the settings for auto_join_users and allow_channel_wide_mentions are also editable.

- - -
-
-
- -
-

Examples:

- - -
Chat::Service::UpdateChannel.call(
- channel_id: 2,
- guardian: guardian,
- name: "SuperChannel",
- description: "This is the best channel",
- slug: "super-channel",
-)
- -
- - -
- - - - - - - -

- Instance Method Summary - collapse -

- - - - - - - - - - - - - -

Methods included from Base

-

contract, model, policy, step, transaction

- - - -
-

Instance Method Details

- - -
-

- - #call(channel_id: , guardian: , **params_to_edit) ⇒ Chat::Service::Base::Context - - - - - -

-
- - -
-
-
-

Parameters:

-
    - -
  • - - channel_id - - - (Integer) - - - (defaults to: ) - - -
  • - -
  • - - guardian - - - (Guardian) - - - (defaults to: ) - - -
  • - -
  • - - params_to_edit - - - (Hash) - - - -
  • - -
- - - - - - - - -

Options Hash (**params_to_edit):

-
    - -
  • - name - (String, nil) - - - - -
  • - -
  • - description - (String, nil) - - - - -
  • - -
  • - slug - (String, nil) - - - - -
  • - -
  • - auto_join_users - (Boolean) - - - - - —
    -

    Only valid for CategoryChannel. Whether active users with permission to see the category should automatically join the channel.

    -
    - -
  • - -
  • - allow_channel_wide_mentions - (Boolean) - - - - - —
    -

    Allow the use of @here and @all in the channel.

    -
    - -
  • - -
- - -

Returns:

- - -
-
- -
- -
- - - - -
- - \ No newline at end of file diff --git a/documentation/chat/backend/Chat/Service/UpdateChannelStatus.html b/documentation/chat/backend/Chat/Service/UpdateChannelStatus.html deleted file mode 100644 index 85d2adffcf6..00000000000 --- a/documentation/chat/backend/Chat/Service/UpdateChannelStatus.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - Class: Chat::Service::UpdateChannelStatus - - — Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
- - -

Class: Chat::Service::UpdateChannelStatus - - - -

-
- -
-
Inherits:
-
- Object - -
    -
  • Object
  • - - - -
- show all - -
-
- - - - - - -
-
Includes:
-
Base
-
- - - - - - -
-
Defined in:
-
plugins/chat/app/services/update_channel_status.rb
-
- -
- -

Overview

-
- -

Service responsible for updating a chat channel status.

- - -
-
-
- -
-

Examples:

- - -
Chat::Service::UpdateChannelStatus.call(channel_id: 2, guardian: guardian, status: "open")
- -
- - -
- - - - - - - -

- Instance Method Summary - collapse -

- - - - - - - - - - - - - -

Methods included from Base

-

contract, model, policy, step, transaction

- - - -
-

Instance Method Details

- - -
-

- - #call(channel_id: , guardian: , status: ) ⇒ Chat::Service::Base::Context - - - - - -

-
- - -
-
-
-

Parameters:

-
    - -
  • - - channel_id - - - (Integer) - - - (defaults to: ) - - -
  • - -
  • - - guardian - - - (Guardian) - - - (defaults to: ) - - -
  • - -
  • - - status - - - (String) - - - (defaults to: ) - - -
  • - -
- -

Returns:

- - -
-
- -
- -
- - - - -
- - \ No newline at end of file diff --git a/documentation/chat/backend/Chat/Service/UpdateUserLastRead.html b/documentation/chat/backend/Chat/Service/UpdateUserLastRead.html deleted file mode 100644 index 42533b9c1d5..00000000000 --- a/documentation/chat/backend/Chat/Service/UpdateUserLastRead.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - Class: Chat::Service::UpdateUserLastRead - - — Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
- - -

Class: Chat::Service::UpdateUserLastRead - - - -

-
- -
-
Inherits:
-
- Object - -
    -
  • Object
  • - - - -
- show all - -
-
- - - - - - -
-
Includes:
-
Base
-
- - - - - - -
-
Defined in:
-
plugins/chat/app/services/update_user_last_read.rb
-
- -
- -

Overview

-
- -

Service responsible for updating the last read message id of a membership.

- - -
-
-
- -
-

Examples:

- - -
Chat::Service::UpdateUserLastRead.call(user_id: 1, channel_id: 2, guardian: guardian)
- -
- - -
- - - - - - - -

- Instance Method Summary - collapse -

- - - - - - - - - - - - - -

Methods included from Base

-

contract, model, policy, step, transaction

- - - -
-

Instance Method Details

- - -
-

- - #call(user_id: , channel_id: , guardian: ) ⇒ Chat::Service::Base::Context - - - - - -

-
- - -
-
-
-

Parameters:

-
    - -
  • - - user_id - - - (Integer) - - - (defaults to: ) - - -
  • - -
  • - - channel_id - - - (Integer) - - - (defaults to: ) - - -
  • - -
  • - - guardian - - - (Guardian) - - - (defaults to: ) - - -
  • - -
- -

Returns:

- - -
-
- -
- -
- - - - -
- - \ No newline at end of file diff --git a/documentation/chat/backend/_index.html b/documentation/chat/backend/_index.html deleted file mode 100644 index 10e4c845e0b..00000000000 --- a/documentation/chat/backend/_index.html +++ /dev/null @@ -1,204 +0,0 @@ - - - - - - - Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
- - -

Documentation by YARD 0.9.28

-
-

Alphabetic Index

- -

File Listing

- - -
-

Namespace Listing A-Z

- - - - - - - - -
- - -
    -
  • B
  • -
      - -
    • - Base - - (Chat::Service) - -
    • - -
    -
- - -
    -
  • C
  • -
      - -
    • - Chat - -
    • - -
    • - Context - - (Chat::Service::Base) - -
    • - -
    -
- - -
    -
  • F
  • -
      - -
    • - Failure - - (Chat::Service::Base) - -
    • - -
    -
- - -
    -
  • S
  • - -
- - - - - - - -
- -
- -
- - - - -
- - \ No newline at end of file diff --git a/documentation/chat/backend/class_list.html b/documentation/chat/backend/class_list.html deleted file mode 100644 index da9220ff702..00000000000 --- a/documentation/chat/backend/class_list.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - - - - - - - - - Class List - - - -
-
-

Class List

- - - -
- - -
- - diff --git a/documentation/chat/backend/css/common.css b/documentation/chat/backend/css/common.css deleted file mode 100644 index cf25c45233d..00000000000 --- a/documentation/chat/backend/css/common.css +++ /dev/null @@ -1 +0,0 @@ -/* Override this file with custom rules */ \ No newline at end of file diff --git a/documentation/chat/backend/css/full_list.css b/documentation/chat/backend/css/full_list.css deleted file mode 100644 index fa359824291..00000000000 --- a/documentation/chat/backend/css/full_list.css +++ /dev/null @@ -1,58 +0,0 @@ -body { - margin: 0; - font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; - font-size: 13px; - height: 101%; - overflow-x: hidden; - background: #fafafa; -} - -h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; } -.clear { clear: both; } -.fixed_header { position: fixed; background: #fff; width: 100%; padding-bottom: 10px; margin-top: 0; top: 0; z-index: 9999; height: 70px; } -#search { position: absolute; right: 5px; top: 9px; padding-left: 24px; } -#content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; } -#full_list { padding: 0; list-style: none; margin-left: 0; margin-top: 80px; font-size: 1.1em; } -#full_list ul { padding: 0; } -#full_list li { padding: 0; margin: 0; list-style: none; } -#full_list li .item { padding: 5px 5px 5px 12px; } -#noresults { padding: 7px 12px; background: #fff; } -#content.insearch #noresults { margin-left: 7px; } -li.collapsed ul { display: none; } -li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; } -li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; } -li { color: #888; cursor: pointer; } -li.deprecated { text-decoration: line-through; font-style: italic; } -li.odd { background: #f0f0f0; } -li.even { background: #fafafa; } -.item:hover { background: #ddd; } -li small:before { content: "("; } -li small:after { content: ")"; } -li small.search_info { display: none; } -a, a:visited { text-decoration: none; color: #05a; } -li.clicked > .item { background: #05a; color: #ccc; } -li.clicked > .item a, li.clicked > .item a:visited { color: #eee; } -li.clicked > .item a.toggle { opacity: 0.5; background-position: bottom right; } -li.collapsed.clicked a.toggle { background-position: top right; } -#search input { border: 1px solid #bbb; border-radius: 3px; } -#full_list_nav { margin-left: 10px; font-size: 0.9em; display: block; color: #aaa; } -#full_list_nav a, #nav a:visited { color: #358; } -#full_list_nav a:hover { background: transparent; color: #5af; } -#full_list_nav span:after { content: ' | '; } -#full_list_nav span:last-child:after { content: ''; } - -#content h1 { margin-top: 0; } -li { white-space: nowrap; cursor: normal; } -li small { display: block; font-size: 0.8em; } -li small:before { content: ""; } -li small:after { content: ""; } -li small.search_info { display: none; } -#search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; } -#content.insearch #search { background-position: center right; } -#search input { width: 110px; } - -#full_list.insearch ul { display: block; } -#full_list.insearch .item { display: none; } -#full_list.insearch .found { display: block; padding-left: 11px !important; } -#full_list.insearch li a.toggle { display: none; } -#full_list.insearch li small.search_info { display: block; } diff --git a/documentation/chat/backend/css/style.css b/documentation/chat/backend/css/style.css deleted file mode 100644 index eb0dbc86f68..00000000000 --- a/documentation/chat/backend/css/style.css +++ /dev/null @@ -1,497 +0,0 @@ -html { - width: 100%; - height: 100%; -} -body { - font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; - font-size: 13px; - width: 100%; - margin: 0; - padding: 0; - display: flex; - display: -webkit-flex; - display: -ms-flexbox; -} - -#nav { - position: relative; - width: 100%; - height: 100%; - border: 0; - border-right: 1px dotted #eee; - overflow: auto; -} -.nav_wrap { - margin: 0; - padding: 0; - width: 20%; - height: 100%; - position: relative; - display: flex; - display: -webkit-flex; - display: -ms-flexbox; - flex-shrink: 0; - -webkit-flex-shrink: 0; - -ms-flex: 1 0; -} -#resizer { - position: absolute; - right: -5px; - top: 0; - width: 10px; - height: 100%; - cursor: col-resize; - z-index: 9999; -} -#main { - flex: 5 1; - -webkit-flex: 5 1; - -ms-flex: 5 1; - outline: none; - position: relative; - background: #fff; - padding: 1.2em; - padding-top: 0.2em; - box-sizing: border-box; -} - -@media (max-width: 920px) { - .nav_wrap { width: 100%; top: 0; right: 0; overflow: visible; position: absolute; } - #resizer { display: none; } - #nav { - z-index: 9999; - background: #fff; - display: none; - position: absolute; - top: 40px; - right: 12px; - width: 500px; - max-width: 80%; - height: 80%; - overflow-y: scroll; - border: 1px solid #999; - border-collapse: collapse; - box-shadow: -7px 5px 25px #aaa; - border-radius: 2px; - } -} - -@media (min-width: 920px) { - body { height: 100%; overflow: hidden; } - #main { height: 100%; overflow: auto; } - #search { display: none; } -} - -#main img { max-width: 100%; } -h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; } -h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; } -h1.title { margin-bottom: 10px; } -h1.alphaindex { margin-top: 0; font-size: 22px; } -h2 { - padding: 0; - padding-bottom: 3px; - border-bottom: 1px #aaa solid; - font-size: 1.4em; - margin: 1.8em 0 0.5em; - position: relative; -} -h2 small { font-weight: normal; font-size: 0.7em; display: inline; position: absolute; right: 0; } -h2 small a { - display: block; - height: 20px; - border: 1px solid #aaa; - border-bottom: 0; - border-top-left-radius: 5px; - background: #f8f8f8; - position: relative; - padding: 2px 7px; -} -.clear { clear: both; } -.inline { display: inline; } -.inline p:first-child { display: inline; } -.docstring, .tags, #filecontents { font-size: 15px; line-height: 1.5145em; } -.docstring p > code, .docstring p > tt, .tags p > code, .tags p > tt { - color: #c7254e; background: #f9f2f4; padding: 2px 4px; font-size: 1em; - border-radius: 4px; -} -.docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; } -.docstring h1 { font-size: 1.2em; } -.docstring h2 { font-size: 1.1em; } -.docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; } -.summary_desc .object_link a, .docstring .object_link a { - font-family: monospace; font-size: 1.05em; - color: #05a; background: #EDF4FA; padding: 2px 4px; font-size: 1em; - border-radius: 4px; -} -.rdoc-term { padding-right: 25px; font-weight: bold; } -.rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; } -.summary_desc pre.code .object_link a, .docstring pre.code .object_link a { - padding: 0px; background: inherit; color: inherit; border-radius: inherit; -} - -/* style for */ -#filecontents table, .docstring table { border-collapse: collapse; } -#filecontents table th, #filecontents table td, -.docstring table th, .docstring table td { border: 1px solid #ccc; padding: 8px; padding-right: 17px; } -#filecontents table tr:nth-child(odd), -.docstring table tr:nth-child(odd) { background: #eee; } -#filecontents table tr:nth-child(even), -.docstring table tr:nth-child(even) { background: #fff; } -#filecontents table th, .docstring table th { background: #fff; } - -/* style for
    */ -#filecontents li > p, .docstring li > p { margin: 0px; } -#filecontents ul, .docstring ul { padding-left: 20px; } -/* style for
    */ -#filecontents dl, .docstring dl { border: 1px solid #ccc; } -#filecontents dt, .docstring dt { background: #ddd; font-weight: bold; padding: 3px 5px; } -#filecontents dd, .docstring dd { padding: 5px 0px; margin-left: 18px; } -#filecontents dd > p, .docstring dd > p { margin: 0px; } - -.note { - color: #222; - margin: 20px 0; - padding: 10px; - border: 1px solid #eee; - border-radius: 3px; - display: block; -} -.docstring .note { - border-left-color: #ccc; - border-left-width: 5px; -} -.note.todo { background: #ffffc5; border-color: #ececaa; } -.note.returns_void { background: #efefef; } -.note.deprecated { background: #ffe5e5; border-color: #e9dada; } -.note.title.deprecated { background: #ffe5e5; border-color: #e9dada; } -.note.private { background: #ffffc5; border-color: #ececaa; } -.note.title { padding: 3px 6px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; } -.summary_signature + .note.title { margin-left: 7px; } -h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; } -.note.title { background: #efefef; } -.note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; } -.note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; } -.note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; } -.note.title.private { background: #d5d5d5; border-color: #c5c5c5; } -.note.title.not_defined_here { background: transparent; border: none; font-style: italic; } -.discussion .note { margin-top: 6px; } -.discussion .note:first-child { margin-top: 0; } - -h3.inherited { - font-style: italic; - font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; - font-weight: normal; - padding: 0; - margin: 0; - margin-top: 12px; - margin-bottom: 3px; - font-size: 13px; -} -p.inherited { - padding: 0; - margin: 0; - margin-left: 25px; -} - -.box_info dl { - margin: 0; - border: 0; - width: 100%; - font-size: 1em; - display: flex; - display: -webkit-flex; - display: -ms-flexbox; -} -.box_info dl dt { - flex-shrink: 0; - -webkit-flex-shrink: 1; - -ms-flex-shrink: 1; - width: 100px; - text-align: right; - font-weight: bold; - border: 1px solid #aaa; - border-width: 1px 0px 0px 1px; - padding: 6px 0; - padding-right: 10px; -} -.box_info dl dd { - flex-grow: 1; - -webkit-flex-grow: 1; - -ms-flex: 1; - max-width: 420px; - padding: 6px 0; - padding-right: 20px; - border: 1px solid #aaa; - border-width: 1px 1px 0 0; - overflow: hidden; - position: relative; -} -.box_info dl:last-child > * { - border-bottom: 1px solid #aaa; -} -.box_info dl:nth-child(odd) > * { background: #eee; } -.box_info dl:nth-child(even) > * { background: #fff; } -.box_info dl > * { margin: 0; } - -ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; } -.index_inline_list { padding-left: 0; font-size: 1.1em; } - -.index_inline_list li { - list-style: none; - display: inline-block; - padding: 0 12px; - line-height: 30px; - margin-bottom: 5px; -} - -dl.constants { margin-left: 10px; } -dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; } -dl.constants.compact dt { display: inline-block; font-weight: normal } -dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; } -dl.constants .docstring .note:first-child { margin-top: 5px; } - -.summary_desc { - margin-left: 32px; - display: block; - font-family: sans-serif; - font-size: 1.1em; - margin-top: 8px; - line-height: 1.5145em; - margin-bottom: 0.8em; -} -.summary_desc tt { font-size: 0.9em; } -dl.constants .note { padding: 2px 6px; padding-right: 12px; margin-top: 6px; } -dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; } -dl.constants .tags { padding-left: 32px; font-size: 0.9em; line-height: 0.8em; } -dl.constants .discussion *:first-child { margin-top: 0; } -dl.constants .discussion *:last-child { margin-bottom: 0; } - -.method_details { border-top: 1px dotted #ccc; margin-top: 25px; padding-top: 0; } -.method_details.first { border: 0; margin-top: 5px; } -.method_details.first h3.signature { margin-top: 1em; } -p.signature, h3.signature { - font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace; - padding: 6px 10px; margin-top: 1em; - background: #E8F4FF; border: 1px solid #d8d8e5; border-radius: 5px; -} -p.signature tt, -h3.signature tt { font-family: Monaco, Consolas, Courier, monospace; } -p.signature .overload, -h3.signature .overload { display: block; } -p.signature .extras, -h3.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; } -p.signature .not_defined_here, -h3.signature .not_defined_here, -p.signature .aliases, -h3.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; } -p.signature .aliases .names, -h3.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; } - -.tags .tag_title { font-size: 1.05em; margin-bottom: 0; font-weight: bold; } -.tags .tag_title tt { color: initial; padding: initial; background: initial; } -.tags ul { margin-top: 5px; padding-left: 30px; list-style: square; } -.tags ul li { margin-bottom: 3px; } -.tags ul .name { font-family: monospace; font-weight: bold; } -.tags ul .note { padding: 3px 6px; } -.tags { margin-bottom: 12px; } - -.tags .examples .tag_title { margin-bottom: 10px; font-weight: bold; } -.tags .examples .inline p { padding: 0; margin: 0; font-weight: bold; font-size: 1em; } -.tags .examples .inline p:before { content: "▸"; font-size: 1em; margin-right: 5px; } - -.tags .overload .overload_item { list-style: none; margin-bottom: 25px; } -.tags .overload .overload_item .signature { - padding: 2px 8px; - background: #F1F8FF; border: 1px solid #d8d8e5; border-radius: 3px; -} -.tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; } -.tags .overload .docstring { margin-top: 15px; } - -.defines { display: none; } - -#method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; } - -.showSource { font-size: 0.9em; } -.showSource a, .showSource a:visited { text-decoration: none; color: #666; } - -#content a, #content a:visited { text-decoration: none; color: #05a; } -#content a:hover { background: #ffffa5; } - -ul.summary { - list-style: none; - font-family: monospace; - font-size: 1em; - line-height: 1.5em; - padding-left: 0px; -} -ul.summary a, ul.summary a:visited { - text-decoration: none; font-size: 1.1em; -} -ul.summary li { margin-bottom: 5px; } -.summary_signature { padding: 4px 8px; background: #f8f8f8; border: 1px solid #f0f0f0; border-radius: 5px; } -.summary_signature:hover { background: #CFEBFF; border-color: #A4CCDA; cursor: pointer; } -.summary_signature.deprecated { background: #ffe5e5; border-color: #e9dada; } -ul.summary.compact li { display: inline-block; margin: 0px 5px 0px 0px; line-height: 2.6em;} -ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; } -#content .summary_signature:hover a, -#content .summary_signature:hover a:visited { - background: transparent; - color: #049; -} - -p.inherited a { font-family: monospace; font-size: 0.9em; } -p.inherited { word-spacing: 5px; font-size: 1.2em; } - -p.children { font-size: 1.2em; } -p.children a { font-size: 0.9em; } -p.children strong { font-size: 0.8em; } -p.children strong.modules { padding-left: 5px; } - -ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; } -ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; } -ul.fullTree li { text-align: center; padding-top: 18px; padding-bottom: 12px; background: url(data:image/gif;base64,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) no-repeat top center; } -ul.fullTree li:first-child { padding-top: 0; background: transparent; } -ul.fullTree li:last-child { padding-bottom: 0; } -.showAll ul.fullTree { display: block; } -.showAll .inheritName { display: none; } - -#search { position: absolute; right: 12px; top: 0px; z-index: 9000; } -#search a { - display: block; float: left; - padding: 4px 8px; text-decoration: none; color: #05a; fill: #05a; - border: 1px solid #d8d8e5; - border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; - background: #F1F8FF; - box-shadow: -1px 1px 3px #ddd; -} -#search a:hover { background: #f5faff; color: #06b; fill: #06b; } -#search a.active { - background: #568; padding-bottom: 20px; color: #fff; fill: #fff; - border: 1px solid #457; - border-top-left-radius: 5px; border-top-right-radius: 5px; -} -#search a.inactive { color: #999; fill: #999; } -.inheritanceTree, .toggleDefines { - float: right; - border-left: 1px solid #aaa; - position: absolute; top: 0; right: 0; - height: 100%; - background: #f6f6f6; - padding: 5px; - min-width: 55px; - text-align: center; -} - -#menu { font-size: 1.3em; color: #bbb; } -#menu .title, #menu a { font-size: 0.7em; } -#menu .title a { font-size: 1em; } -#menu .title { color: #555; } -#menu a, #menu a:visited { color: #333; text-decoration: none; border-bottom: 1px dotted #bbd; } -#menu a:hover { color: #05a; } - -#footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; } -#footer a, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; } -#footer a:hover { color: #05a; } - -#listing ul.alpha { font-size: 1.1em; } -#listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; } -#listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; } -#listing ul.alpha ul { margin: 0; padding-left: 15px; } -#listing ul small { color: #666; font-size: 0.7em; } - -li.r1 { background: #f0f0f0; } -li.r2 { background: #fafafa; } - -#content ul.summary li.deprecated .summary_signature a, -#content ul.summary li.deprecated .summary_signature a:visited { text-decoration: line-through; font-style: italic; } - -#toc { - position: relative; - float: right; - overflow-x: auto; - right: -3px; - margin-left: 20px; - margin-bottom: 20px; - padding: 20px; padding-right: 30px; - max-width: 300px; - z-index: 5000; - background: #fefefe; - border: 1px solid #ddd; - box-shadow: -2px 2px 6px #bbb; -} -#toc .title { margin: 0; } -#toc ol { padding-left: 1.8em; } -#toc li { font-size: 1.1em; line-height: 1.7em; } -#toc > ol > li { font-size: 1.1em; font-weight: bold; } -#toc ol > li > ol { font-size: 0.9em; } -#toc ol ol > li > ol { padding-left: 2.3em; } -#toc ol + li { margin-top: 0.3em; } -#toc.hidden { padding: 10px; background: #fefefe; box-shadow: none; } -#toc.hidden:hover { background: #fafafa; } -#filecontents h1 + #toc.nofloat { margin-top: 0; } -@media (max-width: 560px) { - #toc { - margin-left: 0; - margin-top: 16px; - float: none; - max-width: none; - } -} - -/* syntax highlighting */ -.source_code { display: none; padding: 3px 8px; border-left: 8px solid #ddd; margin-top: 5px; } -#filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; } -#filecontents pre.code, .docstring pre.code { display: block; } -.source_code .lines { padding-right: 12px; color: #555; text-align: right; } -#filecontents pre.code, .docstring pre.code, -.tags pre.example { - padding: 9px 14px; - margin-top: 4px; - border: 1px solid #e1e1e8; - background: #f7f7f9; - border-radius: 4px; - font-size: 1em; - overflow-x: auto; - line-height: 1.2em; -} -pre.code { color: #000; tab-size: 2; } -pre.code .info.file { color: #555; } -pre.code .val { color: #036A07; } -pre.code .tstring_content, -pre.code .heredoc_beg, pre.code .heredoc_end, -pre.code .qwords_beg, pre.code .qwords_end, pre.code .qwords_sep, -pre.code .words_beg, pre.code .words_end, pre.code .words_sep, -pre.code .qsymbols_beg, pre.code .qsymbols_end, pre.code .qsymbols_sep, -pre.code .symbols_beg, pre.code .symbols_end, pre.code .symbols_sep, -pre.code .tstring, pre.code .dstring { color: #036A07; } -pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s, -pre.code .rubyid_to_sym, pre.code .rubyid_to_f, -pre.code .dot + pre.code .id, -pre.code .rubyid_to_i pre.code .rubyid_each { color: #0085FF; } -pre.code .comment { color: #0066FF; } -pre.code .const, pre.code .constant { color: #585CF6; } -pre.code .label, -pre.code .symbol { color: #C5060B; } -pre.code .kw, -pre.code .rubyid_require, -pre.code .rubyid_extend, -pre.code .rubyid_include { color: #0000FF; } -pre.code .ivar { color: #318495; } -pre.code .gvar, -pre.code .rubyid_backref, -pre.code .rubyid_nth_ref { color: #6D79DE; } -pre.code .regexp, .dregexp { color: #036A07; } -pre.code a { border-bottom: 1px dotted #bbf; } -/* inline code */ -*:not(pre) > code { - padding: 1px 3px 1px 3px; - border: 1px solid #E1E1E8; - background: #F7F7F9; - border-radius: 4px; -} - -/* Color fix for links */ -#content .summary_desc pre.code .id > .object_link a, /* identifier */ -#content .docstring pre.code .id > .object_link a { color: #0085FF; } -#content .summary_desc pre.code .const > .object_link a, /* constant */ -#content .docstring pre.code .const > .object_link a { color: #585CF6; } diff --git a/documentation/chat/backend/file.README.html b/documentation/chat/backend/file.README.html deleted file mode 100644 index 0c494a8e710..00000000000 --- a/documentation/chat/backend/file.README.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - File: README - - — Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
    - - -
    -

    This plugin is still in active development and may change frequently

    - -

    Documentation

    - -

    The Discourse Chat plugin adds chat functionality to your Discourse so it can natively support both long-form and short-form communication needs of your online community.

    - -

    For user documentation, see Discourse Chat.

    - -

    For developer documentation, see Discourse Documentation.

    -
    - - - - -
    - - \ No newline at end of file diff --git a/documentation/chat/backend/file_list.html b/documentation/chat/backend/file_list.html deleted file mode 100644 index 2b6df40424f..00000000000 --- a/documentation/chat/backend/file_list.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - File List - - - -
    -
    -

    File List

    - - - -
    - - -
    - - diff --git a/documentation/chat/backend/frames.html b/documentation/chat/backend/frames.html deleted file mode 100644 index a65e93650a9..00000000000 --- a/documentation/chat/backend/frames.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - Documentation by YARD 0.9.28 - - - - diff --git a/documentation/chat/backend/index.html b/documentation/chat/backend/index.html deleted file mode 100644 index df5d7faf40e..00000000000 --- a/documentation/chat/backend/index.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - File: README - - — Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
    - - -
    -

    This plugin is still in active development and may change frequently

    - -

    Documentation

    - -

    The Discourse Chat plugin adds chat functionality to your Discourse so it can natively support both long-form and short-form communication needs of your online community.

    - -

    For user documentation, see Discourse Chat.

    - -

    For developer documentation, see Discourse Documentation.

    -
    - - - - -
    - - \ No newline at end of file diff --git a/documentation/chat/backend/js/app.js b/documentation/chat/backend/js/app.js deleted file mode 100644 index 8d067fe30ce..00000000000 --- a/documentation/chat/backend/js/app.js +++ /dev/null @@ -1,314 +0,0 @@ -(function() { - -var localStorage = {}, sessionStorage = {}; -try { localStorage = window.localStorage; } catch (e) { } -try { sessionStorage = window.sessionStorage; } catch (e) { } - -function createSourceLinks() { - $('.method_details_list .source_code'). - before("[View source]"); - $('.toggleSource').toggle(function() { - $(this).parent().nextAll('.source_code').slideDown(100); - $(this).text("Hide source"); - }, - function() { - $(this).parent().nextAll('.source_code').slideUp(100); - $(this).text("View source"); - }); -} - -function createDefineLinks() { - var tHeight = 0; - $('.defines').after(" more..."); - $('.toggleDefines').toggle(function() { - tHeight = $(this).parent().prev().height(); - $(this).prev().css('display', 'inline'); - $(this).parent().prev().height($(this).parent().height()); - $(this).text("(less)"); - }, - function() { - $(this).prev().hide(); - $(this).parent().prev().height(tHeight); - $(this).text("more..."); - }); -} - -function createFullTreeLinks() { - var tHeight = 0; - $('.inheritanceTree').toggle(function() { - tHeight = $(this).parent().prev().height(); - $(this).parent().toggleClass('showAll'); - $(this).text("(hide)"); - $(this).parent().prev().height($(this).parent().height()); - }, - function() { - $(this).parent().toggleClass('showAll'); - $(this).parent().prev().height(tHeight); - $(this).text("show all"); - }); -} - -function searchFrameButtons() { - $('.full_list_link').click(function() { - toggleSearchFrame(this, $(this).attr('href')); - return false; - }); - window.addEventListener('message', function(e) { - if (e.data === 'navEscape') { - $('#nav').slideUp(100); - $('#search a').removeClass('active inactive'); - $(window).focus(); - } - }); - - $(window).resize(function() { - if ($('#search:visible').length === 0) { - $('#nav').removeAttr('style'); - $('#search a').removeClass('active inactive'); - $(window).focus(); - } - }); -} - -function toggleSearchFrame(id, link) { - var frame = $('#nav'); - $('#search a').removeClass('active').addClass('inactive'); - if (frame.attr('src') === link && frame.css('display') !== "none") { - frame.slideUp(100); - $('#search a').removeClass('active inactive'); - } - else { - $(id).addClass('active').removeClass('inactive'); - if (frame.attr('src') !== link) frame.attr('src', link); - frame.slideDown(100); - } -} - -function linkSummaries() { - $('.summary_signature').click(function() { - document.location = $(this).find('a').attr('href'); - }); -} - -function summaryToggle() { - $('.summary_toggle').click(function(e) { - e.preventDefault(); - localStorage.summaryCollapsed = $(this).text(); - $('.summary_toggle').each(function() { - $(this).text($(this).text() == "collapse" ? "expand" : "collapse"); - var next = $(this).parent().parent().nextAll('ul.summary').first(); - if (next.hasClass('compact')) { - next.toggle(); - next.nextAll('ul.summary').first().toggle(); - } - else if (next.hasClass('summary')) { - var list = $('
      '); - list.html(next.html()); - list.find('.summary_desc, .note').remove(); - list.find('a').each(function() { - $(this).html($(this).find('strong').html()); - $(this).parent().html($(this)[0].outerHTML); - }); - next.before(list); - next.toggle(); - } - }); - return false; - }); - if (localStorage.summaryCollapsed == "collapse") { - $('.summary_toggle').first().click(); - } else { localStorage.summaryCollapsed = "expand"; } -} - -function constantSummaryToggle() { - $('.constants_summary_toggle').click(function(e) { - e.preventDefault(); - localStorage.summaryCollapsed = $(this).text(); - $('.constants_summary_toggle').each(function() { - $(this).text($(this).text() == "collapse" ? "expand" : "collapse"); - var next = $(this).parent().parent().nextAll('dl.constants').first(); - if (next.hasClass('compact')) { - next.toggle(); - next.nextAll('dl.constants').first().toggle(); - } - else if (next.hasClass('constants')) { - var list = $('
      '); - list.html(next.html()); - list.find('dt').each(function() { - $(this).addClass('summary_signature'); - $(this).text( $(this).text().split('=')[0]); - if ($(this).has(".deprecated").length) { - $(this).addClass('deprecated'); - }; - }); - // Add the value of the constant as "Tooltip" to the summary object - list.find('pre.code').each(function() { - console.log($(this).parent()); - var dt_element = $(this).parent().prev(); - var tooltip = $(this).text(); - if (dt_element.hasClass("deprecated")) { - tooltip = 'Deprecated. ' + tooltip; - }; - dt_element.attr('title', tooltip); - }); - list.find('.docstring, .tags, dd').remove(); - next.before(list); - next.toggle(); - } - }); - return false; - }); - if (localStorage.summaryCollapsed == "collapse") { - $('.constants_summary_toggle').first().click(); - } else { localStorage.summaryCollapsed = "expand"; } -} - -function generateTOC() { - if ($('#filecontents').length === 0) return; - var _toc = $('
        '); - var show = false; - var toc = _toc; - var counter = 0; - var tags = ['h2', 'h3', 'h4', 'h5', 'h6']; - var i; - var curli; - if ($('#filecontents h1').length > 1) tags.unshift('h1'); - for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; } - var lastTag = parseInt(tags[0][1], 10); - $(tags.join(', ')).each(function() { - if ($(this).parents('.method_details .docstring').length != 0) return; - if (this.id == "filecontents") return; - show = true; - var thisTag = parseInt(this.tagName[1], 10); - if (this.id.length === 0) { - var proposedId = $(this).attr('toc-id'); - if (typeof(proposedId) != "undefined") this.id = proposedId; - else { - var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_'); - if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; } - this.id = proposedId; - } - } - if (thisTag > lastTag) { - for (i = 0; i < thisTag - lastTag; i++) { - if ( typeof(curli) == "undefined" ) { - curli = $('
      1. '); - toc.append(curli); - } - toc = $('
          '); - curli.append(toc); - curli = undefined; - } - } - if (thisTag < lastTag) { - for (i = 0; i < lastTag - thisTag; i++) { - toc = toc.parent(); - toc = toc.parent(); - } - } - var title = $(this).attr('toc-title'); - if (typeof(title) == "undefined") title = $(this).text(); - curli =$('
        1. ' + title + '
        2. '); - toc.append(curli); - lastTag = thisTag; - }); - if (!show) return; - html = ''; - $('#content').prepend(html); - $('#toc').append(_toc); - $('#toc .hide_toc').toggle(function() { - $('#toc .top').slideUp('fast'); - $('#toc').toggleClass('hidden'); - $('#toc .title small').toggle(); - }, function() { - $('#toc .top').slideDown('fast'); - $('#toc').toggleClass('hidden'); - $('#toc .title small').toggle(); - }); -} - -function navResizeFn(e) { - if (e.which !== 1) { - navResizeFnStop(); - return; - } - - sessionStorage.navWidth = e.pageX.toString(); - $('.nav_wrap').css('width', e.pageX); - $('.nav_wrap').css('-ms-flex', 'inherit'); -} - -function navResizeFnStop() { - $(window).unbind('mousemove', navResizeFn); - window.removeEventListener('message', navMessageFn, false); -} - -function navMessageFn(e) { - if (e.data.action === 'mousemove') navResizeFn(e.data.event); - if (e.data.action === 'mouseup') navResizeFnStop(); -} - -function navResizer() { - $('#resizer').mousedown(function(e) { - e.preventDefault(); - $(window).mousemove(navResizeFn); - window.addEventListener('message', navMessageFn, false); - }); - $(window).mouseup(navResizeFnStop); - - if (sessionStorage.navWidth) { - navResizeFn({which: 1, pageX: parseInt(sessionStorage.navWidth, 10)}); - } -} - -function navExpander() { - var done = false, timer = setTimeout(postMessage, 500); - function postMessage() { - if (done) return; - clearTimeout(timer); - var opts = { action: 'expand', path: pathId }; - document.getElementById('nav').contentWindow.postMessage(opts, '*'); - done = true; - } - - window.addEventListener('message', function(event) { - if (event.data === 'navReady') postMessage(); - return false; - }, false); -} - -function mainFocus() { - var hash = window.location.hash; - if (hash !== '' && $(hash)[0]) { - $(hash)[0].scrollIntoView(); - } - - setTimeout(function() { $('#main').focus(); }, 10); -} - -function navigationChange() { - // This works around the broken anchor navigation with the YARD template. - window.onpopstate = function() { - var hash = window.location.hash; - if (hash !== '' && $(hash)[0]) { - $(hash)[0].scrollIntoView(); - } - }; -} - -$(document).ready(function() { - navResizer(); - navExpander(); - createSourceLinks(); - createDefineLinks(); - createFullTreeLinks(); - searchFrameButtons(); - linkSummaries(); - summaryToggle(); - constantSummaryToggle(); - generateTOC(); - mainFocus(); - navigationChange(); -}); - -})(); diff --git a/documentation/chat/backend/js/full_list.js b/documentation/chat/backend/js/full_list.js deleted file mode 100644 index 59069c5e210..00000000000 --- a/documentation/chat/backend/js/full_list.js +++ /dev/null @@ -1,216 +0,0 @@ -(function() { - -var $clicked = $(null); -var searchTimeout = null; -var searchCache = []; -var caseSensitiveMatch = false; -var ignoreKeyCodeMin = 8; -var ignoreKeyCodeMax = 46; -var commandKey = 91; - -RegExp.escape = function(text) { - return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); -} - -function escapeShortcut() { - $(document).keydown(function(evt) { - if (evt.which == 27) { - window.parent.postMessage('navEscape', '*'); - } - }); -} - -function navResizer() { - $(window).mousemove(function(e) { - window.parent.postMessage({ - action: 'mousemove', event: {pageX: e.pageX, which: e.which} - }, '*'); - }).mouseup(function(e) { - window.parent.postMessage({action: 'mouseup'}, '*'); - }); - window.parent.postMessage("navReady", "*"); -} - -function clearSearchTimeout() { - clearTimeout(searchTimeout); - searchTimeout = null; -} - -function enableLinks() { - // load the target page in the parent window - $('#full_list li').on('click', function(evt) { - $('#full_list li').removeClass('clicked'); - $clicked = $(this); - $clicked.addClass('clicked'); - evt.stopPropagation(); - - if (evt.target.tagName === 'A') return true; - - var elem = $clicked.find('> .item .object_link a')[0]; - var e = evt.originalEvent; - var newEvent = new MouseEvent(evt.originalEvent.type); - newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget); - elem.dispatchEvent(newEvent); - evt.preventDefault(); - return false; - }); -} - -function enableToggles() { - // show/hide nested classes on toggle click - $('#full_list a.toggle').on('click', function(evt) { - evt.stopPropagation(); - evt.preventDefault(); - $(this).parent().parent().toggleClass('collapsed'); - highlight(); - }); -} - -function populateSearchCache() { - $('#full_list li .item').each(function() { - var $node = $(this); - var $link = $node.find('.object_link a'); - if ($link.length > 0) { - searchCache.push({ - node: $node, - link: $link, - name: $link.text(), - fullName: $link.attr('title').split(' ')[0] - }); - } - }); -} - -function enableSearch() { - $('#search input').keyup(function(event) { - if (ignoredKeyPress(event)) return; - if (this.value === "") { - clearSearch(); - } else { - performSearch(this.value); - } - }); - - $('#full_list').after(""); -} - -function ignoredKeyPress(event) { - if ( - (event.keyCode > ignoreKeyCodeMin && event.keyCode < ignoreKeyCodeMax) || - (event.keyCode == commandKey) - ) { - return true; - } else { - return false; - } -} - -function clearSearch() { - clearSearchTimeout(); - $('#full_list .found').removeClass('found').each(function() { - var $link = $(this).find('.object_link a'); - $link.text($link.text()); - }); - $('#full_list, #content').removeClass('insearch'); - $clicked.parents().removeClass('collapsed'); - highlight(); -} - -function performSearch(searchString) { - clearSearchTimeout(); - $('#full_list, #content').addClass('insearch'); - $('#noresults').text('').hide(); - partialSearch(searchString, 0); -} - -function partialSearch(searchString, offset) { - var lastRowClass = ''; - var i = null; - for (i = offset; i < Math.min(offset + 50, searchCache.length); i++) { - var item = searchCache[i]; - var searchName = (searchString.indexOf('::') != -1 ? item.fullName : item.name); - var matchString = buildMatchString(searchString); - var matchRegexp = new RegExp(matchString, caseSensitiveMatch ? "" : "i"); - if (searchName.match(matchRegexp) == null) { - item.node.removeClass('found'); - item.link.text(item.link.text()); - } - else { - item.node.addClass('found'); - item.node.removeClass(lastRowClass).addClass(lastRowClass == 'r1' ? 'r2' : 'r1'); - lastRowClass = item.node.hasClass('r1') ? 'r1' : 'r2'; - item.link.html(item.name.replace(matchRegexp, "$&")); - } - } - if(i == searchCache.length) { - searchDone(); - } else { - searchTimeout = setTimeout(function() { - partialSearch(searchString, i); - }, 0); - } -} - -function searchDone() { - searchTimeout = null; - highlight(); - if ($('#full_list li:visible').size() === 0) { - $('#noresults').text('No results were found.').hide().fadeIn(); - } else { - $('#noresults').text('').hide(); - } - $('#content').removeClass('insearch'); -} - -function buildMatchString(searchString, event) { - caseSensitiveMatch = searchString.match(/[A-Z]/) != null; - var regexSearchString = RegExp.escape(searchString); - if (caseSensitiveMatch) { - regexSearchString += "|" + - $.map(searchString.split(''), function(e) { return RegExp.escape(e); }). - join('.+?'); - } - return regexSearchString; -} - -function highlight() { - $('#full_list li:visible').each(function(n) { - $(this).removeClass('even odd').addClass(n % 2 == 0 ? 'odd' : 'even'); - }); -} - -/** - * Expands the tree to the target element and its immediate - * children. - */ -function expandTo(path) { - var $target = $(document.getElementById('object_' + path)); - $target.addClass('clicked'); - $target.removeClass('collapsed'); - $target.parentsUntil('#full_list', 'li').removeClass('collapsed'); - if($target[0]) { - window.scrollTo(window.scrollX, $target.offset().top - 250); - highlight(); - } -} - -function windowEvents(event) { - var msg = event.data; - if (msg.action === "expand") { - expandTo(msg.path); - } - return false; -} - -window.addEventListener("message", windowEvents, false); - -$(document).ready(function() { - escapeShortcut(); - navResizer(); - enableLinks(); - enableToggles(); - populateSearchCache(); - enableSearch(); -}); - -})(); diff --git a/documentation/chat/backend/js/jquery.js b/documentation/chat/backend/js/jquery.js deleted file mode 100644 index 198b3ff07d8..00000000000 --- a/documentation/chat/backend/js/jquery.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.7.1 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
    "+""+"
    ",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
    t
    ",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
    ",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; -f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() -{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/documentation/chat/backend/method_list.html b/documentation/chat/backend/method_list.html deleted file mode 100644 index 16b5d99b647..00000000000 --- a/documentation/chat/backend/method_list.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - - - - - - - - - - Method List - - - -
    -
    -

    Method List

    - - - -
    - -
      - - -
    • -
      - contract - Chat::Service::Base -
      -
    • - - -
    • -
      - model - Chat::Service::Base -
      -
    • - - -
    • -
      - policy - Chat::Service::Base -
      -
    • - - -
    • -
      - step - Chat::Service::Base -
      -
    • - - -
    • -
      - transaction - Chat::Service::Base -
      -
    • - - -
    • -
      - #fail - Chat::Service::Base::Context -
      -
    • - - -
    • -
      - #fail! - Chat::Service::Base::Context -
      -
    • - - -
    • -
      - #failure? - Chat::Service::Base::Context -
      -
    • - - -
    • -
      - #success? - Chat::Service::Base::Context -
      -
    • - - -
    • -
      - #context - Chat::Service::Base::Failure -
      -
    • - - -
    • -
      - #call - Chat::Service::TrashChannel -
      -
    • - - -
    • -
      - #call - Chat::Service::UpdateChannel -
      -
    • - - -
    • -
      - #call - Chat::Service::UpdateChannelStatus -
      -
    • - - -
    • -
      - #call - Chat::Service::UpdateUserLastRead -
      -
    • - - - -
    -
    - - diff --git a/documentation/chat/backend/top-level-namespace.html b/documentation/chat/backend/top-level-namespace.html deleted file mode 100644 index 5ac499bd4e8..00000000000 --- a/documentation/chat/backend/top-level-namespace.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - Top Level Namespace - - — Documentation by YARD 0.9.28 - - - - - - - - - - - - - - - - - - - -
    - - -

    Top Level Namespace - - - -

    -
    - - - - - - - - - - - -
    - -

    Defined Under Namespace

    -

    - - - Modules: Chat - - - - -

    - - - - - - - - - -
    - - - - -
    - - \ No newline at end of file diff --git a/documentation/chat/frontend/PluginApi.html b/documentation/chat/frontend/PluginApi.html deleted file mode 100644 index 90810a73205..00000000000 --- a/documentation/chat/frontend/PluginApi.html +++ /dev/null @@ -1,1217 +0,0 @@ - - - - - Discourse: PluginApi - - - - - - - - -
    - -

    - - Discourse - -

    - -
    - - -
    -
    -

    Class

    -

    PluginApi

    - - - - - -
    - - -
    - - - - - - - - - - - - -
    - -
    -
    - - - - - - - - - - - - - - - -
    - -
    - -

    new PluginApi() -

    - - - - - -
    - - Class exposing the javascript API available to plugins and themes. -
    - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - -

    Source

    - - - - - -
    - - - - - - - - - - - - - - - -

    Methods

    - - - - - -
    - - - - - - - - - -
    - -
    - -

    decorateChatMessage(decorator) -

    - - - - - -
    - - Decorate a chat message -
    - - - - - - - - - -

    Parameters

    - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - -

    Example

    - -
    api.decorateChatMessage((chatMessage, messageContainer) => {
    -  messageContainer.dataset.foo = chatMessage.id;
    -});
    - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    registerChatComposerButton(options) -

    - - - - - -
    - - Register a button in the chat composer -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - options - - - - - - - - Object - - - - - - - - - -
      - -

      Properties

      - - -
        - - -
      • - - id - - - - - - - - number - - - - - - - - - - - - - - - - - -
        The id of the button
        - -
      • - - - -
      • - - action - - - - - - - - function - - - - - - - - - - - - - - - - - -
        An action name or an anonymous function called when the button is pressed, eg: "onFooClicked" or `() => { console.log("clicked") }`
        - -
      • - - - -
      • - - icon - - - - - - - - string - - - - - - - - - - - - - - - - - -
        A valid font awesome icon name, eg: "far fa-image"
        - -
      • - - - -
      • - - label - - - - - - - - string - - - - - - - - - - - - - - - - - -
        Text displayed on the button, a translatable key, eg: "foo.bar"
        - -
      • - - - -
      • - - translatedLabel - - - - - - - - string - - - - - - - - - - - - - - - - - -
        Text displayed on the button, a string, eg: "Add gifs"
        - -
      • - - - -
      • - - position - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Can be "inline" or "dropdown", defaults to "inline"
        - -
      • - - - -
      • - - title - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Title attribute of the button, a translatable key, eg: "foo.bar"
        - -
      • - - - -
      • - - translatedTitle - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Title attribute of the button, a string, eg: "Add gifs"
        - -
      • - - - -
      • - - ariaLabel - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        aria-label attribute of the button, a translatable key, eg: "foo.bar"
        - -
      • - - - -
      • - - translatedAriaLabel - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        aria-label attribute of the button, a string, eg: "Add gifs"
        - -
      • - - - -
      • - - classNames - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Additional names to add to the button’s class attribute, eg: ["foo", "bar"]
        - -
      • - - - -
      • - - displayed - - - - - - - - boolean - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Hide or show the button
        - -
      • - - - -
      • - - disabled - - - - - - - - boolean - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Sets the disabled attribute on the button
        - -
      • - - - -
      • - - priority - - - - - - - - number - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        An integer defining the order of the buttons, higher comes first, eg: `700`
        - -
      • - - - -
      • - - dependentKeys - - - - - - - - Array.<string> - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        List of property names which should trigger a refresh of the buttons when changed, eg: `["foo.bar", "bar.baz"]`
        - -
      • - - -
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - -

    Example

    - -
    api.registerChatComposerButton({
    -  id: "foo",
    -  displayed() {
    -    return this.site.mobileView && this.canAttachUploads;
    -  }
    -});
    - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -

    Type Definitions

    - - - - - -
    - - - - - - - - - -
    - -
    - -

    decorateChatMessageCallback(chatMessage, messageContainer, chatChannel) -

    - - - - - -
    - - Callback used to decorate a chat message -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - chatMessage - - - - - - - - ChatMessage - - - - - - - - - -
      model
      - -
    • - - - -
    • - - messageContainer - - - - - - - - HTMLElement - - - - - - - - - -
      DOM node
      - -
    • - - - -
    • - - chatChannel - - - - - - - - ChatChannel - - - - - - - - - -
      model
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - -
    - - - - -
    -
    - - - - - - - - \ No newline at end of file diff --git a/documentation/chat/frontend/global.html b/documentation/chat/frontend/global.html deleted file mode 100644 index 3ac821fd57f..00000000000 --- a/documentation/chat/frontend/global.html +++ /dev/null @@ -1,372 +0,0 @@ - - - - - Discourse: Global - - - - - - - - -
    - -

    - - Discourse - -

    - -
    - - -
    -
    -

    -

    Global

    - - - - - -
    - - -
    - - - - - - - - - - - - -
    - -
    -
    - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - - - - - - - - - - -

    Methods

    - - - - - -
    - - - - - - - - - -
    - -
    - -

    load() → {Promise} -

    - - - - - -
    - - Loads first batch of results -
    - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    loadMore() → {Promise} -

    - - - - - -
    - - Attempts to load more results -
    - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - - - -
    - -
    - - - - -
    -
    - - - - - - - - \ No newline at end of file diff --git a/documentation/chat/frontend/index.html b/documentation/chat/frontend/index.html deleted file mode 100644 index 1aa37512e0f..00000000000 --- a/documentation/chat/frontend/index.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - Discourse: - - - - - - - - -
    - -

    - - Discourse - -

    - -
    - - -
    -
    -

    -

    - - - - - - - -

    - - - - - - - - - - - - - - - -
    -

    This plugin is still in active development and may change frequently

    -

    Documentation

    -

    The Discourse Chat plugin adds chat functionality to your Discourse so it can natively support both long-form and short-form communication needs of your online community.

    -

    For user documentation, see Discourse Chat.

    -

    For developer documentation, see Discourse Documentation.

    -
    - - - - - - -
    -
    - - - - - - - - \ No newline at end of file diff --git a/documentation/chat/frontend/lib_collection.js.html b/documentation/chat/frontend/lib_collection.js.html deleted file mode 100644 index 53d771795cd..00000000000 --- a/documentation/chat/frontend/lib_collection.js.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - - Discourse: lib/collection.js - - - - - - - - -
    - -

    - - Discourse - -

    - -
    - - -
    -
    -

    source

    -

    lib/collection.js

    - - - - - - -
    -
    -
    import { ajax } from "discourse/lib/ajax";
    -import { tracked } from "@glimmer/tracking";
    -import { bind } from "discourse-common/utils/decorators";
    -import { Promise } from "rsvp";
    -
    -/**
    - * Handles a paginated API response.
    - */
    -export default class Collection {
    -  @tracked items = [];
    -  @tracked meta = {};
    -  @tracked loading = false;
    -
    -  constructor(resourceURL, handler) {
    -    this._resourceURL = resourceURL;
    -    this._handler = handler;
    -    this._fetchedAll = false;
    -  }
    -
    -  get loadMoreURL() {
    -    return this.meta.load_more_url;
    -  }
    -
    -  get totalRows() {
    -    return this.meta.total_rows;
    -  }
    -
    -  get length() {
    -    return this.items.length;
    -  }
    -
    -  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols
    -  [Symbol.iterator]() {
    -    let index = 0;
    -
    -    return {
    -      next: () => {
    -        if (index < this.items.length) {
    -          return { value: this.items[index++], done: false };
    -        } else {
    -          return { done: true };
    -        }
    -      },
    -    };
    -  }
    -
    -  /**
    -   * Loads first batch of results
    -   * @returns {Promise}
    -   */
    -  @bind
    -  load(params = {}) {
    -    this._fetchedAll = false;
    -
    -    if (this.loading) {
    -      return Promise.resolve();
    -    }
    -
    -    this.loading = true;
    -
    -    const filteredQueryParams = Object.entries(params).filter(
    -      ([, v]) => v !== undefined
    -    );
    -    const queryString = new URLSearchParams(filteredQueryParams).toString();
    -
    -    const endpoint = this._resourceURL + (queryString ? `?${queryString}` : "");
    -    return this.#fetch(endpoint)
    -      .then((result) => {
    -        this.items = this._handler(result);
    -        this.meta = result.meta;
    -      })
    -      .finally(() => {
    -        this.loading = false;
    -      });
    -  }
    -
    -  /**
    -   * Attempts to load more results
    -   * @returns {Promise}
    -   */
    -  @bind
    -  loadMore() {
    -    let promise = Promise.resolve();
    -
    -    if (this.loading) {
    -      return promise;
    -    }
    -
    -    if (
    -      this._fetchedAll ||
    -      (this.totalRows && this.items.length >= this.totalRows)
    -    ) {
    -      return promise;
    -    }
    -
    -    this.loading = true;
    -
    -    if (this.loadMoreURL) {
    -      promise = this.#fetch(this.loadMoreURL).then((result) => {
    -        const newItems = this._handler(result);
    -
    -        if (newItems.length) {
    -          this.items = this.items.concat(newItems);
    -        } else {
    -          this._fetchedAll = true;
    -        }
    -        this.meta = result.meta;
    -      });
    -    }
    -
    -    return promise.finally(() => {
    -      this.loading = false;
    -    });
    -  }
    -
    -  #fetch(url) {
    -    return ajax(url, { type: "GET" });
    -  }
    -}
    -
    -
    -
    - - - - -
    -
    - - - - - - - - diff --git a/documentation/chat/frontend/module-ChatApi.html b/documentation/chat/frontend/module-ChatApi.html deleted file mode 100644 index fc73b931c23..00000000000 --- a/documentation/chat/frontend/module-ChatApi.html +++ /dev/null @@ -1,3236 +0,0 @@ - - - - - Discourse: ChatApi - - - - - - - - -
    - -

    - - Discourse - -

    - -
    - - -
    -
    -

    Module

    -

    ChatApi

    - - - - - -
    - - -
    - - - -
    - -
    -
    - - - - - -
    Chat API service. Provides methods to interact with the chat API.
    - - - - - -
    - - - - - - - - - - - -

    Implements

    -
      - -
    • {@ember/service}
    • - -
    - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - - - - - - - - - - -

    Methods

    - - - - - -
    - - - - - - - - - -
    - -
    - -

    categoryPermissions(categoryId) → {Promise} -

    - - - - - -
    - - Lists chat permissions for a category. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - categoryId - - - - - - - - number - - - - - - - - - -
      ID of the category.
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    channel(channelId) → {Promise} -

    - - - - - -
    - - Get a channel by its ID. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - channelId - - - - - - - - number - - - - - - - - - -
      The ID of the channel.
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - -

    Example

    - -
    this.chatApi.channel(1).then(channel => { ... })
    - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    channels() → {Collection} -

    - - - - - -
    - - List all accessible category channels of the current user. -
    - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Collection - - -
    • - -
    - - - - -

    Example

    - -
    this.chatApi.channels.then(channels => { ... })
    - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    createChannel(data) → {Promise} -

    - - - - - -
    - - Creates a channel. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - data - - - - - - - - object - - - - - - - - - -
      Params of the channel.
      - -

      Properties

      - - -
        - - -
      • - - name - - - - - - - - string - - - - - - - - - - - - - - - - - -
        The name of the channel.
        - -
      • - - - -
      • - - chatable_id - - - - - - - - string - - - - - - - - - - - - - - - - - -
        The category of the channel.
        - -
      • - - - -
      • - - description - - - - - - - - string - - - - - - - - - - - - - - - - - -
        The description of the channel.
        - -
      • - - - -
      • - - auto_join_users - - - - - - - - boolean - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Should users join this channel automatically.
        - -
      • - - -
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - -

    Example

    - -
    this.chatApi
    -     .createChannel({ name: "foo", chatable_id: 1, description "bar" })
    -     .then((channel) => { ... })
    - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    createChannelArchive(channelId, data) → {Promise} -

    - - - - - -
    - - Creates a channel archive. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - channelId - - - - - - - - number - - - - - - - - - -
      The ID of the channel.
      - -
    • - - - -
    • - - data - - - - - - - - object - - - - - - - - - -
      Params of the archive.
      - -

      Properties

      - - -
        - - -
      • - - selection - - - - - - - - string - - - - - - - - - - - - - - - - - -
        "new_topic" or "existing_topic".
        - -
      • - - - -
      • - - title - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Title of the topic when creating a new topic.
        - -
      • - - - -
      • - - category_id - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        ID of the category used when creating a new topic.
        - -
      • - - - -
      • - - tags - - - - - - - - Array.<string> - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        tags used when creating a new topic.
        - -
      • - - - -
      • - - topic_id - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        ID of the topic when using an existing topic.
        - -
      • - - -
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    destroyChannel(channelId) → {Promise} -

    - - - - - -
    - - Destroys a channel. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - channelId - - - - - - - - number - - - - - - - - - -
      The ID of the channel.
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - -

    Example

    - -
    this.chatApi.destroyChannel(1).then(() => { ... })
    - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    followChannel(channelId) → {Promise} -

    - - - - - -
    - - Makes current user follow a channel. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - channelId - - - - - - - - number - - - - - - - - - -
      The ID of the channel.
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    listChannelMemberships(channelId) → {Collection} -

    - - - - - -
    - - Lists members of a channel. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - channelId - - - - - - - - number - - - - - - - - - -
      The ID of the channel.
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Collection - - -
    • - -
    - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    listCurrentUserChannels() → {Promise} -

    - - - - - -
    - - Lists public and direct message channels of the current user. -
    - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    moveChannelMessages(channelId, data) → {Promise} -

    - - - - - -
    - - Moves messages from one channel to another. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - channelId - - - - - - - - number - - - - - - - - - -
      The ID of the original channel.
      - -
    • - - - -
    • - - data - - - - - - - - object - - - - - - - - - -
      Params of the move.
      - -

      Properties

      - - -
        - - -
      • - - message_ids - - - - - - - - Array.<number> - - - - - - - - - -
        IDs of the moved messages.
        - -
      • - - - -
      • - - destination_channel_id - - - - - - - - number - - - - - - - - - -
        ID of the channel where the messages are moved to.
        - -
      • - - -
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - -

    Example

    - -
    this.chatApi
    -    .moveChannelMessages(1, {
    -      message_ids: [2, 3],
    -      destination_channel_id: 4,
    -    }).then(() => { ... })
    - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    sendMessage(channelId, data) → {Promise} -

    - - - - - -
    - - Sends a message. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - channelId - - - - - - - - number - - - - - - - - - -
      ID of the channel.
      - -
    • - - - -
    • - - data - - - - - - - - object - - - - - - - - - -
      Params of the message.
      - -

      Properties

      - - -
        - - -
      • - - message - - - - - - - - string - - - - - - - - - - - - - - - - - -
        The raw content of the message in markdown.
        - -
      • - - - -
      • - - cooked - - - - - - - - string - - - - - - - - - - - - - - - - - -
        The cooked content of the message.
        - -
      • - - - -
      • - - in_reply_to_id - - - - - - - - number - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        The ID of the replied-to message.
        - -
      • - - - -
      • - - staged_id - - - - - - - - number - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        The staged ID of the message before it was persisted.
        - -
      • - - - -
      • - - upload_ids - - - - - - - - Array.<number> - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Array of upload ids linked to the message.
        - -
      • - - -
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    unfollowChannel(channelId) → {Promise} -

    - - - - - -
    - - Makes current user unfollow a channel. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - channelId - - - - - - - - number - - - - - - - - - -
      The ID of the channel.
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    updateChannel(channelId, data) → {Promise} -

    - - - - - -
    - - Updates a channel. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - channelId - - - - - - - - number - - - - - - - - - -
      The ID of the channel.
      - -
    • - - - -
    • - - data - - - - - - - - object - - - - - - - - - -
      Params of the archive.
      - -

      Properties

      - - -
        - - -
      • - - description - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Description of the channel.
        - -
      • - - - -
      • - - name - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Name of the channel.
        - -
      • - - -
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    updateChannelStatus(channelId, status) → {Promise} -

    - - - - - -
    - - Updates the status of a channel. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - channelId - - - - - - - - number - - - - - - - - - -
      The ID of the channel.
      - -
    • - - - -
    • - - status - - - - - - - - string - - - - - - - - - -
      The new status, can be "open" or "closed".
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - -
    - - - - - - - - - -
    - -
    - -

    updateCurrentUserChannelNotificationsSettings(channelId, data) → {Promise} -

    - - - - - -
    - - Update notifications settings of current user for a channel. -
    - - - - - - - - - -

    Parameters

    - - -
      - - -
    • - - channelId - - - - - - - - number - - - - - - - - - -
      The ID of the channel.
      - -
    • - - - -
    • - - data - - - - - - - - object - - - - - - - - - -
      The settings to modify.
      - -

      Properties

      - - -
        - - -
      • - - muted - - - - - - - - boolean - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Mutes the channel.
        - -
      • - - - -
      • - - desktop_notification_level - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Notifications level on desktop: never, mention or always.
        - -
      • - - - -
      • - - mobile_notification_level - - - - - - - - string - - - - - - - - - <optional>
        - - - - - -
        - - - - -
        Notifications level on mobile: never, mention or always.
        - -
      • - - -
      - -
    • - - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -

    Returns

    -
      - -
    • - - Promise - - -
    • - -
    - - - - - - - - - - - - - - - - -

    Source

    - - - - -
    - - - - - - - -
    - -
    - - - - -
    -
    - - - - - - - - \ No newline at end of file diff --git a/documentation/chat/frontend/module.exports.html b/documentation/chat/frontend/module.exports.html deleted file mode 100644 index fb56f529cb8..00000000000 --- a/documentation/chat/frontend/module.exports.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - Discourse: exports - - - - - - - - -
    - -

    - - Discourse - -

    - -
    - - -
    -
    -

    Class

    -

    exports

    - - - - - -
    - - -
    - - - - - - - - - - - - -
    Handles a paginated API response.
    - - -
    - -
    -
    - - - - - - - - - - - - - - -

    Constructor

    - - -
    - -
    - -

    new exports() -

    - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - -

    Source

    - - - - - -
    - - - - - - - - - - - - - - - - - - - -
    - -
    - - - - -
    -
    - - - - - - - - \ No newline at end of file diff --git a/documentation/chat/frontend/pre-initializers_chat-plugin-api.js.html b/documentation/chat/frontend/pre-initializers_chat-plugin-api.js.html deleted file mode 100644 index d78c363d0a4..00000000000 --- a/documentation/chat/frontend/pre-initializers_chat-plugin-api.js.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - Discourse: pre-initializers/chat-plugin-api.js - - - - - - - - -
    - -

    - - Discourse - -

    - -
    - - -
    -
    -

    source

    -

    pre-initializers/chat-plugin-api.js

    - - - - - - -
    -
    -
    import { withPluginApi } from "discourse/lib/plugin-api";
    -import {
    -  addChatMessageDecorator,
    -  resetChatMessageDecorators,
    -} from "discourse/plugins/chat/discourse/components/chat-message";
    -import { registerChatComposerButton } from "discourse/plugins/chat/discourse/lib/chat-composer-buttons";
    -
    -/**
    - * Class exposing the javascript API available to plugins and themes.
    - * @class PluginApi
    - */
    -
    -/**
    - * Callback used to decorate a chat message
    - *
    - * @callback PluginApi~decorateChatMessageCallback
    - * @param {ChatMessage} chatMessage - model
    - * @param {HTMLElement} messageContainer - DOM node
    - * @param {ChatChannel} chatChannel - model
    - */
    -
    -/**
    - * Decorate a chat message
    - *
    - * @memberof PluginApi
    - * @instance
    - * @function decorateChatMessage
    - * @param {PluginApi~decorateChatMessageCallback} decorator
    - * @example
    - *
    - * api.decorateChatMessage((chatMessage, messageContainer) => {
    - *   messageContainer.dataset.foo = chatMessage.id;
    - * });
    - */
    -
    -/**
    - * Register a button in the chat composer
    - *
    - * @memberof PluginApi
    - * @instance
    - * @function registerChatComposerButton
    - * @param {Object} options
    - * @param {number} options.id - The id of the button
    - * @param {function} options.action - An action name or an anonymous function called when the button is pressed, eg: "onFooClicked" or `() => { console.log("clicked") }`
    - * @param {string} options.icon - A valid font awesome icon name, eg: "far fa-image"
    - * @param {string} options.label - Text displayed on the button, a translatable key, eg: "foo.bar"
    - * @param {string} options.translatedLabel - Text displayed on the button, a string, eg: "Add gifs"
    - * @param {string} [options.position] - Can be "inline" or "dropdown", defaults to "inline"
    - * @param {string} [options.title] - Title attribute of the button, a translatable key, eg: "foo.bar"
    - * @param {string} [options.translatedTitle] - Title attribute of the button, a string, eg: "Add gifs"
    - * @param {string} [options.ariaLabel] - aria-label attribute of the button, a translatable key, eg: "foo.bar"
    - * @param {string} [options.translatedAriaLabel] - aria-label attribute of the button, a string, eg: "Add gifs"
    - * @param {string} [options.classNames] - Additional names to add to the button’s class attribute, eg: ["foo", "bar"]
    - * @param {boolean} [options.displayed] - Hide or show the button
    - * @param {boolean} [options.disabled] - Sets the disabled attribute on the button
    - * @param {number} [options.priority] - An integer defining the order of the buttons, higher comes first, eg: `700`
    - * @param {Array.<string>} [options.dependentKeys] - List of property names which should trigger a refresh of the buttons when changed, eg: `["foo.bar", "bar.baz"]`
    - * @example
    - *
    - * api.registerChatComposerButton({
    - *   id: "foo",
    - *   displayed() {
    - *     return this.site.mobileView && this.canAttachUploads;
    - *   }
    - * });
    - */
    -
    -export default {
    -  name: "chat-plugin-api",
    -  after: "inject-discourse-objects",
    -
    -  initialize() {
    -    withPluginApi("1.2.0", (api) => {
    -      const apiPrototype = Object.getPrototypeOf(api);
    -
    -      if (!apiPrototype.hasOwnProperty("decorateChatMessage")) {
    -        Object.defineProperty(apiPrototype, "decorateChatMessage", {
    -          value(decorator) {
    -            addChatMessageDecorator(decorator);
    -          },
    -        });
    -      }
    -
    -      if (!apiPrototype.hasOwnProperty("registerChatComposerButton")) {
    -        Object.defineProperty(apiPrototype, "registerChatComposerButton", {
    -          value(button) {
    -            registerChatComposerButton(button);
    -          },
    -        });
    -      }
    -    });
    -  },
    -
    -  teardown() {
    -    resetChatMessageDecorators();
    -  },
    -};
    -
    -
    -
    - - - - -
    -
    - - - - - - - - diff --git a/documentation/chat/frontend/scripts/prism-linenumbers.js b/documentation/chat/frontend/scripts/prism-linenumbers.js deleted file mode 100644 index 67ede74adfc..00000000000 --- a/documentation/chat/frontend/scripts/prism-linenumbers.js +++ /dev/null @@ -1,57 +0,0 @@ -(function() { - -if (typeof self === 'undefined' || !self.Prism || !self.document) { - return; -} - -Prism.hooks.add('complete', function (env) { - if (!env.code) { - return; - } - - // works only for wrapped inside
     (not inline)
    -  var pre = env.element.parentNode;
    -  var clsReg = /\s*\bline-numbers\b\s*/;
    -  if (
    -    !pre || !/pre/i.test(pre.nodeName) ||
    -      // Abort only if nor the 
     nor the  have the class
    -    (!clsReg.test(pre.className) && !clsReg.test(env.element.className))
    -  ) {
    -    return;
    -  }
    -
    -  if (env.element.querySelector(".line-numbers-rows")) {
    -    // Abort if line numbers already exists
    -    return;
    -  }
    -
    -  if (clsReg.test(env.element.className)) {
    -    // Remove the class "line-numbers" from the 
    -    env.element.className = env.element.className.replace(clsReg, '');
    -  }
    -  if (!clsReg.test(pre.className)) {
    -    // Add the class "line-numbers" to the 
    -    pre.className += ' line-numbers';
    -  }
    -
    -  var match = env.code.match(/\n(?!$)/g);
    -  var linesNum = match ? match.length + 1 : 1;
    -  var lineNumbersWrapper;
    -
    -  var lines = new Array(linesNum + 1);
    -  lines = lines.join('');
    -
    -  lineNumbersWrapper = document.createElement('span');
    -  lineNumbersWrapper.setAttribute('aria-hidden', 'true');
    -  lineNumbersWrapper.className = 'line-numbers-rows';
    -  lineNumbersWrapper.innerHTML = lines;
    -
    -  if (pre.hasAttribute('data-start')) {
    -    pre.style.counterReset = 'linenumber ' + (parseInt(pre.getAttribute('data-start'), 10) - 1);
    -  }
    -
    -  env.element.appendChild(lineNumbersWrapper);
    -
    -});
    -
    -}());
    \ No newline at end of file
    diff --git a/documentation/chat/frontend/scripts/prism.dev.js b/documentation/chat/frontend/scripts/prism.dev.js
    deleted file mode 100644
    index beb5e5827f7..00000000000
    --- a/documentation/chat/frontend/scripts/prism.dev.js
    +++ /dev/null
    @@ -1,1115 +0,0 @@
    -/* PrismJS 1.13.0
    -http://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+json&plugins=line-highlight+line-numbers */
    -var _self = (typeof window !== 'undefined')
    -	? window   // if in browser
    -	: (
    -		(typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope)
    -		? self // if in worker
    -		: {}   // if in node js
    -	);
    -
    -/**
    - * Prism: Lightweight, robust, elegant syntax highlighting
    - * MIT license http://www.opensource.org/licenses/mit-license.php/
    - * @author Lea Verou http://lea.verou.me
    - */
    -
    -var Prism = (function(){
    -
    -// Private helper vars
    -var lang = /\blang(?:uage)?-(\w+)\b/i;
    -var uniqueId = 0;
    -
    -var _ = _self.Prism = {
    -	manual: _self.Prism && _self.Prism.manual,
    -	disableWorkerMessageHandler: _self.Prism && _self.Prism.disableWorkerMessageHandler,
    -	util: {
    -		encode: function (tokens) {
    -			if (tokens instanceof Token) {
    -				return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);
    -			} else if (_.util.type(tokens) === 'Array') {
    -				return tokens.map(_.util.encode);
    -			} else {
    -				return tokens.replace(/&/g, '&').replace(/ text.length) {
    -						// Something went terribly wrong, ABORT, ABORT!
    -						return;
    -					}
    -
    -					if (str instanceof Token) {
    -						continue;
    -					}
    -
    -					if (greedy && i != strarr.length - 1) {
    -						pattern.lastIndex = pos;
    -						var match = pattern.exec(text);
    -						if (!match) {
    -							break;
    -						}
    -
    -						var from = match.index + (lookbehind ? match[1].length : 0),
    -						    to = match.index + match[0].length,
    -						    k = i,
    -						    p = pos;
    -
    -						for (var len = strarr.length; k < len && (p < to || (!strarr[k].type && !strarr[k - 1].greedy)); ++k) {
    -							p += strarr[k].length;
    -							// Move the index i to the element in strarr that is closest to from
    -							if (from >= p) {
    -								++i;
    -								pos = p;
    -							}
    -						}
    -
    -						// If strarr[i] is a Token, then the match starts inside another Token, which is invalid
    -						if (strarr[i] instanceof Token) {
    -							continue;
    -						}
    -
    -						// Number of tokens to delete and replace with the new match
    -						delNum = k - i;
    -						str = text.slice(pos, p);
    -						match.index -= pos;
    -					} else {
    -						pattern.lastIndex = 0;
    -
    -						var match = pattern.exec(str),
    -							delNum = 1;
    -					}
    -
    -					if (!match) {
    -						if (oneshot) {
    -							break;
    -						}
    -
    -						continue;
    -					}
    -
    -					if(lookbehind) {
    -						lookbehindLength = match[1] ? match[1].length : 0;
    -					}
    -
    -					var from = match.index + lookbehindLength,
    -					    match = match[0].slice(lookbehindLength),
    -					    to = from + match.length,
    -					    before = str.slice(0, from),
    -					    after = str.slice(to);
    -
    -					var args = [i, delNum];
    -
    -					if (before) {
    -						++i;
    -						pos += before.length;
    -						args.push(before);
    -					}
    -
    -					var wrapped = new Token(token, inside? _.tokenize(match, inside) : match, alias, match, greedy);
    -
    -					args.push(wrapped);
    -
    -					if (after) {
    -						args.push(after);
    -					}
    -
    -					Array.prototype.splice.apply(strarr, args);
    -
    -					if (delNum != 1)
    -						_.matchGrammar(text, strarr, grammar, i, pos, true, token);
    -
    -					if (oneshot)
    -						break;
    -				}
    -			}
    -		}
    -	},
    -
    -	tokenize: function(text, grammar, language) {
    -		var strarr = [text];
    -
    -		var rest = grammar.rest;
    -
    -		if (rest) {
    -			for (var token in rest) {
    -				grammar[token] = rest[token];
    -			}
    -
    -			delete grammar.rest;
    -		}
    -
    -		_.matchGrammar(text, strarr, grammar, 0, 0, false);
    -
    -		return strarr;
    -	},
    -
    -	hooks: {
    -		all: {},
    -
    -		add: function (name, callback) {
    -			var hooks = _.hooks.all;
    -
    -			hooks[name] = hooks[name] || [];
    -
    -			hooks[name].push(callback);
    -		},
    -
    -		run: function (name, env) {
    -			var callbacks = _.hooks.all[name];
    -
    -			if (!callbacks || !callbacks.length) {
    -				return;
    -			}
    -
    -			for (var i=0, callback; callback = callbacks[i++];) {
    -				callback(env);
    -			}
    -		}
    -	}
    -};
    -
    -var Token = _.Token = function(type, content, alias, matchedStr, greedy) {
    -	this.type = type;
    -	this.content = content;
    -	this.alias = alias;
    -	// Copy of the full string this token was created from
    -	this.length = (matchedStr || "").length|0;
    -	this.greedy = !!greedy;
    -};
    -
    -Token.stringify = function(o, language, parent) {
    -	if (typeof o == 'string') {
    -		return o;
    -	}
    -
    -	if (_.util.type(o) === 'Array') {
    -		return o.map(function(element) {
    -			return Token.stringify(element, language, o);
    -		}).join('');
    -	}
    -
    -	var env = {
    -		type: o.type,
    -		content: Token.stringify(o.content, language, parent),
    -		tag: 'span',
    -		classes: ['token', o.type],
    -		attributes: {},
    -		language: language,
    -		parent: parent
    -	};
    -
    -	if (o.alias) {
    -		var aliases = _.util.type(o.alias) === 'Array' ? o.alias : [o.alias];
    -		Array.prototype.push.apply(env.classes, aliases);
    -	}
    -
    -	_.hooks.run('wrap', env);
    -
    -	var attributes = Object.keys(env.attributes).map(function(name) {
    -		return name + '="' + (env.attributes[name] || '').replace(/"/g, '"') + '"';
    -	}).join(' ');
    -
    -	return '<' + env.tag + ' class="' + env.classes.join(' ') + '"' + (attributes ? ' ' + attributes : '') + '>' + env.content + '';
    -
    -};
    -
    -if (!_self.document) {
    -	if (!_self.addEventListener) {
    -		// in Node.js
    -		return _self.Prism;
    -	}
    -
    -	if (!_.disableWorkerMessageHandler) {
    -		// In worker
    -		_self.addEventListener('message', function (evt) {
    -			var message = JSON.parse(evt.data),
    -				lang = message.language,
    -				code = message.code,
    -				immediateClose = message.immediateClose;
    -
    -			_self.postMessage(_.highlight(code, _.languages[lang], lang));
    -			if (immediateClose) {
    -				_self.close();
    -			}
    -		}, false);
    -	}
    -
    -	return _self.Prism;
    -}
    -
    -//Get current script and highlight
    -var script = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop();
    -
    -if (script) {
    -	_.filename = script.src;
    -
    -	if (!_.manual && !script.hasAttribute('data-manual')) {
    -		if(document.readyState !== "loading") {
    -			if (window.requestAnimationFrame) {
    -				window.requestAnimationFrame(_.highlightAll);
    -			} else {
    -				window.setTimeout(_.highlightAll, 16);
    -			}
    -		}
    -		else {
    -			document.addEventListener('DOMContentLoaded', _.highlightAll);
    -		}
    -	}
    -}
    -
    -return _self.Prism;
    -
    -})();
    -
    -if (typeof module !== 'undefined' && module.exports) {
    -	module.exports = Prism;
    -}
    -
    -// hack for components to work correctly in node.js
    -if (typeof global !== 'undefined') {
    -	global.Prism = Prism;
    -}
    -;
    -Prism.languages.markup = {
    -	'comment': //,
    -	'prolog': /<\?[\s\S]+?\?>/,
    -	'doctype': //i,
    -	'cdata': //i,
    -	'tag': {
    -		pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i,
    -		greedy: true,
    -		inside: {
    -			'tag': {
    -				pattern: /^<\/?[^\s>\/]+/i,
    -				inside: {
    -					'punctuation': /^<\/?/,
    -					'namespace': /^[^\s>\/:]+:/
    -				}
    -			},
    -			'attr-value': {
    -				pattern: /=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/i,
    -				inside: {
    -					'punctuation': [
    -						/^=/,
    -						{
    -							pattern: /(^|[^\\])["']/,
    -							lookbehind: true
    -						}
    -					]
    -				}
    -			},
    -			'punctuation': /\/?>/,
    -			'attr-name': {
    -				pattern: /[^\s>\/]+/,
    -				inside: {
    -					'namespace': /^[^\s>\/:]+:/
    -				}
    -			}
    -
    -		}
    -	},
    -	'entity': /&#?[\da-z]{1,8};/i
    -};
    -
    -Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] =
    -	Prism.languages.markup['entity'];
    -
    -// Plugin to make entity title show the real entity, idea by Roman Komarov
    -Prism.hooks.add('wrap', function(env) {
    -
    -	if (env.type === 'entity') {
    -		env.attributes['title'] = env.content.replace(/&/, '&');
    -	}
    -});
    -
    -Prism.languages.xml = Prism.languages.markup;
    -Prism.languages.html = Prism.languages.markup;
    -Prism.languages.mathml = Prism.languages.markup;
    -Prism.languages.svg = Prism.languages.markup;
    -
    -Prism.languages.css = {
    -	'comment': /\/\*[\s\S]*?\*\//,
    -	'atrule': {
    -		pattern: /@[\w-]+?.*?(?:;|(?=\s*\{))/i,
    -		inside: {
    -			'rule': /@[\w-]+/
    -			// See rest below
    -		}
    -	},
    -	'url': /url\((?:(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,
    -	'selector': /[^{}\s][^{};]*?(?=\s*\{)/,
    -	'string': {
    -		pattern: /("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
    -		greedy: true
    -	},
    -	'property': /[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,
    -	'important': /\B!important\b/i,
    -	'function': /[-a-z0-9]+(?=\()/i,
    -	'punctuation': /[(){};:]/
    -};
    -
    -Prism.languages.css['atrule'].inside.rest = Prism.languages.css;
    -
    -if (Prism.languages.markup) {
    -	Prism.languages.insertBefore('markup', 'tag', {
    -		'style': {
    -			pattern: /()[\s\S]*?(?=<\/style>)/i,
    -			lookbehind: true,
    -			inside: Prism.languages.css,
    -			alias: 'language-css',
    -			greedy: true
    -		}
    -	});
    -
    -	Prism.languages.insertBefore('inside', 'attr-value', {
    -		'style-attr': {
    -			pattern: /\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,
    -			inside: {
    -				'attr-name': {
    -					pattern: /^\s*style/i,
    -					inside: Prism.languages.markup.tag.inside
    -				},
    -				'punctuation': /^\s*=\s*['"]|['"]\s*$/,
    -				'attr-value': {
    -					pattern: /.+/i,
    -					inside: Prism.languages.css
    -				}
    -			},
    -			alias: 'language-css'
    -		}
    -	}, Prism.languages.markup.tag);
    -};
    -Prism.languages.clike = {
    -	'comment': [
    -		{
    -			pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,
    -			lookbehind: true
    -		},
    -		{
    -			pattern: /(^|[^\\:])\/\/.*/,
    -			lookbehind: true,
    -			greedy: true
    -		}
    -	],
    -	'string': {
    -		pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
    -		greedy: true
    -	},
    -	'class-name': {
    -		pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i,
    -		lookbehind: true,
    -		inside: {
    -			punctuation: /[.\\]/
    -		}
    -	},
    -	'keyword': /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
    -	'boolean': /\b(?:true|false)\b/,
    -	'function': /[a-z0-9_]+(?=\()/i,
    -	'number': /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,
    -	'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
    -	'punctuation': /[{}[\];(),.:]/
    -};
    -
    -Prism.languages.javascript = Prism.languages.extend('clike', {
    -	'keyword': /\b(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,
    -	'number': /\b(?:0[xX][\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|NaN|Infinity)\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,
    -	// Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)
    -	'function': /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*\()/i,
    -	'operator': /-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/
    -});
    -
    -Prism.languages.insertBefore('javascript', 'keyword', {
    -	'regex': {
    -		pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[[^\]\r\n]+]|\\.|[^/\\\[\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
    -		lookbehind: true,
    -		greedy: true
    -	},
    -	// This must be declared before keyword because we use "function" inside the look-forward
    -	'function-variable': {
    -		pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,
    -		alias: 'function'
    -	},
    -	'constant': /\b[A-Z][A-Z\d_]*\b/
    -});
    -
    -Prism.languages.insertBefore('javascript', 'string', {
    -	'template-string': {
    -		pattern: /`(?:\\[\s\S]|[^\\`])*`/,
    -		greedy: true,
    -		inside: {
    -			'interpolation': {
    -				pattern: /\$\{[^}]+\}/,
    -				inside: {
    -					'interpolation-punctuation': {
    -						pattern: /^\$\{|\}$/,
    -						alias: 'punctuation'
    -					},
    -					rest: Prism.languages.javascript
    -				}
    -			},
    -			'string': /[\s\S]+/
    -		}
    -	}
    -});
    -
    -if (Prism.languages.markup) {
    -	Prism.languages.insertBefore('markup', 'tag', {
    -		'script': {
    -			pattern: /()[\s\S]*?(?=<\/script>)/i,
    -			lookbehind: true,
    -			inside: Prism.languages.javascript,
    -			alias: 'language-javascript',
    -			greedy: true
    -		}
    -	});
    -}
    -
    -Prism.languages.js = Prism.languages.javascript;
    -
    -Prism.languages.json = {
    -	'property': /"(?:\\.|[^\\"\r\n])*"(?=\s*:)/i,
    -	'string': {
    -		pattern: /"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,
    -		greedy: true
    -	},
    -	'number': /\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee][+-]?\d+)?/,
    -	'punctuation': /[{}[\]);,]/,
    -	'operator': /:/g,
    -	'boolean': /\b(?:true|false)\b/i,
    -	'null': /\bnull\b/i
    -};
    -
    -Prism.languages.jsonp = Prism.languages.json;
    -
    -(function(){
    -
    -if (typeof self === 'undefined' || !self.Prism || !self.document || !document.querySelector) {
    -	return;
    -}
    -
    -function $$(expr, con) {
    -	return Array.prototype.slice.call((con || document).querySelectorAll(expr));
    -}
    -
    -function hasClass(element, className) {
    -  className = " " + className + " ";
    -  return (" " + element.className + " ").replace(/[\n\t]/g, " ").indexOf(className) > -1
    -}
    -
    -// Some browsers round the line-height, others don't.
    -// We need to test for it to position the elements properly.
    -var isLineHeightRounded = (function() {
    -	var res;
    -	return function() {
    -		if(typeof res === 'undefined') {
    -			var d = document.createElement('div');
    -			d.style.fontSize = '13px';
    -			d.style.lineHeight = '1.5';
    -			d.style.padding = 0;
    -			d.style.border = 0;
    -			d.innerHTML = ' 
     '; - document.body.appendChild(d); - // Browsers that round the line-height should have offsetHeight === 38 - // The others should have 39. - res = d.offsetHeight === 38; - document.body.removeChild(d); - } - return res; - } -}()); - -function highlightLines(pre, lines, classes) { - lines = typeof lines === 'string' ? lines : pre.getAttribute('data-line'); - - var ranges = lines.replace(/\s+/g, '').split(','), - offset = +pre.getAttribute('data-line-offset') || 0; - - var parseMethod = isLineHeightRounded() ? parseInt : parseFloat; - var lineHeight = parseMethod(getComputedStyle(pre).lineHeight); - var hasLineNumbers = hasClass(pre, 'line-numbers'); - - for (var i=0, currentRange; currentRange = ranges[i++];) { - var range = currentRange.split('-'); - - var start = +range[0], - end = +range[1] || start; - - var line = pre.querySelector('.line-highlight[data-range="' + currentRange + '"]') || document.createElement('div'); - - line.setAttribute('aria-hidden', 'true'); - line.setAttribute('data-range', currentRange); - line.className = (classes || '') + ' line-highlight'; - - //if the line-numbers plugin is enabled, then there is no reason for this plugin to display the line numbers - if(hasLineNumbers && Prism.plugins.lineNumbers) { - var startNode = Prism.plugins.lineNumbers.getLine(pre, start); - var endNode = Prism.plugins.lineNumbers.getLine(pre, end); - - if (startNode) { - line.style.top = startNode.offsetTop + 'px'; - } - - if (endNode) { - line.style.height = (endNode.offsetTop - startNode.offsetTop) + endNode.offsetHeight + 'px'; - } - } else { - line.setAttribute('data-start', start); - - if(end > start) { - line.setAttribute('data-end', end); - } - - line.style.top = (start - offset - 1) * lineHeight + 'px'; - - line.textContent = new Array(end - start + 2).join(' \n'); - } - - //allow this to play nicely with the line-numbers plugin - if(hasLineNumbers) { - //need to attack to pre as when line-numbers is enabled, the code tag is relatively which screws up the positioning - pre.appendChild(line); - } else { - (pre.querySelector('code') || pre).appendChild(line); - } - } -} - -function applyHash() { - var hash = location.hash.slice(1); - - // Remove pre-existing temporary lines - $$('.temporary.line-highlight').forEach(function (line) { - line.parentNode.removeChild(line); - }); - - var range = (hash.match(/\.([\d,-]+)$/) || [,''])[1]; - - if (!range || document.getElementById(hash)) { - return; - } - - var id = hash.slice(0, hash.lastIndexOf('.')), - pre = document.getElementById(id); - - if (!pre) { - return; - } - - if (!pre.hasAttribute('data-line')) { - pre.setAttribute('data-line', ''); - } - - highlightLines(pre, range, 'temporary '); - - document.querySelector('.temporary.line-highlight').scrollIntoView(); - - // offset fixed header with buffer - window.scrollBy(0, -100); -} - -var fakeTimer = 0; // Hack to limit the number of times applyHash() runs - -Prism.hooks.add('before-sanity-check', function(env) { - var pre = env.element.parentNode; - var lines = pre && pre.getAttribute('data-line'); - - if (!pre || !lines || !/pre/i.test(pre.nodeName)) { - return; - } - - /* - * Cleanup for other plugins (e.g. autoloader). - * - * Sometimes blocks are highlighted multiple times. It is necessary - * to cleanup any left-over tags, because the whitespace inside of the
    - * tags change the content of the tag. - */ - var num = 0; - $$('.line-highlight', pre).forEach(function (line) { - num += line.textContent.length; - line.parentNode.removeChild(line); - }); - // Remove extra whitespace - if (num && /^( \n)+$/.test(env.code.slice(-num))) { - env.code = env.code.slice(0, -num); - } -}); - -Prism.hooks.add('complete', function completeHook(env) { - var pre = env.element.parentNode; - var lines = pre && pre.getAttribute('data-line'); - - if (!pre || !lines || !/pre/i.test(pre.nodeName)) { - return; - } - - clearTimeout(fakeTimer); - - var hasLineNumbers = Prism.plugins.lineNumbers; - var isLineNumbersLoaded = env.plugins && env.plugins.lineNumbers; - - if (hasClass(pre, 'line-numbers') && hasLineNumbers && !isLineNumbersLoaded) { - Prism.hooks.add('line-numbers', completeHook); - } else { - highlightLines(pre, lines); - fakeTimer = setTimeout(applyHash, 1); - } -}); - - window.addEventListener('load', applyHash); - window.addEventListener('hashchange', applyHash); - window.addEventListener('resize', function () { - var preElements = document.querySelectorAll('pre[data-line]'); - Array.prototype.forEach.call(preElements, function (pre) { - highlightLines(pre); - }); - }); - -})(); -(function () { - - if (typeof self === 'undefined' || !self.Prism || !self.document) { - return; - } - - /** - * Plugin name which is used as a class name for
     which is activating the plugin
    -	 * @type {String}
    -	 */
    -	var PLUGIN_NAME = 'line-numbers';
    -
    -	/**
    -	 * Regular expression used for determining line breaks
    -	 * @type {RegExp}
    -	 */
    -	var NEW_LINE_EXP = /\n(?!$)/g;
    -
    -	/**
    -	 * Resizes line numbers spans according to height of line of code
    -	 * @param {Element} element 
     element
    -	 */
    -	var _resizeElement = function (element) {
    -		var codeStyles = getStyles(element);
    -		var whiteSpace = codeStyles['white-space'];
    -
    -		if (whiteSpace === 'pre-wrap' || whiteSpace === 'pre-line') {
    -			var codeElement = element.querySelector('code');
    -			var lineNumbersWrapper = element.querySelector('.line-numbers-rows');
    -			var lineNumberSizer = element.querySelector('.line-numbers-sizer');
    -			var codeLines = codeElement.textContent.split(NEW_LINE_EXP);
    -
    -			if (!lineNumberSizer) {
    -				lineNumberSizer = document.createElement('span');
    -				lineNumberSizer.className = 'line-numbers-sizer';
    -
    -				codeElement.appendChild(lineNumberSizer);
    -			}
    -
    -			lineNumberSizer.style.display = 'block';
    -
    -			codeLines.forEach(function (line, lineNumber) {
    -				lineNumberSizer.textContent = line || '\n';
    -				var lineSize = lineNumberSizer.getBoundingClientRect().height;
    -				lineNumbersWrapper.children[lineNumber].style.height = lineSize + 'px';
    -			});
    -
    -			lineNumberSizer.textContent = '';
    -			lineNumberSizer.style.display = 'none';
    -		}
    -	};
    -
    -	/**
    -	 * Returns style declarations for the element
    -	 * @param {Element} element
    -	 */
    -	var getStyles = function (element) {
    -		if (!element) {
    -			return null;
    -		}
    -
    -		return window.getComputedStyle ? getComputedStyle(element) : (element.currentStyle || null);
    -	};
    -
    -	window.addEventListener('resize', function () {
    -		Array.prototype.forEach.call(document.querySelectorAll('pre.' + PLUGIN_NAME), _resizeElement);
    -	});
    -
    -	Prism.hooks.add('complete', function (env) {
    -		if (!env.code) {
    -			return;
    -		}
    -
    -		// works only for  wrapped inside 
     (not inline)
    -		var pre = env.element.parentNode;
    -		var clsReg = /\s*\bline-numbers\b\s*/;
    -		if (
    -			!pre || !/pre/i.test(pre.nodeName) ||
    -			// Abort only if nor the 
     nor the  have the class
    -			(!clsReg.test(pre.className) && !clsReg.test(env.element.className))
    -		) {
    -			return;
    -		}
    -
    -		if (env.element.querySelector('.line-numbers-rows')) {
    -			// Abort if line numbers already exists
    -			return;
    -		}
    -
    -		if (clsReg.test(env.element.className)) {
    -			// Remove the class 'line-numbers' from the 
    -			env.element.className = env.element.className.replace(clsReg, ' ');
    -		}
    -		if (!clsReg.test(pre.className)) {
    -			// Add the class 'line-numbers' to the 
    -			pre.className += ' line-numbers';
    -		}
    -
    -		var match = env.code.match(NEW_LINE_EXP);
    -		var linesNum = match ? match.length + 1 : 1;
    -		var lineNumbersWrapper;
    -
    -		var lines = new Array(linesNum + 1);
    -		lines = lines.join('');
    -
    -		lineNumbersWrapper = document.createElement('span');
    -		lineNumbersWrapper.setAttribute('aria-hidden', 'true');
    -		lineNumbersWrapper.className = 'line-numbers-rows';
    -		lineNumbersWrapper.innerHTML = lines;
    -
    -		if (pre.hasAttribute('data-start')) {
    -			pre.style.counterReset = 'linenumber ' + (parseInt(pre.getAttribute('data-start'), 10) - 1);
    -		}
    -
    -		env.element.appendChild(lineNumbersWrapper);
    -
    -		_resizeElement(pre);
    -
    -		Prism.hooks.run('line-numbers', env);
    -	});
    -
    -	Prism.hooks.add('line-numbers', function (env) {
    -		env.plugins = env.plugins || {};
    -		env.plugins.lineNumbers = true;
    -	});
    -
    -	/**
    -	 * Global exports
    -	 */
    -	Prism.plugins.lineNumbers = {
    -		/**
    -		 * Get node for provided line number
    -		 * @param {Element} element pre element
    -		 * @param {Number} number line number
    -		 * @return {Element|undefined}
    -		 */
    -		getLine: function (element, number) {
    -			if (element.tagName !== 'PRE' || !element.classList.contains(PLUGIN_NAME)) {
    -				return;
    -			}
    -
    -			var lineNumberRows = element.querySelector('.line-numbers-rows');
    -			var lineNumberStart = parseInt(element.getAttribute('data-start'), 10) || 1;
    -			var lineNumberEnd = lineNumberStart + (lineNumberRows.children.length - 1);
    -
    -			if (number < lineNumberStart) {
    -				number = lineNumberStart;
    -			}
    -			if (number > lineNumberEnd) {
    -				number = lineNumberEnd;
    -			}
    -
    -			var lineIndex = number - lineNumberStart;
    -
    -			return lineNumberRows.children[lineIndex];
    -		}
    -	};
    -
    -}());
    diff --git a/documentation/chat/frontend/services_chat-api.js.html b/documentation/chat/frontend/services_chat-api.js.html
    deleted file mode 100644
    index 53cd3f0ce57..00000000000
    --- a/documentation/chat/frontend/services_chat-api.js.html
    +++ /dev/null
    @@ -1,325 +0,0 @@
    -
    -
    -
    -    
    -    Discourse: services/chat-api.js
    -
    -      
    -
    -    
    -
    -
    -
    -
    -
    - -

    - - Discourse - -

    - -
    - - -
    -
    -

    source

    -

    services/chat-api.js

    - - - - - - -
    -
    -
    import Service, { service } from "@ember/service";
    -import { ajax } from "discourse/lib/ajax";
    -import UserChatChannelMembership from "discourse/plugins/chat/discourse/models/user-chat-channel-membership";
    -import Collection from "../lib/collection";
    -
    -/**
    - * Chat API service. Provides methods to interact with the chat API.
    - *
    - * @module ChatApi
    - * @implements {@ember/service}
    - */
    -export default class ChatApi extends Service {
    -  @service chatChannelsManager;
    -
    -  /**
    -   * Get a channel by its ID.
    -   * @param {number} channelId - The ID of the channel.
    -   * @returns {Promise}
    -   *
    -   * @example
    -   *
    -   *    this.chatApi.channel(1).then(channel => { ... })
    -   */
    -  channel(channelId) {
    -    return this.#getRequest(`/channels/${channelId}`).then((result) =>
    -      this.chatChannelsManager.store(result.channel)
    -    );
    -  }
    -
    -  /**
    -   * List all accessible category channels of the current user.
    -   * @returns {Collection}
    -   *
    -   * @example
    -   *
    -   *    this.chatApi.channels.then(channels => { ... })
    -   */
    -  channels() {
    -    return new Collection(`${this.#basePath}/channels`, (response) => {
    -      return response.channels.map((channel) =>
    -        this.chatChannelsManager.store(channel)
    -      );
    -    });
    -  }
    -
    -  /**
    -   * Moves messages from one channel to another.
    -   * @param {number} channelId - The ID of the original channel.
    -   * @param {object} data - Params of the move.
    -   * @param {Array.<number>} data.message_ids - IDs of the moved messages.
    -   * @param {number} data.destination_channel_id - ID of the channel where the messages are moved to.
    -   * @returns {Promise}
    -   *
    -   * @example
    -   *
    -   *   this.chatApi
    -   *     .moveChannelMessages(1, {
    -   *       message_ids: [2, 3],
    -   *       destination_channel_id: 4,
    -   *     }).then(() => { ... })
    -   */
    -  moveChannelMessages(channelId, data = {}) {
    -    return this.#postRequest(`/channels/${channelId}/messages/moves`, {
    -      move: data,
    -    });
    -  }
    -
    -  /**
    -   * Destroys a channel.
    -   * @param {number} channelId - The ID of the channel.
    -   * @returns {Promise}
    -   *
    -   * @example
    -   *
    -   *    this.chatApi.destroyChannel(1).then(() => { ... })
    -   */
    -  destroyChannel(channelId) {
    -    return this.#deleteRequest(`/channels/${channelId}`);
    -  }
    -
    -  /**
    -   * Creates a channel.
    -   * @param {object} data - Params of the channel.
    -   * @param {string} data.name - The name of the channel.
    -   * @param {string} data.chatable_id - The category of the channel.
    -   * @param {string} data.description - The description of the channel.
    -   * @param {boolean} [data.auto_join_users] - Should users join this channel automatically.
    -   * @returns {Promise}
    -   *
    -   * @example
    -   *
    -   *    this.chatApi
    -   *      .createChannel({ name: "foo", chatable_id: 1, description "bar" })
    -   *      .then((channel) => { ... })
    -   */
    -  createChannel(data = {}) {
    -    return this.#postRequest("/channels", { channel: data }).then((response) =>
    -      this.chatChannelsManager.store(response.channel)
    -    );
    -  }
    -
    -  /**
    -   * Lists chat permissions for a category.
    -   * @param {number} categoryId - ID of the category.
    -   * @returns {Promise}
    -   */
    -  categoryPermissions(categoryId) {
    -    return this.#getRequest(`/category-chatables/${categoryId}/permissions`);
    -  }
    -
    -  /**
    -   * Sends a message.
    -   * @param {number} channelId - ID of the channel.
    -   * @param {object} data - Params of the message.
    -   * @param {string} data.message - The raw content of the message in markdown.
    -   * @param {string} data.cooked - The cooked content of the message.
    -   * @param {number} [data.in_reply_to_id] - The ID of the replied-to message.
    -   * @param {number} [data.staged_id] - The staged ID of the message before it was persisted.
    -   * @param {Array.<number>} [data.upload_ids] - Array of upload ids linked to the message.
    -   * @returns {Promise}
    -   */
    -  sendMessage(channelId, data = {}) {
    -    return ajax(`/chat/${channelId}`, {
    -      ignoreUnsent: false,
    -      type: "POST",
    -      data,
    -    });
    -  }
    -
    -  /**
    -   * Creates a channel archive.
    -   * @param {number} channelId - The ID of the channel.
    -   * @param {object} data - Params of the archive.
    -   * @param {string} data.selection - "new_topic" or "existing_topic".
    -   * @param {string} [data.title] - Title of the topic when creating a new topic.
    -   * @param {string} [data.category_id] - ID of the category used when creating a new topic.
    -   * @param {Array.<string>} [data.tags] - tags used when creating a new topic.
    -   * @param {string} [data.topic_id] - ID of the topic when using an existing topic.
    -   * @returns {Promise}
    -   */
    -  createChannelArchive(channelId, data = {}) {
    -    return this.#postRequest(`/channels/${channelId}/archives`, {
    -      archive: data,
    -    });
    -  }
    -
    -  /**
    -   * Updates a channel.
    -   * @param {number} channelId - The ID of the channel.
    -   * @param {object} data - Params of the archive.
    -   * @param {string} [data.description] - Description of the channel.
    -   * @param {string} [data.name] - Name of the channel.
    -   * @returns {Promise}
    -   */
    -  updateChannel(channelId, data = {}) {
    -    return this.#putRequest(`/channels/${channelId}`, { channel: data });
    -  }
    -
    -  /**
    -   * Updates the status of a channel.
    -   * @param {number} channelId - The ID of the channel.
    -   * @param {string} status - The new status, can be "open" or "closed".
    -   * @returns {Promise}
    -   */
    -  updateChannelStatus(channelId, status) {
    -    return this.#putRequest(`/channels/${channelId}/status`, { status });
    -  }
    -
    -  /**
    -   * Lists members of a channel.
    -   * @param {number} channelId - The ID of the channel.
    -   * @returns {Collection}
    -   */
    -  listChannelMemberships(channelId) {
    -    return new Collection(
    -      `${this.#basePath}/channels/${channelId}/memberships`,
    -      (response) => {
    -        return response.memberships.map((membership) =>
    -          UserChatChannelMembership.create(membership)
    -        );
    -      }
    -    );
    -  }
    -
    -  /**
    -   * Lists public and direct message channels of the current user.
    -   * @returns {Promise}
    -   */
    -  listCurrentUserChannels() {
    -    return this.#getRequest("/channels/me").then((result) => {
    -      return (result?.channels || []).map((channel) =>
    -        this.chatChannelsManager.store(channel)
    -      );
    -    });
    -  }
    -
    -  /**
    -   * Makes current user follow a channel.
    -   * @param {number} channelId - The ID of the channel.
    -   * @returns {Promise}
    -   */
    -  followChannel(channelId) {
    -    return this.#postRequest(`/channels/${channelId}/memberships/me`).then(
    -      (result) => UserChatChannelMembership.create(result.membership)
    -    );
    -  }
    -
    -  /**
    -   * Makes current user unfollow a channel.
    -   * @param {number} channelId - The ID of the channel.
    -   * @returns {Promise}
    -   */
    -  unfollowChannel(channelId) {
    -    return this.#deleteRequest(`/channels/${channelId}/memberships/me`).then(
    -      (result) => UserChatChannelMembership.create(result.membership)
    -    );
    -  }
    -
    -  /**
    -   * Update notifications settings of current user for a channel.
    -   * @param {number} channelId - The ID of the channel.
    -   * @param {object} data - The settings to modify.
    -   * @param {boolean} [data.muted] - Mutes the channel.
    -   * @param {string} [data.desktop_notification_level] - Notifications level on desktop: never, mention or always.
    -   * @param {string} [data.mobile_notification_level] - Notifications level on mobile: never, mention or always.
    -   * @returns {Promise}
    -   */
    -  updateCurrentUserChannelNotificationsSettings(channelId, data = {}) {
    -    return this.#putRequest(
    -      `/channels/${channelId}/notifications-settings/me`,
    -      { notifications_settings: data }
    -    );
    -  }
    -
    -  get #basePath() {
    -    return "/chat/api";
    -  }
    -
    -  #getRequest(endpoint, data = {}) {
    -    return ajax(`${this.#basePath}${endpoint}`, {
    -      type: "GET",
    -      data,
    -    });
    -  }
    -
    -  #putRequest(endpoint, data = {}) {
    -    return ajax(`${this.#basePath}${endpoint}`, {
    -      type: "PUT",
    -      data,
    -    });
    -  }
    -
    -  #postRequest(endpoint, data = {}) {
    -    return ajax(`${this.#basePath}${endpoint}`, {
    -      type: "POST",
    -      data,
    -    });
    -  }
    -
    -  #deleteRequest(endpoint, data = {}) {
    -    return ajax(`${this.#basePath}${endpoint}`, {
    -      type: "DELETE",
    -      data,
    -    });
    -  }
    -}
    -
    -
    -
    - - - - -
    -
    - - - - - - - - diff --git a/documentation/chat/frontend/styles/styles.css b/documentation/chat/frontend/styles/styles.css deleted file mode 100644 index 159439a937d..00000000000 --- a/documentation/chat/frontend/styles/styles.css +++ /dev/null @@ -1,498 +0,0 @@ -:root { - --primary-color: #0664a8; - --secondary-color: #107e7d; - --link-color: var(--primary-color); - --link-hover-color: var(--primary-color); - --border-color: #eee; - --code-color: #666; - --code-attention-color: #ca2d00; - --text-color: #4a4a4a; - --light-font-color: #999; - --supporting-color: #7097b5; - --heading-color: var(--text-color); - --subheading-color: var(--secondary-color); - --heading-background: #f7f7f7; - --code-bg-color: #f8f8f8; - --nav-title-color: var(--primary-color); - --nav-title-align: center; - --nav-title-size: 1rem; - --nav-title-margin-bottom: 1.5em; - --nav-title-font-weight: 600; - --nav-list-margin-left: 2em; - --nav-bg-color: #fff; - --nav-heading-display: block; - --nav-heading-color: #aaa; - --nav-link-color: #666; - --nav-text-color: #aaa; - --nav-type-class-color: #fff; - --nav-type-class-bg: #FF8C00; - --nav-type-member-color: #39b739; - --nav-type-member-bg: #d5efd5; - --nav-type-function-color: #549ab9; - --nav-type-function-bg: #e1f6ff; - --nav-type-namespace-color: #eb6420; - --nav-type-namespace-bg: #fad8c7; - --nav-type-typedef-color: #964cb1; - --nav-type-typedef-bg: #f2e4f7; - --nav-type-module-color: #964cb1; - --nav-type-module-bg: #f2e4f7; - --nav-type-event-color: #948b34; - --nav-type-event-bg: #fff6a6; - --max-content-width: 900px; - --nav-width: 320px; - --padding-unit: 30px; - --layout-footer-color: #aaa; - --member-name-signature-display: none; - --base-font-size: 16px; - --base-line-height: 1.7; - --body-font: -apple-system, system-ui, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; - --code-font: Consolas, Monaco, "Andale Mono", monospace; -} - -body { - font-family: var(--body-font); - font-size: var(--base-font-size); - line-height: var(--base-line-height); - color: var(--text-color); - -webkit-font-smoothing: antialiased; - text-size-adjust: 100%; -} - -* { - box-sizing: border-box; -} - -a { - text-decoration: none; - color: var(--link-color); -} -a:hover, a:active { - text-decoration: underline; - color: var(--link-hover-color); -} - -img { - max-width: 100%; -} -img + p { - margin-top: 1em; -} - -ul { - margin: 1em 0; -} - -tt, code, kbd, samp { - font-family: var(--code-font); -} - -code { - display: inline-block; - background-color: var(--code-bg-color); - padding: 2px 6px 0px; - border-radius: 3px; - color: var(--code-attention-color); -} - -.prettyprint.source code:not([class*=language-]) { - display: block; - padding: 20px; - overflow: scroll; - color: var(--code-color); -} - -.layout-main, -.layout-footer { - margin-left: var(--nav-width); -} - -.container { - max-width: var(--max-content-width); - margin-left: auto; - margin-right: auto; -} - -.layout-main { - margin-top: var(--padding-unit); - margin-bottom: var(--padding-unit); - padding: 0 var(--padding-unit); -} - -.layout-header { - background: var(--nav-bg-color); - border-right: 1px solid var(--border-color); - position: fixed; - padding: 0 var(--padding-unit); - top: 0; - left: 0; - right: 0; - width: var(--nav-width); - height: 100%; - overflow: scroll; -} -.layout-header h1 { - display: block; - margin-bottom: var(--nav-title-margin-bottom); - font-size: var(--nav-title-size); - font-weight: var(--nav-title-font-weight); - text-align: var(--nav-title-align); -} -.layout-header h1 a:link, .layout-header h1 a:visited { - color: var(--nav-title-color); -} -.layout-header img { - max-width: 120px; - display: block; - margin: 1em auto; -} - -.layout-nav { - margin-bottom: 2rem; -} -.layout-nav ul { - margin: 0 0 var(--nav-list-margin-left); - padding: 0; -} -.layout-nav li { - list-style-type: none; - font-size: 0.95em; -} -.layout-nav li.nav-heading:first-child { - display: var(--nav-heading-display); - margin-left: 0; - margin-bottom: 1em; - text-transform: uppercase; - color: var(--nav-heading-color); - font-size: 0.85em; -} -.layout-nav a { - color: var(--nav-link-color); -} -.layout-nav a:link, .layout-nav a a:visited { - color: var(--nav-link-color); -} - -.layout-content--source { - max-width: none; -} - -.nav-heading { - margin-top: 1em; - font-weight: 500; -} -.nav-heading a { - color: var(--nav-link-color); -} -.nav-heading a:link, .nav-heading a:visited { - color: var(--nav-link-color); -} -.nav-heading .nav-item-type { - font-size: 0.9em; -} - -.nav-item-type { - display: inline-block; - font-size: 0.9em; - width: 1.2em; - height: 1.2em; - line-height: 1.2em; - display: inline-block; - text-align: center; - border-radius: 0.2em; - margin-right: 0.5em; -} -.nav-item-type.type-class { - color: var(--nav-type-class-color); - background: var(--nav-type-class-bg); -} -.nav-item-type.type-typedef { - color: var(--nav-type-typedef-color); - background: var(--nav-type-typedef-bg); -} -.nav-item-type.type-function { - color: var(--nav-type-function-color); - background: var(--nav-type-function-bg); -} -.nav-item-type.type-namespace { - color: var(--nav-type-namespace-color); - background: var(--nav-type-namespace-bg); -} -.nav-item-type.type-member { - color: var(--nav-type-member-color); - background: var(--nav-type-member-bg); -} -.nav-item-type.type-module { - color: var(--nav-type-module-color); - background: var(--nav-type-module-bg); -} -.nav-item-type.type-event { - color: var(--nav-type-event-color); - background: var(--nav-type-event-bg); -} - -.nav-item-name.is-function:after { - display: inline; - content: "()"; - color: var(--nav-link-color); - opacity: 0.75; -} -.nav-item-name.is-class { - font-size: 1.1em; -} - -.layout-footer { - padding-top: 2rem; - padding-bottom: 2rem; - font-size: 0.8em; - text-align: center; - color: var(--layout-footer-color); -} -.layout-footer a { - color: var(--light-font-color); - text-decoration: underline; -} - -h1 { - font-size: 2rem; - color: var(--heading-color); -} - -h5 { - margin: 0; - font-weight: 500; - font-size: 1em; -} -h5 + .code-caption { - margin-top: 1em; -} - -.page-kind { - margin: 0 0 -0.5em; - font-weight: 400; - color: var(--light-font-color); - text-transform: uppercase; -} - -.page-title { - margin-top: 0; -} - -.subtitle { - font-weight: 600; - font-size: 1.5em; - color: var(--subheading-color); - margin: 1em 0; - padding: 0.4em 0; - border-bottom: 1px solid var(--border-color); -} -.subtitle + .event, .subtitle + .member, .subtitle + .method { - border-top: none; - padding-top: 0; -} - -.method-type + .method-name { - margin-top: 0.5em; -} - -.event-name, -.member-name, -.method-name, -.type-definition-name { - margin: 1em 0; - font-size: 1.4rem; - font-family: var(--code-font); - font-weight: 600; - color: var(--primary-color); -} -.event-name .signature-attributes, -.member-name .signature-attributes, -.method-name .signature-attributes, -.type-definition-name .signature-attributes { - display: inline-block; - margin-left: 0.25em; - font-size: 60%; - color: #999; - font-style: italic; - font-weight: lighter; -} - -.type-signature { - display: inline-block; - margin-left: 0.5em; -} - -.member-name .type-signature { - display: var(--member-name-signature-display); -} - -.type-signature, -.return-type-signature { - color: #aaa; - font-weight: 400; -} -.type-signature a:link, .type-signature a:visited, -.return-type-signature a:link, -.return-type-signature a:visited { - color: #aaa; -} - -table { - margin-top: 1rem; - width: auto; - min-width: 400px; - max-width: 100%; - border-top: 1px solid var(--border-color); - border-right: 1px solid var(--border-color); -} -table th, table h4 { - font-weight: 500; -} -table th, -table td { - padding: 0.5rem 0.75rem; -} -table th, -table td { - border-left: 1px solid var(--border-color); - border-bottom: 1px solid var(--border-color); -} -table p:last-child { - margin-bottom: 0; -} - -.readme h2 { - border-bottom: 1px solid var(--border-color); - margin: 1em 0; - padding-bottom: 0.5rem; - color: var(--subheading-color); -} -.readme h2 + h3 { - margin-top: 0; -} -.readme h3 { - margin: 2rem 0 1rem 0; -} - -article.event, article.member, article.method { - padding: 1em 0 1em; - margin: 1em 0; - border-top: 1px solid var(--border-color); -} - -.method-type-signature:not(:empty) { - display: inline-block; - background: #ecf0f1; - color: #627475; - padding: 0.25em 0.5em 0.35em; - font-weight: 300; - font-size: 0.8rem; - margin: 0 0.75em 0 0; -} - -.method-heading { - margin: 1em 0; -} - -li.method-returns, -.method-params li { - margin-bottom: 1em; -} - -.method-source a:link, .method-source a:visited { - color: var(--light-font-color); -} - -.method-returns p { - margin: 0; -} - -.event-description, -.method-description { - margin: 0 0 2em; -} - -.param-type code, -.method-returns code { - color: #111; -} - -.param-name { - font-weight: 600; - display: inline-block; - margin-right: 0.5em; -} - -.param-type, -.param-default, -.param-attributes { - font-family: var(--code-font); -} - -.param-default::before { - display: inline-block; - content: "Default:"; - font-family: var(--body-font); -} - -.param-attributes { - color: var(--light-font-color); -} - -.param-description p:first-child { - margin-top: 0; -} - -.param-properties { - font-weight: 500; - margin: 1em 0 0; -} - -.param-types, -.property-types { - display: inline-block; - margin: 0 0.5em 0 0.25em; - color: #999; -} - -.param-attr, -.property-attr { - display: inline-block; - padding: 0.2em 0.5em; - border: 1px solid #eee; - color: #aaa; - font-weight: 300; - font-size: 0.8em; - vertical-align: baseline; -} - -.properties-table p:last-child { - margin-bottom: 0; -} - -pre[class*=language-] { - border-radius: 0; -} - -code[class*=language-], -pre[class*=language-] { - text-shadow: none; - border: none; -} -code[class*=language-].source-page, -pre[class*=language-].source-page { - font-size: 0.9em; -} - -.line-numbers .line-numbers-rows { - border-right: none; -} - -.source-page { - font-size: 14px; -} -.source-page code { - z-index: 1; -} -.source-page .line-height.temporary { - z-index: 0; -} \ No newline at end of file diff --git a/documentation/chat/frontend/styles/vendor/prism-custom.css b/documentation/chat/frontend/styles/vendor/prism-custom.css deleted file mode 100644 index 09d20634024..00000000000 --- a/documentation/chat/frontend/styles/vendor/prism-custom.css +++ /dev/null @@ -1,142 +0,0 @@ -/* PrismJS 1.17.1 -https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+http */ -/** - * prism.js default theme for JavaScript, CSS and HTML - * Based on dabblet (http://dabblet.com) - * @author Lea Verou - */ - -code[class*="language-"], -pre[class*="language-"] { - color: black; - background: none; - text-shadow: 0 1px white; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, -code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; -} - -pre[class*="language-"]::selection, pre[class*="language-"] ::selection, -code[class*="language-"]::selection, code[class*="language-"] ::selection { - text-shadow: none; - background: #b3d4fc; -} - -@media print { - code[class*="language-"], - pre[class*="language-"] { - text-shadow: none; - } -} - -/* Code blocks */ -pre[class*="language-"] { - padding: 1em; - margin: .5em 0; - overflow: auto; -} - -:not(pre) > code[class*="language-"], -pre[class*="language-"] { - background: #f6f8fa; -} - -/* Inline code */ -:not(pre) > code[class*="language-"] { - padding: .1em; - border-radius: .3em; - white-space: normal; -} - -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: slategray; -} - -.token.punctuation { - color: #999; -} - -.namespace { - opacity: .7; -} - -.token.property, -.token.tag, -.token.boolean, -.token.number, -.token.constant, -.token.symbol, -.token.deleted { - color: #905; -} - -.token.selector, -.token.attr-name, -.token.string, -.token.char, -.token.builtin, -.token.inserted { - color: #690; -} - -.token.operator, -.token.entity, -.token.url, -.language-css .token.string, -.style .token.string { - color: #9a6e3a; - background: hsla(0, 0%, 100%, .5); -} - -.token.atrule, -.token.attr-value, -.token.keyword { - color: #07a; -} - -.token.function, -.token.class-name { - color: #DD4A68; -} - -.token.regex, -.token.important, -.token.variable { - color: #e90; -} - -.token.important, -.token.bold { - font-weight: bold; -} -.token.italic { - font-style: italic; -} - -.token.entity { - cursor: help; -} - diff --git a/documentation/index.html b/documentation/index.html deleted file mode 100644 index 83efddc8df2..00000000000 --- a/documentation/index.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - - - - - - Discourse documentation | Discourse - Civilized Discussion - - - - - - -
    -
    -

    Discourse projects documentation

    -
    -
    - -
    -
    - -
    -
    - - diff --git a/documentation/yard-custom-template/default/fulldoc/html/setup.rb b/documentation/yard-custom-template/default/fulldoc/html/setup.rb deleted file mode 100644 index e536537a490..00000000000 --- a/documentation/yard-custom-template/default/fulldoc/html/setup.rb +++ /dev/null @@ -1,13 +0,0 @@ -# frozen_string_literal: true - -# Order was not deterministic for identic method names defined with @!method -# so we sort the list on path instead -def generate_method_list - @items = - prune_method_listing(Registry.all(:method), false) - .reject { |m| m.name.to_s =~ /=$/ && m.is_attribute? } - .sort_by { |m| m.path } - @list_title = "Method List" - @list_type = "method" - generate_list_contents -end diff --git a/documentation/yard-custom-template/default/layout/html/footer.erb b/documentation/yard-custom-template/default/layout/html/footer.erb deleted file mode 100644 index a38e33bcfdb..00000000000 --- a/documentation/yard-custom-template/default/layout/html/footer.erb +++ /dev/null @@ -1,6 +0,0 @@ -<%# Removes date and ruby version to avoid differences in CI check %> - diff --git a/documentation/yard-custom-template/default/method_details/setup.rb b/documentation/yard-custom-template/default/method_details/setup.rb deleted file mode 100644 index 551e7fcbf33..00000000000 --- a/documentation/yard-custom-template/default/method_details/setup.rb +++ /dev/null @@ -1,4 +0,0 @@ -# frozen_string_literal: true - -def source -end