Quantcast
Channel: TX Text Control Community
Viewing all 1022 articles
Browse latest View live

TX Text Control X13 for Windows Forms, WPF, ASP.NET and ActiveX released

$
0
0
We are more than happy to announce the immediate availability of TX Text Control X13. Read more about what's new in the following products: ASP.NET. TX Text Control .NET Server for ASP.NET X13. Windows Forms. TX Text Control .NET for Windows Forms X13. WPF. TX Text Control .NET for WPF X13. ActiveX. TX Text Control ActiveX X13. Download Updated...

More...

MVC: Loading and saving documents through controller HttpPost methods

$
0
0
With the release of TX Text Control X13, we released an MVC version of TXTextControl.Web that is available through NuGet. This sample project shows how to load and save documents using controller methods and Javascript. The view contains the TXTextControl.Web HtmlHelper and two buttons to save and to load the document. The Javascript function...

More...

MVC: How to use the HtmlHelper settings with lambda expressions

$
0
0
The MVC version of TXTextControl.Web provides an HtmlHelper to support the rendering of the HTML5-based editor in a view. In the HtmlHelper, all properties can be adjusted and methods can be called to load documents or to load a database. In order to render the default view of TXTextControl.Web, the following simple razor code is required: In...

More...

TXTextControl.Web Web Forms and MVC: Routing service calls to a separate application

$
0
0
Since version X13 (23.0), the required TX Text Control Service can be installed on one or more separate servers that are independent from the web servers. This has two significant advantages: The TX Text Control Service work load doesn't have any influence on the web server and the required responsiveness for web requests and web servers can be...

More...

ASP.NET MVC: How to use the HtmlHelper settings with lambda expressions

$
0
0
The MVC version of TXTextControl.Web provides an HtmlHelper to support the rendering of the HTML5-based editor in a view. In the HtmlHelper, all properties can be adjusted and methods can be called to load documents or to load a database. In order to render the default view of TXTextControl.Web, the following simple razor code is required: In...

More...

Adding ASP.NET Web API support to an existing Visual Studio ASP.NET MVC project

$
0
0
TXTextControl.Web.MVC is using the ASP.NET Web API framework to synchronize the edited document with the server in order to render the output in a true WYSIWYG manner. From Microsoft MSDN: ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET...

More...

MVC: Autosave and restore documents to and from the local browser storage

$
0
0
Modern HTML5-based web browsers support persistent data storage with an enhanced capacity up to 50MB local storage. It is possible to store data persistently or session based. This sample shows how use the local storage to autosave documents and how to restore documents when the page is refreshed or reloaded. The following Javascript stores the...

More...

Creating nested repeating blocks with version X13 (23.0)

$
0
0
In version X13 (23.0), we introduced new merge block elements based on the new document element SubTextPart. The old concept using two bookmarks is still compatible and will be converted when loading an old template into the designer TX Text Control Words. This new concept makes the handling inside the template designer TX Text Control Words...

More...

MVC: Autosave and restore documents to and from the local browser storage

$
0
0
Modern HTML5-based web browsers support persistent data storage with an enhanced capacity up to 50MB local storage. It is possible to store data persistently or session based. This sample shows how use the local storage to autosave documents and how to restore documents when the page is refreshed or reloaded. The following Javascript stores the...

More...

Setting the interface and control's culture of Web.TextControl

$
0
0
Since version X13 (23.0), the control culture and UI culture of the HTML5 based editor Web.TextControl can be defined using the properties Culture and UICulture. By default and if not specified by the above properties, the user language is defined by the client user settings. For example, if the user specifies a language in the browser language...

More...

Visit Text Control at NDC London 2016

$
0
0
The NDC is back in London in January (11-15) with a fantastic speaker line-up including Scott Hanselman, Scott Allen, Dan Wahlin and Miguel Castro. NDC { London }. Since the beginning, we are sponsoring this conference in London. NDC London will be the first of many conferences in 2016 we are going to sponsor. If you are attending this show,...

More...

MVC: Arrange a docked Web.TextControl with a custom bar at the top

$
0
0
Consider the following task: The Web.TextControl should be arranged under a custom bar that is located at the top of the page like in the following screenshot: Objects such as DIV elements doesn't really have an option to extend itself to 100% of the remaining space on a page. The CSS Height property set to 100% works only, if the container...

More...

MVC: Arrange a docked Web.TextControl with a custom bar at the top

$
0
0
Consider the following task: The Web.TextControl should be arranged under a custom bar that is located at the top of the page like in the following screenshot: Objects such as DIV elements doesn't really have an option to extend itself to 100% of the remaining space on a page. The CSS Height property set to 100% works only, if the container...

More...

MVC: Autosave and restore documents to and from the local browser storage

$
0
0
Modern HTML5-based web browsers support persistent data storage with an enhanced capacity up to 50MB local storage. It is possible to store data persistently or session based. This sample shows how use the local storage to autosave documents and how to restore documents when the page is refreshed or reloaded. The following Javascript stores the...

More...

What a year 2015 - Deep functionality. Delivered.

$
0
0
What a year! It's been a year full of innovation and creativity. Very early, we announced the roadmap for version X12 (22.0) with improvements for all products of Text Control including highly requested features for our ASP.NET Web Forms control. In April, we released version X12 and presented the new products at the DevIntersection conference...

More...

MVC: Replace the ribbon table menu with a quick insert table drop-down

$
0
0
MS Word provides a quick insert table drop-down to insert tables into the document. This sample shows how to replace the insert table button with such a table insert drop-down. The replacement and the new drop down button is done using Javascript and can be found in the GitHub repository. In order to insert the specific table, a controller...

More...

See Text Control at BASTA! Spring 2016

$
0
0
BASTA! – The Best of Best Practices! From February 29th to March 4th 2016, the BASTA! is back in Darmstadt, Germany. Attendees enjoy workshops and sessions from more than 60 international speakers. As always, we are exhibiting in the expo area in order to present our latest products and versions. AT BASTA!, we meet many of our clients and...

More...

Use SubTextParts to protect document parts

$
0
0
SubTextParts have been introduced in version X13 (23.0) as a new document element to realize the new MailMerge merge block concept. But this element can be used for other tasks as well. A SubTextPart object represents a user-defined part of a TX Text Control document with a specific Name and ID. The following code can be used to convert the...

More...

MVC: Replace the file menu with a backstage view menu

$
0
0
Microsoft Word provides a very smart way to manage documents and related data such as metadata and personal information in a separate view: The backstage view. The ribbon bar contains commands for working in a document and the backstage view provides options and commands to do to a document. From a UX (user experience) point of view, the...

More...

[OPEN] Adding .click eventlistener to custom tab in HTML5 editor

$
0
0
Hello,

I am using code provided in one of the blogs to create a custom tab for merge codes. We are upgrading from version 16 to 22 and have our own custom merge codes in place, with a web service to pull in data, and, for obvious reasons want to keep this system in place. My custom tab has a dropdown for merge code groups which drives a second dropdown of merge codes within the selected group. Users add or delete merge codes by clicking on an img with either a plus or minus sign. Everything is in place - the dropdowns are working beautifully, but I cannot seem to bind the plus sign img to a click event. I've tried both jQuery and Javascript (commented out in the code snippet). I *am* making sure that the custom tab itself is loaded before attempting the bind, but to no avail. Anyone see the problem? Thanks in advance for any input!

Mike

Code:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="BrowserControl.aspx.vb" Inherits="WebApplication2.BrowserControl" %>

<%@ Register assembly="TXTextControl.Web, Version=22.0.200.500, Culture=neutral, PublicKeyToken=6b83fe9a75cfb638" namespace="TXTextControl.Web" tagprefix="cc1" %>
<%--<link href="tx.css" rel="stylesheet" />--%>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script src="Scripts/jquery-1.10.2.js"></script>

        <script type="text/javascript">

            function loadDDLMergeCodeGroups() {
                $(document).ready(function () {
                    $("#ddlMergeCodeGroup").load("MergeCodeGroups.txt");
                });
            }

            function loadDDLMergeCodes() {
                $("#ddlMergeCodeGroup").change(function() {
                    $("#ddlMergeCode").load(encodeURI("textdata/" + $(this).val() + ".txt"));
                });
            }

            function addInsertFieldEvent() {
                $('#insertField').bind('click', function() {
                    alert('Hello!');   
                });
            }

            //function addInsertFieldEvent() {
            //    document.getElementById('insertField').addEventListener('click', function (e) {
            //      alert('hello');
            //    });
            //}

        </script>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
   
        <cc1:TextControl ID="TextControl1" runat="server" Dock="Window" />

        <script type="text/javascript">

            // elements can be only added when the ribbon is completely loaded
            TXTextControl.addEventListener("ribbonTabsLoaded", function (e) {
                addTab();
                loadDDLMergeCodeGroups();
                loadDDLMergeCodes();
                addInsertFieldEvent();
            });

            // this function adds a new tab and the tab content page
            function addTab() {
                sCustomTab = "<li><a onclick='activateCustomTab();' id='tabCustom' data-applicationmodes='0' tabindex='-1' href='#!'>Merge Codes</a></li>";

                // add the new tab after the 'View' tab
                document.getElementById('tabView').parentElement.insertAdjacentHTML(
                    'afterend', sCustomTab);

                sCustomTabContent = "<div id='ribbonTabCustom' class='tab-content' style='display: none;'>";
                sCustomTabContent += "<div id='ribbonGroupCustom' class='ribbon-group'>";
                sCustomTabContent += "  <div class='ribbon-group-content'>";
                sCustomTabContent += "      <div class='ribbon-group-content-row'>";
                sCustomTabContent += "          <div class='ribbon-group-button-group'>";
                //sCustomTabContent += "              <div onclick='BtnCustomAction()' id='BtnCustom' class='ribbon-button ribbon-button-big' title='Custom'>";
                //sCustomTabContent += "                  <div class='ribbon-button-big-image-container'><img id='imgID_RibbonTabInsert_html_0' class='ribbon-button-big-image' src='custom.png'></img></div>";
                sCustomTabContent += "                  <div class='ribbon-button-big-label-container'>";
                sCustomTabContent += "                      <p class='ribbon-button-label'>Merge Code Group&nbsp;&nbsp;";
                sCustomTabContent += "                          <select id='ddlMergeCodeGroup'></select>&nbsp;&nbsp;";
                sCustomTabContent += "                          Merge Code&nbsp;&nbsp;";
                sCustomTabContent += "                          <select id='ddlMergeCode'></select>&nbsp;&nbsp;";
                sCustomTabContent += "                          <img id='insertField' src='images/Plus.png' alt='Add' height='20' width='20'></img>&nbsp;&nbsp;";
                sCustomTabContent += "                          <img id='deleteField' src='images/minus.png' alt='Delete' height='20' width='20'></img>&nbsp;&nbsp;";
                sCustomTabContent += "                      </p>";
                sCustomTabContent += "                  </div>";
                //sCustomTabContent += "              </div>";
                sCustomTabContent += "          </div>";
                sCustomTabContent += "      </div>";
                sCustomTabContent += "  </div>";

                //sCustomTabContent += "  <div class='ribbon-group-label-container'>";
                //sCustomTabContent += "      <p class='ribbon-group-label'>asdf</p>";
                //sCustomTabContent += "  </div>";
                sCustomTabContent += "</div>";
                sCustomTabContent += "</div>";

                // add the tab content to the tab content container
                document.getElementById('txRibbonTabContentContainer').insertAdjacentHTML(
                    'afterbegin', sCustomTabContent);
            }

            function activateCustomTab() {
                $('div.tab-content').css("display", "none");
                $('ul.tabs a').removeClass("selected");

                $("#ribbonTabCustom").css("display", "inline-block");
                $("#tabCustom").addClass("selected");
            }
        </script>   
        </div>
    </form>
</body>
</html>

Viewing all 1022 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>