examples/api-samples/public/docs/sample11.html in groupdocs-2.2.0 vs examples/api-samples/public/docs/sample11.html in groupdocs-2.3.0
- old
+ new
@@ -1,462 +1,462 @@
-<!DOCTYPE html>
-
-<html>
-<head>
- <title>sample11.rb</title>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
- <link rel="stylesheet" media="all" href="docco.css" />
-</head>
-<body>
- <div id="container">
- <div id="background"></div>
-
- <ul class="sections">
-
- <li id="title">
- <div class="annotation">
- <h1>sample11.rb</h1>
- </div>
- </li>
-
-
-
- <li id="section-1">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-1">¶</a>
- </div>
- <p>GET request</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre>get <span class="hljs-string">'/sample-11-how-programmatically-create-and-post-an-annotation-into-document'</span> <span class="hljs-keyword">do</span>
- haml <span class="hljs-symbol">:sample11</span>
-<span class="hljs-keyword">end</span></pre></div></div>
-
- </li>
-
-
- <li id="section-2">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-2">¶</a>
- </div>
- <p>POST request</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre>post <span class="hljs-string">'/sample-11-how-programmatically-create-and-post-an-annotation-into-document'</span> <span class="hljs-keyword">do</span></pre></div></div>
-
- </li>
-
-
- <li id="section-3">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-3">¶</a>
- </div>
- <p>Set variables</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> set <span class="hljs-symbol">:client_id</span>, params[<span class="hljs-symbol">:clientId</span>]
- set <span class="hljs-symbol">:private_key</span>, params[<span class="hljs-symbol">:privateKey</span>]
- set <span class="hljs-symbol">:file_id</span>, params[<span class="hljs-symbol">:fileId</span>]
- set <span class="hljs-symbol">:annotation_type</span>, params[<span class="hljs-symbol">:annotationType</span>]
- set <span class="hljs-symbol">:annotation_id</span>, params[<span class="hljs-symbol">:annotationId</span>]
- set <span class="hljs-symbol">:base_path</span>, params[<span class="hljs-symbol">:basePath</span>]
-
- <span class="hljs-keyword">begin</span></pre></div></div>
-
- </li>
-
-
- <li id="section-4">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-4">¶</a>
- </div>
- <p>Check required variables</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> raise <span class="hljs-string">'Please enter all required parameters'</span> <span class="hljs-keyword">if</span> settings.client_id.empty? <span class="hljs-keyword">or</span> settings.private_key.empty? <span class="hljs-keyword">or</span> settings.file_id.empty? <span class="hljs-keyword">or</span> settings.annotation_type.empty?</pre></div></div>
-
- </li>
-
-
- <li id="section-5">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-5">¶</a>
- </div>
- <p>Prepare base path</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.base_path.empty?
- base_path = <span class="hljs-string">'https://api.groupdocs.com'</span>
- <span class="hljs-keyword">elsif</span> settings.base_path.match(<span class="hljs-string">'/v2.0'</span>)
- base_path = settings.base_path.split(<span class="hljs-string">'/v2.0'</span>)[<span class="hljs-number">0</span>]
- <span class="hljs-keyword">else</span>
- base_path = settings.base_path
- <span class="hljs-keyword">end</span></pre></div></div>
-
- </li>
-
-
- <li id="section-6">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-6">¶</a>
- </div>
- <p>Configure your access to API server</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> <span class="hljs-constant">GroupDocs</span>.configure <span class="hljs-keyword">do</span> |groupdocs|
- groupdocs.client_id = settings.client_id
- groupdocs.private_key = settings.private_key</pre></div></div>
-
- </li>
-
-
- <li id="section-7">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-7">¶</a>
- </div>
- <p>Optionally specify API server and version</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> groupdocs.api_server = base_path <span class="hljs-comment"># default is 'https://api.groupdocs.com'</span>
- <span class="hljs-keyword">end</span>
-
- <span class="hljs-keyword">if</span> settings.annotation_id != <span class="hljs-string">''</span>
-
- file = <span class="hljs-constant">GroupDocs::Storage::File</span>.new({<span class="hljs-symbol">:guid</span> => settings.file_id}).to_document
- annotation = file.annotations!()</pre></div></div>
-
- </li>
-
-
- <li id="section-8">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-8">¶</a>
- </div>
- <p>Remove annotation from document</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> remove = annotation.last.remove!()
- message = <span class="hljs-string">"You delete the annotation id = <span class="hljs-subst">#{remove[<span class="hljs-symbol">:guid</span>]}</span> "</span>
- <span class="hljs-keyword">else</span></pre></div></div>
-
- </li>
-
-
- <li id="section-9">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-9">¶</a>
- </div>
- <p>Annotation types</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> types = {<span class="hljs-symbol">:text</span> => <span class="hljs-string">"0"</span>, <span class="hljs-symbol">:area</span> => <span class="hljs-string">"1"</span>, <span class="hljs-symbol">:point</span> => <span class="hljs-string">"2"</span>}</pre></div></div>
-
- </li>
-
-
- <li id="section-10">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-10">¶</a>
- </div>
- <p>Required parameters</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> all_params = all_params = [<span class="hljs-string">'annotationType'</span>, <span class="hljs-string">'boxX'</span>, <span class="hljs-string">'boxY'</span>, <span class="hljs-string">'text'</span>]</pre></div></div>
-
- </li>
-
-
- <li id="section-11">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-11">¶</a>
- </div>
- <p>Added required parameters depends on annotation type [‘text’ or ‘area’]</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.annotation_type == <span class="hljs-string">'text'</span>
- all_params = all_params | [<span class="hljs-string">'boxWidth'</span>, <span class="hljs-string">'boxHeight'</span>, <span class="hljs-string">'annotationPositionX'</span>, <span class="hljs-string">'annotationPositionY'</span>, <span class="hljs-string">'rangePosition'</span>, <span class="hljs-string">'rangeLength'</span>]
- <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'area'</span>
- all_params = all_params | [<span class="hljs-string">'boxWidth'</span>, <span class="hljs-string">'boxHeight'</span>]
- <span class="hljs-keyword">end</span>
- pp <span class="hljs-string">"test"</span></pre></div></div>
-
- </li>
-
-
- <li id="section-12">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-12">¶</a>
- </div>
- <p>raise all_params.to_yaml
-Checking required parameters</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> all_params.each <span class="hljs-keyword">do</span> |param|
- raise <span class="hljs-string">'Please enter all required parameters'</span> <span class="hljs-keyword">if</span> params[param].empty?
- <span class="hljs-keyword">end</span></pre></div></div>
-
- </li>
-
-
- <li id="section-13">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-13">¶</a>
- </div>
- <p>Create document object</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> document = <span class="hljs-constant">GroupDocs::Storage::File</span>.new(<span class="hljs-symbol">guid:</span> settings.file_id).to_document
-
- <span class="hljs-keyword">unless</span> document.instance_of? <span class="hljs-constant">String</span></pre></div></div>
-
- </li>
-
-
- <li id="section-14">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-14">¶</a>
- </div>
- <p>Start create new annotation</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> annotation = <span class="hljs-constant">GroupDocs::Document::Annotation</span>.new(<span class="hljs-symbol">document:</span> document)
-
- info = <span class="hljs-keyword">nil</span></pre></div></div>
-
- </li>
-
-
- <li id="section-15">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-15">¶</a>
- </div>
- <p>Construct requestBody depends on annotation type
-Text annotation</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.annotation_type == <span class="hljs-string">'text'</span>
- annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> params[<span class="hljs-string">'boxWidth'</span>], <span class="hljs-symbol">height:</span> params[<span class="hljs-string">'boxHeight'</span>]}
- annotation_position = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'annotationPositionX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'annotationPositionY'</span>]}
- range = {<span class="hljs-symbol">position:</span> params[<span class="hljs-string">'rangePosition'</span>], <span class="hljs-symbol">length:</span> params[<span class="hljs-string">'rangeLength'</span>]}
- info = { <span class="hljs-symbol">:box</span> => annotation_box, <span class="hljs-symbol">:annotationPosition</span> => annotation_position, <span class="hljs-symbol">:range</span> => range, <span class="hljs-symbol">:type</span> => types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> => [{<span class="hljs-symbol">:text</span> => params[<span class="hljs-string">'text'</span>]}]}</pre></div></div>
-
- </li>
-
-
- <li id="section-16">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-16">¶</a>
- </div>
- <p>Area annotation</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'area'</span>
- annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> params[<span class="hljs-string">'boxWidth'</span>], <span class="hljs-symbol">height:</span> params[<span class="hljs-string">'boxHeight'</span>]}
- annotation_annotationPosition = {<span class="hljs-symbol">x:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">y:</span> <span class="hljs-number">0</span>}
- raise <span class="hljs-string">"test"</span>
- info = {<span class="hljs-symbol">:box</span> => annotation_box, <span class="hljs-symbol">:annotationPosition</span> => annotation_annotationPosition, <span class="hljs-symbol">:type</span> => types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> => [{<span class="hljs-symbol">:text</span> => params[<span class="hljs-string">'text'</span>]}]}</pre></div></div>
-
- </li>
-
-
- <li id="section-17">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-17">¶</a>
- </div>
- <p>Point annotation</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'point'</span>
- annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">height:</span> <span class="hljs-number">0</span>}
- annotation_annotationPosition = {<span class="hljs-symbol">x:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">y:</span> <span class="hljs-number">0</span>}
-
- info = {<span class="hljs-symbol">:box</span> => annotation_box, <span class="hljs-symbol">:annotationPosition</span> => annotation_annotationPosition, <span class="hljs-symbol">:type</span> => types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> => [{<span class="hljs-symbol">:text</span> => params[<span class="hljs-string">'text'</span>]}] }
- <span class="hljs-keyword">end</span></pre></div></div>
-
- </li>
-
-
- <li id="section-18">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-18">¶</a>
- </div>
- <p>Call create method</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> annotation.create!(info)
- raise annotation.to_yaml
- id = annotation.document.file.id</pre></div></div>
-
- </li>
-
-
- <li id="section-19">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-19">¶</a>
- </div>
- <p>Get document guid</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> guid = annotation.document.file.guid</pre></div></div>
-
- </li>
-
-
- <li id="section-20">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-20">¶</a>
- </div>
- <p>Prepare to sign url</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> iframe = <span class="hljs-string">"/document-annotation2/embed/<span class="hljs-subst">#{guid}</span>"</span></pre></div></div>
-
- </li>
-
-
- <li id="section-21">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-21">¶</a>
- </div>
- <p>Construct result string</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> url = <span class="hljs-constant">GroupDocs::Api::Request</span>.new(<span class="hljs-symbol">:path</span> => iframe).prepare_and_sign_url</pre></div></div>
-
- </li>
-
-
- <li id="section-22">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-22">¶</a>
- </div>
- <p>Generate iframe URL</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">case</span> base_path
- <span class="hljs-keyword">when</span> <span class="hljs-string">'https://stage-api-groupdocs.dynabic.com'</span>
- iframe = <span class="hljs-string">"https://stage-api-groupdocs.dynabic.com<span class="hljs-subst">#{url}</span>"</span>
- <span class="hljs-keyword">when</span> <span class="hljs-string">'https://dev-api-groupdocs.dynabic.com'</span>
- iframe = <span class="hljs-string">"https://dev-apps.groupdocs.com<span class="hljs-subst">#{url}</span>"</span>
- <span class="hljs-keyword">else</span>
- iframe = <span class="hljs-string">"https://apps.groupdocs.com<span class="hljs-subst">#{url}</span>"</span>
- <span class="hljs-keyword">end</span></pre></div></div>
-
- </li>
-
-
- <li id="section-23">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-23">¶</a>
- </div>
- <p>Make iframe</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> iframe = <span class="hljs-string">"<iframe id='downloadframe' src='<span class="hljs-subst">#{iframe}</span>' width='800' height='1000'></iframe>"</span>
-
- <span class="hljs-keyword">end</span>
- <span class="hljs-keyword">end</span>
-
- <span class="hljs-keyword">rescue</span> <span class="hljs-constant">Exception</span> => e
- err = e.message
- <span class="hljs-keyword">end</span></pre></div></div>
-
- </li>
-
-
- <li id="section-24">
- <div class="annotation">
-
- <div class="pilwrap ">
- <a class="pilcrow" href="#section-24">¶</a>
- </div>
- <p>set variables for template</p>
-
- </div>
-
- <div class="content"><div class='highlight'><pre> haml <span class="hljs-symbol">:sample11</span>, <span class="hljs-symbol">:locals</span> => {<span class="hljs-symbol">:clientId</span> => settings.client_id,
- <span class="hljs-symbol">:privateKey</span> => settings.private_key,
- <span class="hljs-symbol">:fileId</span> => settings.file_id,
- <span class="hljs-symbol">:annotationType</span> => settings.annotation_type,
- <span class="hljs-symbol">:annotationId</span> => id,
- <span class="hljs-symbol">:annotationText</span> => params[<span class="hljs-string">'text'</span>],
- <span class="hljs-symbol">:err</span> => err,
- <span class="hljs-symbol">:iframe</span> => iframe,
- <span class="hljs-symbol">:message</span> => message}
-<span class="hljs-keyword">end</span></pre></div></div>
-
- </li>
-
- </ul>
- </div>
-</body>
-</html>
+<!DOCTYPE html>
+
+<html>
+<head>
+ <title>sample11.rb</title>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+ <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
+ <link rel="stylesheet" media="all" href="docco.css" />
+</head>
+<body>
+ <div id="container">
+ <div id="background"></div>
+
+ <ul class="sections">
+
+ <li id="title">
+ <div class="annotation">
+ <h1>sample11.rb</h1>
+ </div>
+ </li>
+
+
+
+ <li id="section-1">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-1">¶</a>
+ </div>
+ <p>GET request</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre>get <span class="hljs-string">'/sample-11-how-programmatically-create-and-post-an-annotation-into-document'</span> <span class="hljs-keyword">do</span>
+ haml <span class="hljs-symbol">:sample11</span>
+<span class="hljs-keyword">end</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-2">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-2">¶</a>
+ </div>
+ <p>POST request</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre>post <span class="hljs-string">'/sample-11-how-programmatically-create-and-post-an-annotation-into-document'</span> <span class="hljs-keyword">do</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-3">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-3">¶</a>
+ </div>
+ <p>Set variables</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> set <span class="hljs-symbol">:client_id</span>, params[<span class="hljs-symbol">:clientId</span>]
+ set <span class="hljs-symbol">:private_key</span>, params[<span class="hljs-symbol">:privateKey</span>]
+ set <span class="hljs-symbol">:file_id</span>, params[<span class="hljs-symbol">:fileId</span>]
+ set <span class="hljs-symbol">:annotation_type</span>, params[<span class="hljs-symbol">:annotationType</span>]
+ set <span class="hljs-symbol">:annotation_id</span>, params[<span class="hljs-symbol">:annotationId</span>]
+ set <span class="hljs-symbol">:base_path</span>, params[<span class="hljs-symbol">:basePath</span>]
+
+ <span class="hljs-keyword">begin</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-4">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-4">¶</a>
+ </div>
+ <p>Check required variables</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> raise <span class="hljs-string">'Please enter all required parameters'</span> <span class="hljs-keyword">if</span> settings.client_id.empty? <span class="hljs-keyword">or</span> settings.private_key.empty? <span class="hljs-keyword">or</span> settings.file_id.empty? <span class="hljs-keyword">or</span> settings.annotation_type.empty?</pre></div></div>
+
+ </li>
+
+
+ <li id="section-5">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-5">¶</a>
+ </div>
+ <p>Prepare base path</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.base_path.empty?
+ base_path = <span class="hljs-string">'https://api.groupdocs.com'</span>
+ <span class="hljs-keyword">elsif</span> settings.base_path.match(<span class="hljs-string">'/v2.0'</span>)
+ base_path = settings.base_path.split(<span class="hljs-string">'/v2.0'</span>)[<span class="hljs-number">0</span>]
+ <span class="hljs-keyword">else</span>
+ base_path = settings.base_path
+ <span class="hljs-keyword">end</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-6">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-6">¶</a>
+ </div>
+ <p>Configure your access to API server</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> <span class="hljs-constant">GroupDocs</span>.configure <span class="hljs-keyword">do</span> |groupdocs|
+ groupdocs.client_id = settings.client_id
+ groupdocs.private_key = settings.private_key</pre></div></div>
+
+ </li>
+
+
+ <li id="section-7">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-7">¶</a>
+ </div>
+ <p>Optionally specify API server and version</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> groupdocs.api_server = base_path <span class="hljs-comment"># default is 'https://api.groupdocs.com'</span>
+ <span class="hljs-keyword">end</span>
+
+ <span class="hljs-keyword">if</span> settings.annotation_id != <span class="hljs-string">''</span>
+
+ file = <span class="hljs-constant">GroupDocs::Storage::File</span>.new({<span class="hljs-symbol">:guid</span> => settings.file_id}).to_document
+ annotation = file.annotations!()</pre></div></div>
+
+ </li>
+
+
+ <li id="section-8">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-8">¶</a>
+ </div>
+ <p>Remove annotation from document</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> remove = annotation.last.remove!()
+ message = <span class="hljs-string">"You delete the annotation id = <span class="hljs-subst">#{remove[<span class="hljs-symbol">:guid</span>]}</span> "</span>
+ <span class="hljs-keyword">else</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-9">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-9">¶</a>
+ </div>
+ <p>Annotation types</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> types = {<span class="hljs-symbol">:text</span> => <span class="hljs-string">"0"</span>, <span class="hljs-symbol">:area</span> => <span class="hljs-string">"1"</span>, <span class="hljs-symbol">:point</span> => <span class="hljs-string">"2"</span>}</pre></div></div>
+
+ </li>
+
+
+ <li id="section-10">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-10">¶</a>
+ </div>
+ <p>Required parameters</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> all_params = all_params = [<span class="hljs-string">'annotationType'</span>, <span class="hljs-string">'boxX'</span>, <span class="hljs-string">'boxY'</span>, <span class="hljs-string">'text'</span>]</pre></div></div>
+
+ </li>
+
+
+ <li id="section-11">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-11">¶</a>
+ </div>
+ <p>Added required parameters depends on annotation type [‘text’ or ‘area’]</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.annotation_type == <span class="hljs-string">'text'</span>
+ all_params = all_params | [<span class="hljs-string">'boxWidth'</span>, <span class="hljs-string">'boxHeight'</span>, <span class="hljs-string">'annotationPositionX'</span>, <span class="hljs-string">'annotationPositionY'</span>, <span class="hljs-string">'rangePosition'</span>, <span class="hljs-string">'rangeLength'</span>]
+ <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'area'</span>
+ all_params = all_params | [<span class="hljs-string">'boxWidth'</span>, <span class="hljs-string">'boxHeight'</span>]
+ <span class="hljs-keyword">end</span>
+ pp <span class="hljs-string">"test"</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-12">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-12">¶</a>
+ </div>
+ <p>raise all_params.to_yaml
+Checking required parameters</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> all_params.each <span class="hljs-keyword">do</span> |param|
+ raise <span class="hljs-string">'Please enter all required parameters'</span> <span class="hljs-keyword">if</span> params[param].empty?
+ <span class="hljs-keyword">end</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-13">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-13">¶</a>
+ </div>
+ <p>Create document object</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> document = <span class="hljs-constant">GroupDocs::Storage::File</span>.new(<span class="hljs-symbol">guid:</span> settings.file_id).to_document
+
+ <span class="hljs-keyword">unless</span> document.instance_of? <span class="hljs-constant">String</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-14">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-14">¶</a>
+ </div>
+ <p>Start create new annotation</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> annotation = <span class="hljs-constant">GroupDocs::Document::Annotation</span>.new(<span class="hljs-symbol">document:</span> document)
+
+ info = <span class="hljs-keyword">nil</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-15">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-15">¶</a>
+ </div>
+ <p>Construct requestBody depends on annotation type
+Text annotation</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.annotation_type == <span class="hljs-string">'text'</span>
+ annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> params[<span class="hljs-string">'boxWidth'</span>], <span class="hljs-symbol">height:</span> params[<span class="hljs-string">'boxHeight'</span>]}
+ annotation_position = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'annotationPositionX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'annotationPositionY'</span>]}
+ range = {<span class="hljs-symbol">position:</span> params[<span class="hljs-string">'rangePosition'</span>], <span class="hljs-symbol">length:</span> params[<span class="hljs-string">'rangeLength'</span>]}
+ info = { <span class="hljs-symbol">:box</span> => annotation_box, <span class="hljs-symbol">:annotationPosition</span> => annotation_position, <span class="hljs-symbol">:range</span> => range, <span class="hljs-symbol">:type</span> => types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> => [{<span class="hljs-symbol">:text</span> => params[<span class="hljs-string">'text'</span>]}]}</pre></div></div>
+
+ </li>
+
+
+ <li id="section-16">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-16">¶</a>
+ </div>
+ <p>Area annotation</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'area'</span>
+ annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> params[<span class="hljs-string">'boxWidth'</span>], <span class="hljs-symbol">height:</span> params[<span class="hljs-string">'boxHeight'</span>]}
+ annotation_annotationPosition = {<span class="hljs-symbol">x:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">y:</span> <span class="hljs-number">0</span>}
+ raise <span class="hljs-string">"test"</span>
+ info = {<span class="hljs-symbol">:box</span> => annotation_box, <span class="hljs-symbol">:annotationPosition</span> => annotation_annotationPosition, <span class="hljs-symbol">:type</span> => types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> => [{<span class="hljs-symbol">:text</span> => params[<span class="hljs-string">'text'</span>]}]}</pre></div></div>
+
+ </li>
+
+
+ <li id="section-17">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-17">¶</a>
+ </div>
+ <p>Point annotation</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'point'</span>
+ annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">height:</span> <span class="hljs-number">0</span>}
+ annotation_annotationPosition = {<span class="hljs-symbol">x:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">y:</span> <span class="hljs-number">0</span>}
+
+ info = {<span class="hljs-symbol">:box</span> => annotation_box, <span class="hljs-symbol">:annotationPosition</span> => annotation_annotationPosition, <span class="hljs-symbol">:type</span> => types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> => [{<span class="hljs-symbol">:text</span> => params[<span class="hljs-string">'text'</span>]}] }
+ <span class="hljs-keyword">end</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-18">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-18">¶</a>
+ </div>
+ <p>Call create method</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> annotation.create!(info)
+ raise annotation.to_yaml
+ id = annotation.document.file.id</pre></div></div>
+
+ </li>
+
+
+ <li id="section-19">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-19">¶</a>
+ </div>
+ <p>Get document guid</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> guid = annotation.document.file.guid</pre></div></div>
+
+ </li>
+
+
+ <li id="section-20">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-20">¶</a>
+ </div>
+ <p>Prepare to sign url</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> iframe = <span class="hljs-string">"/document-annotation2/embed/<span class="hljs-subst">#{guid}</span>"</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-21">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-21">¶</a>
+ </div>
+ <p>Construct result string</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> url = <span class="hljs-constant">GroupDocs::Api::Request</span>.new(<span class="hljs-symbol">:path</span> => iframe).prepare_and_sign_url</pre></div></div>
+
+ </li>
+
+
+ <li id="section-22">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-22">¶</a>
+ </div>
+ <p>Generate iframe URL</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">case</span> base_path
+ <span class="hljs-keyword">when</span> <span class="hljs-string">'https://stage-api-groupdocs.dynabic.com'</span>
+ iframe = <span class="hljs-string">"https://stage-api-groupdocs.dynabic.com<span class="hljs-subst">#{url}</span>"</span>
+ <span class="hljs-keyword">when</span> <span class="hljs-string">'https://dev-api-groupdocs.dynabic.com'</span>
+ iframe = <span class="hljs-string">"https://dev-apps.groupdocs.com<span class="hljs-subst">#{url}</span>"</span>
+ <span class="hljs-keyword">else</span>
+ iframe = <span class="hljs-string">"https://apps.groupdocs.com<span class="hljs-subst">#{url}</span>"</span>
+ <span class="hljs-keyword">end</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-23">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-23">¶</a>
+ </div>
+ <p>Make iframe</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> iframe = <span class="hljs-string">"<iframe id='downloadframe' src='<span class="hljs-subst">#{iframe}</span>' width='800' height='1000'></iframe>"</span>
+
+ <span class="hljs-keyword">end</span>
+ <span class="hljs-keyword">end</span>
+
+ <span class="hljs-keyword">rescue</span> <span class="hljs-constant">Exception</span> => e
+ err = e.message
+ <span class="hljs-keyword">end</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-24">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-24">¶</a>
+ </div>
+ <p>set variables for template</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> haml <span class="hljs-symbol">:sample11</span>, <span class="hljs-symbol">:locals</span> => {<span class="hljs-symbol">:clientId</span> => settings.client_id,
+ <span class="hljs-symbol">:privateKey</span> => settings.private_key,
+ <span class="hljs-symbol">:fileId</span> => settings.file_id,
+ <span class="hljs-symbol">:annotationType</span> => settings.annotation_type,
+ <span class="hljs-symbol">:annotationId</span> => id,
+ <span class="hljs-symbol">:annotationText</span> => params[<span class="hljs-string">'text'</span>],
+ <span class="hljs-symbol">:err</span> => err,
+ <span class="hljs-symbol">:iframe</span> => iframe,
+ <span class="hljs-symbol">:message</span> => message}
+<span class="hljs-keyword">end</span></pre></div></div>
+
+ </li>
+
+ </ul>
+ </div>
+</body>
+</html>