();
48 | }
49 |
50 | return directories;
51 | }
52 | }
53 | // **********
54 | // **********
55 | // **********
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_7800.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 7800
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | Panel Title
19 |
20 |
21 |
22 |
23 | Panel Body
24 |
25 |
26 |
29 |
30 |
31 |
32 |
33 |
34 |
39 |
40 |
41 | Card Body
42 |
43 |
44 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
67 |
68 |
69 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Scripts/src/methods/placements.js:
--------------------------------------------------------------------------------
1 | /**
2 | * List of accepted placements to use as values of the `placement` option.
3 | * Valid placements are:
4 | * - `auto`
5 | * - `top`
6 | * - `right`
7 | * - `bottom`
8 | * - `left`
9 | *
10 | * Each placement can have a variation from this list:
11 | * - `-start`
12 | * - `-end`
13 | *
14 | * Variations are interpreted easily if you think of them as the left to right
15 | * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`
16 | * is right.
17 | * Vertically (`left` and `right`), `start` is top and `end` is bottom.
18 | *
19 | * Some valid examples are:
20 | * - `top-end` (on top of reference, right aligned)
21 | * - `right-start` (on right of reference, top aligned)
22 | * - `bottom` (on bottom, centered)
23 | * - `auto-end` (on the side with more space available, alignment depends by placement)
24 | *
25 | * @static
26 | * @type {Array}
27 | * @enum {String}
28 | * @readonly
29 | * @method placements
30 | * @memberof Popper
31 | */
32 | export default [
33 | 'auto-start',
34 | 'auto',
35 | 'auto-end',
36 | 'top-start',
37 | 'top',
38 | 'top-end',
39 | 'right-start',
40 | 'right',
41 | 'right-end',
42 | 'bottom-end',
43 | 'bottom',
44 | 'bottom-start',
45 | 'left-end',
46 | 'left',
47 | 'left-start',
48 | ];
49 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn0400.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | Click Me!
20 |
21 | Click Me!
22 |
23 | @*Click Me! *@
24 | Click Me!
25 |
26 | Click Me!
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_7700.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 7700
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | Full Name:
19 |
20 | {{ person?.fullName }}
21 |
22 |
23 |
24 | Children
25 |
26 |
27 |
28 | Birth Date:
29 |
30 |
31 |
32 |
33 |
34 | Children: {{ person?.children }}
35 |
36 | Birth Date: {{ person?.birthDate.year }} / {{ person?.birthDate.month }} / {{ person?.birthDate.day }}
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_3000.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 3000
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 | Learning Animation!
22 |
23 |
24 |
25 |
26 |
Toggle
27 |
28 |
29 |
30 |
31 |
32 |
35 |
36 |
37 | Body
38 |
39 |
40 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Scripts/src/utils/debounce.js:
--------------------------------------------------------------------------------
1 | import isBrowser from './isBrowser';
2 |
3 | const timeoutDuration = (function(){
4 | const longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
5 | for (let i = 0; i < longerTimeoutBrowsers.length; i += 1) {
6 | if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {
7 | return 1;
8 | }
9 | }
10 | return 0;
11 | }());
12 |
13 | export function microtaskDebounce(fn) {
14 | let called = false
15 | return () => {
16 | if (called) {
17 | return
18 | }
19 | called = true
20 | window.Promise.resolve().then(() => {
21 | called = false
22 | fn()
23 | })
24 | }
25 | }
26 |
27 | export function taskDebounce(fn) {
28 | let scheduled = false;
29 | return () => {
30 | if (!scheduled) {
31 | scheduled = true;
32 | setTimeout(() => {
33 | scheduled = false;
34 | fn();
35 | }, timeoutDuration);
36 | }
37 | };
38 | }
39 |
40 | const supportsMicroTasks = isBrowser && window.Promise
41 |
42 |
43 | /**
44 | * Create a debounced version of a method, that's asynchronously deferred
45 | * but called in the minimum time possible.
46 | *
47 | * @method
48 | * @memberof Popper.Utils
49 | * @argument {Function} fn
50 | * @returns {Function}
51 | */
52 | export default (supportsMicroTasks
53 | ? microtaskDebounce
54 | : taskDebounce);
55 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Web.Debug.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
17 |
18 |
29 |
30 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn7200.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 | @**@
26 |
27 |
28 |
29 |
30 |
31 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_5000.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 5000
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 | Using components in all Vue objects!
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_8100.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 8100
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | Save
20 |
21 |
22 |
23 | Save
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
78 |
79 |
80 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn0750.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
24 |
25 |
26 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_1500.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 1500
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 |
22 | Name
23 | Price
24 | Count
25 |
26 |
27 | {{ item.name }}
28 | {{ item.price }}
29 | {{ item.count }}
30 |
31 |
32 |
33 |
34 |
35 |
36 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Scripts/src/modifiers/hide.js:
--------------------------------------------------------------------------------
1 | import isModifierRequired from '../utils/isModifierRequired';
2 | import find from '../utils/find';
3 |
4 | /**
5 | * @function
6 | * @memberof Modifiers
7 | * @argument {Object} data - The data object generated by update method
8 | * @argument {Object} options - Modifiers configuration and options
9 | * @returns {Object} The data object, properly modified
10 | */
11 | export default function hide(data) {
12 | if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {
13 | return data;
14 | }
15 |
16 | const refRect = data.offsets.reference;
17 | const bound = find(
18 | data.instance.modifiers,
19 | modifier => modifier.name === 'preventOverflow'
20 | ).boundaries;
21 |
22 | if (
23 | refRect.bottom < bound.top ||
24 | refRect.left > bound.right ||
25 | refRect.top > bound.bottom ||
26 | refRect.right < bound.left
27 | ) {
28 | // Avoid unnecessary DOM access if visibility hasn't changed
29 | if (data.hide === true) {
30 | return data;
31 | }
32 |
33 | data.hide = true;
34 | data.attributes['x-out-of-boundaries'] = '';
35 | } else {
36 | // Avoid unnecessary DOM access if visibility hasn't changed
37 | if (data.hide === false) {
38 | return data;
39 | }
40 |
41 | data.hide = false;
42 | data.attributes['x-out-of-boundaries'] = false;
43 | }
44 |
45 | return data;
46 | }
47 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn0800.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
23 |
24 |
25 |
26 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Scripts/src/utils/setupEventListeners.js:
--------------------------------------------------------------------------------
1 | import getScrollParent from './getScrollParent';
2 | import getWindow from './getWindow';
3 |
4 | function attachToScrollParents(scrollParent, event, callback, scrollParents) {
5 | const isBody = scrollParent.nodeName === 'BODY';
6 | const target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;
7 | target.addEventListener(event, callback, { passive: true });
8 |
9 | if (!isBody) {
10 | attachToScrollParents(
11 | getScrollParent(target.parentNode),
12 | event,
13 | callback,
14 | scrollParents
15 | );
16 | }
17 | scrollParents.push(target);
18 | }
19 |
20 | /**
21 | * Setup needed event listeners used to update the popper position
22 | * @method
23 | * @memberof Popper.Utils
24 | * @private
25 | */
26 | export default function setupEventListeners(
27 | reference,
28 | options,
29 | state,
30 | updateBound
31 | ) {
32 | // Resize event listener on window
33 | state.updateBound = updateBound;
34 | getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });
35 |
36 | // Scroll event listener on scroll parents
37 | const scrollElement = getScrollParent(reference);
38 | attachToScrollParents(
39 | scrollElement,
40 | 'scroll',
41 | state.updateBound,
42 | state.scrollParents
43 | );
44 | state.scrollElement = scrollElement;
45 | state.eventsEnabled = true;
46 |
47 | return state;
48 | }
49 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Web.Release.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
17 |
18 |
19 |
30 |
31 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Scripts/src/utils/getOffsetParent.js:
--------------------------------------------------------------------------------
1 | import getStyleComputedProperty from './getStyleComputedProperty';
2 | import isIE from './isIE';
3 | /**
4 | * Returns the offset parent of the given element
5 | * @method
6 | * @memberof Popper.Utils
7 | * @argument {Element} element
8 | * @returns {Element} offset parent
9 | */
10 | export default function getOffsetParent(element) {
11 | if (!element) {
12 | return document.documentElement;
13 | }
14 |
15 | const noOffsetParent = isIE(10) ? document.body : null;
16 |
17 | // NOTE: 1 DOM access here
18 | let offsetParent = element.offsetParent || null;
19 | // Skip hidden elements which don't have an offsetParent
20 | while (offsetParent === noOffsetParent && element.nextElementSibling) {
21 | offsetParent = (element = element.nextElementSibling).offsetParent;
22 | }
23 |
24 | const nodeName = offsetParent && offsetParent.nodeName;
25 |
26 | if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {
27 | return element ? element.ownerDocument.documentElement : document.documentElement;
28 | }
29 |
30 | // .offsetParent will return the closest TH, TD or TABLE in case
31 | // no offsetParent is present, I hate this job...
32 | if (
33 | ['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 &&
34 | getStyleComputedProperty(offsetParent, 'position') === 'static'
35 | ) {
36 | return getOffsetParent(offsetParent);
37 | }
38 |
39 | return offsetParent;
40 | }
41 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_6500.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 6500
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/DtxFileManagerVue/Initializer.cs:
--------------------------------------------------------------------------------
1 | namespace FileManager
2 | {
3 | public class Initializer : object
4 | {
5 | public Initializer() : base()
6 | {
7 | }
8 |
9 | // **********
10 | protected virtual string AreaName
11 | {
12 | get
13 | {
14 | object areaName =
15 | System.Web.HttpContext.Current.Request.RequestContext.RouteData.DataTokens["area"];
16 |
17 | if (areaName == null)
18 | {
19 | return null;
20 | }
21 | else
22 | {
23 | return areaName.ToString();
24 | }
25 | }
26 | }
27 | // **********
28 |
29 | // **********
30 | protected virtual string ControllerName
31 | {
32 | get
33 | {
34 | object controllerName =
35 | System.Web.HttpContext.Current.Request.RequestContext.RouteData.Values["controller"];
36 |
37 | if (controllerName == null)
38 | {
39 | return null;
40 | }
41 | else
42 | {
43 | return controllerName.ToString();
44 | }
45 | }
46 | }
47 | // **********
48 |
49 | // **********
50 | public string Path
51 | {
52 | get
53 | {
54 | string result = string.Empty;
55 |
56 | if (string.IsNullOrWhiteSpace(AreaName) == false)
57 | {
58 | result =
59 | string.Format("/{0}", AreaName);
60 | }
61 |
62 | if (string.IsNullOrWhiteSpace(ControllerName) == false)
63 | {
64 | result =
65 | string.Format("{0}/{1}", result, ControllerName);
66 | }
67 |
68 | return result;
69 | }
70 | }
71 | // **********
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Scripts/src/utils/runModifiers.js:
--------------------------------------------------------------------------------
1 | import isFunction from './isFunction';
2 | import findIndex from './findIndex';
3 | import getClientRect from '../utils/getClientRect';
4 |
5 | /**
6 | * Loop trough the list of modifiers and run them in order,
7 | * each of them will then edit the data object.
8 | * @method
9 | * @memberof Popper.Utils
10 | * @param {dataObject} data
11 | * @param {Array} modifiers
12 | * @param {String} ends - Optional modifier name used as stopper
13 | * @returns {dataObject}
14 | */
15 | export default function runModifiers(modifiers, data, ends) {
16 | const modifiersToRun = ends === undefined
17 | ? modifiers
18 | : modifiers.slice(0, findIndex(modifiers, 'name', ends));
19 |
20 | modifiersToRun.forEach(modifier => {
21 | if (modifier['function']) { // eslint-disable-line dot-notation
22 | console.warn('`modifier.function` is deprecated, use `modifier.fn`!');
23 | }
24 | const fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation
25 | if (modifier.enabled && isFunction(fn)) {
26 | // Add properties to offsets to make them a complete clientRect object
27 | // we do this before each modifier to make sure the previous one doesn't
28 | // mess with these values
29 | data.offsets.popper = getClientRect(data.offsets.popper);
30 | data.offsets.reference = getClientRect(data.offsets.reference);
31 |
32 | data = fn(data, modifier);
33 | }
34 | });
35 |
36 | return data;
37 | }
38 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Test.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
24 |
25 |
26 |
27 |
28 |
29 |
32 |
33 |
34 |
35 |
36 |
45 |
46 |
47 |
48 |
49 |
50 | @**@
51 |
52 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_5500.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 5500
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 | 1) Component template should have root element!
22 |
23 | 2) Using [template] as root element!
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("MY_WEB_APPLICATION")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("MY_WEB_APPLICATION")]
13 | [assembly: AssemblyCopyright("Copyright © 2018")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("5f0561f6-85dc-468f-a717-dc5747ddbe79")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Revision and Build Numbers
33 | // by using the '*' as shown below:
34 | [assembly: AssemblyVersion("1.0.0.0")]
35 | [assembly: AssemblyFileVersion("1.0.0.0")]
36 |
--------------------------------------------------------------------------------
/DtxFileManagerVue/JsonData.cs:
--------------------------------------------------------------------------------
1 | namespace Dtx.FileManager
2 | {
3 | public class JsonData : object
4 | {
5 | public JsonData() : base()
6 | {
7 | }
8 |
9 | public object Data { get; set; }
10 |
11 | public string MessageText { get; set; }
12 |
13 | public string MessageTitle { get; set; }
14 |
15 | public bool DisplayMessage { get; set; }
16 |
17 | public ViewModels.JsonResultStates State { get; set; }
18 |
19 | public System.Web.Mvc.JsonResult GetJsonResult()
20 | {
21 | //if (DisplayMessage)
22 | //{
23 | // if (string.IsNullOrWhiteSpace(MessageTitle))
24 | // {
25 | // switch (State)
26 | // {
27 | // case Enums.JsonResultStates.Error:
28 | // {
29 | // MessageTitle = Resources.Captions.ErrorState;
30 |
31 | // break;
32 | // }
33 |
34 | // case Enums.JsonResultStates.Success:
35 | // {
36 | // MessageTitle = Resources.Captions.SuccessState;
37 |
38 | // break;
39 | // }
40 |
41 | // case Enums.JsonResultStates.Warning:
42 | // {
43 | // MessageTitle = Resources.Captions.WarningState;
44 |
45 | // break;
46 | // }
47 | // }
48 | // }
49 | //}
50 |
51 | System.Web.Mvc.JsonResult jsonResult = new System.Web.Mvc.JsonResult
52 | {
53 | Data = this,
54 | RecursionLimit = null,
55 | MaxJsonLength = int.MaxValue,
56 | ContentEncoding = System.Text.Encoding.UTF8,
57 | JsonRequestBehavior = System.Web.Mvc.JsonRequestBehavior.AllowGet
58 | };
59 |
60 | return jsonResult;
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_1600.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 1600
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | Name
25 | Price
26 | Count
27 |
28 |
29 | {{ item.name }}
30 | {{ item.price }}
31 | {{ item.count }}
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_6100.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 6100
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | First Name:
20 |
21 |
22 |
23 | Last Name:
24 |
25 |
26 |
27 |
28 |
Do Something
29 |
30 |
31 |
32 | Cell Phone Number: {{ result.data.cellPhoneNumber }}
33 |
34 | Email Address: {{ result.data.emailAddress }}
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/Resources/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("Resources")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("Resources")]
13 | [assembly: AssemblyCopyright("Copyright © 2019")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("1e6b938a-4e7e-4c89-a435-904566416e81")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_5400.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 5400
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 | 1) Only kabab case will be work in HTML!
22 |
23 | 2) The kabab case will considered as camel case!
24 |
25 |
26 |
27 |
28 |
31 |
32 |
33 |
34 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/DtxFileManagerVue/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("DtxFileManagerVue")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("DtxFileManagerVue")]
13 | [assembly: AssemblyCopyright("Copyright © 2018")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("4261a6ae-3359-4ef3-bf21-0c81009dae56")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("1.0.0.0")]
36 | [assembly: AssemblyFileVersion("1.0.0.0")]
37 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn5100.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | Get Message
20 |
21 |
22 | {{ message }}
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Learning DtxGridVue (DTX Web Data Grid VUEJS)
2 |
3 | ### A very simple and powerful Web Data Grid based on VUEJS!
4 |
5 | 
6 |
7 | See LearningDtxGridVueController and its related Views for learning DtxGridVue
8 |
9 |
14 |
15 |
43 |
44 | 
45 |
46 | You can see all of samples and features in Learn_0100 to Learn_1700 actiions and views!
47 |
48 | ### Full Features in English:
49 |
50 | 
51 |
52 | ### Full Features in Persian (Farsi):
53 |
54 | 
55 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/LearningDtxGridVue/Learn_0100.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Learn 100
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn0900.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | Name
24 | Price
25 | Count
26 |
27 |
28 | {{ item.name }}
29 | {{ item.price }}
30 | {{ item.count }}
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_0700.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 700
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 | Learning Directive!
22 |
23 |
24 |
25 |
26 |
{{ message1 }}
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
{{ message2 }}
36 |
37 |
38 |
39 |
40 |
41 |
42 | @*دستورات ذیل غلط است*@
43 | @*
*@
44 | @*
*@
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
82 |
83 |
84 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_1100.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 1100
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 | Welcome {{ fullName }}!
21 |
22 | Welcome {{ fullName.toLowerCase() }}!
23 |
24 | Welcome {{ fullName.toUpperCase() }}!
25 |
26 |
27 |
28 |
Do Something
29 |
30 |
31 |
32 | @*Person Full Name: {{ person.fullName }}*@
33 | @*
*@
34 |
35 |
36 | Person Full Name: {{ person.fullName }}
37 |
38 |
39 |
40 | Person Full Name: {{ person?.fullName }}
41 |
42 |
43 |
44 |
45 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn0932.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | After display in browser! Activate Inspect! Breakpoint in [z] function! Click on doSomething button and Debug it!
21 |
22 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn5000.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | Get Message
20 |
21 |
22 | {{ message }}
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_0500.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 500
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 | {{ title }}
21 |
22 | {{ message1 }}
23 | @*
24 | {{ message2 }}*@
25 |
26 |
27 |
28 |
29 |
30 | {{ title }}
31 |
32 | {{ message2 }}
33 | @*
34 | {{ message1 }}*@
35 |
36 |
37 |
38 |
39 |
40 | {{ message3 }}
41 |
42 |
43 |
44 |
45 |
46 | {{ message3 }}
47 |
48 |
49 |
50 |
51 |
52 |
53 |
95 |
96 |
97 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_6600.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 6600
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Problem: Two Way Binding From Parent to Child!
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
87 |
88 |
89 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn0933.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | After display in browser! Activate Inspect! Breakpoint in [z] function! Click on doSomething button and Debug it!
21 |
22 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
83 |
84 |
85 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_6650.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 6650
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Problem: Two Way Binding From Parent to Child!
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
87 |
88 |
89 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn5200.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | Name
20 |
21 |
22 |
23 |
24 | Get Message
25 |
26 |
27 | {{ message }}
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
82 |
83 |
84 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_5300.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 5300
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 | Using input parameters for components (BUG FIXED)!
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
33 |
34 |
35 |
36 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
83 |
84 |
85 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_2100.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 2100
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 | Learning Comuted Property (Read Only Property)!
22 |
23 |
24 |
25 | Note: Computed Property definition is similar to methods, but you cannot pass input parameters!
26 |
27 |
28 |
29 | Google Chrome ->
30 | Inspect Elements ->
31 | Breakpoint in [z] function ->
32 | Click on [doSomething] button and Debug it!
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 | @*!دقت کنید که دستور ذیل کار نمیکند ولی در درس بعد اینگونه نیست*@
41 | @*{{ z }}*@
42 |
43 | {{ z() }}
44 |
45 |
46 |
47 |
Do something!
48 |
49 |
50 |
51 | {{ t }}
52 |
53 |
54 |
55 |
56 |
92 |
93 |
94 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/LearningDtxGridVue/Learn_0500.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Learn 500
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_6700.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 6700
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | There is not any problem with two way binding from parent to child with reference types!
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_2200.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 2200
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 | Learning Comuted!
22 |
23 |
24 |
25 | Note: Computed Property definition is similar to methods, but you cannot pass input parameters!
26 |
27 |
28 |
29 | Google Chrome ->
30 | Inspect Elements ->
31 | Breakpoint in [z] function ->
32 | Click on [doSomething] button and Debug it!
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 | {{ z }}
41 |
42 | @*حالا دستور ذیل کار نمیکند*@
43 | @*{{ z() }}*@
44 |
45 |
46 |
47 |
Do something!
48 |
49 |
50 |
51 | {{ t }}
52 |
53 |
54 |
55 |
56 |
97 |
98 |
99 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_6900.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 6900
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Event Bubbling - With One Parameter!
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
96 |
97 |
98 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn0910.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | Name
25 | Price
26 | Count
27 | Sub Total
28 |
29 |
30 | {{ item.name }}
31 | {{ item.price }}
32 | {{ item.count }}
33 | {{ item.count * item.price }}
34 | @*{{ item.count }} * {{ item.price }} *@
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/LearningDtxGridVue/Learn_0600.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Learn 600
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
71 |
72 |
73 |
--------------------------------------------------------------------------------
/DtxFileManagerVue/FileManager/ViewModels/PathAndDirectoriesAndFilesAndPathCollectionAndUrlViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace Dtx.FileManager.ViewModels
2 | {
3 | public class PathAndDirectoriesAndFilesAndPathCollectionAndUrlViewModel : DirectoriesAndFilesViewModel
4 | {
5 | public PathAndDirectoriesAndFilesAndPathCollectionAndUrlViewModel() : base()
6 | {
7 | }
8 |
9 | // **********
10 | public string Path { get; set; }
11 | // **********
12 |
13 | // **********
14 | [System.Web.Script.Serialization.ScriptIgnore]
15 | public string PreDefinedRootRelativePath { get; set; }
16 | // **********
17 |
18 | // **********
19 | public string Url
20 | {
21 | get
22 | {
23 | string url =
24 | System.Web.HttpContext.Current.Request.Url.Scheme +
25 | System.Uri.SchemeDelimiter +
26 | System.Web.HttpContext.Current.Request.Url.Host +
27 | (System.Web.HttpContext.Current.Request.Url.IsDefaultPort ? "" : ":" + System.Web.HttpContext.Current.Request.Url.Port)
28 | ;
29 |
30 | if (PreDefinedRootRelativePath == "~")
31 | {
32 | url += Path;
33 | }
34 | else
35 | {
36 | url +=
37 | "/" +
38 | PreDefinedRootRelativePath.Substring(2) +
39 | Path
40 | ;
41 | }
42 |
43 | return url;
44 | }
45 | }
46 | // **********
47 |
48 | // **********
49 | // **********
50 | // **********
51 | private System.Collections.Generic.IList pathCollection;
52 | // **********
53 |
54 | // **********
55 | public System.Collections.Generic.IList PathCollection
56 | {
57 | get
58 | {
59 | if (pathCollection == null)
60 | {
61 | pathCollection =
62 | new System.Collections.Generic.List();
63 | }
64 |
65 | return pathCollection;
66 | }
67 | }
68 | // **********
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/LearningDtxGridVue/Learn_0400.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Learn 400
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn5350.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | Name
20 | @*@(Resources.DataDictionary.FirstName)*@
21 |
22 |
23 |
24 |
25 |
26 |
27 | Family
28 |
29 |
30 |
31 |
32 |
33 |
34 | Get Message
35 |
36 |
37 | {{ message }}
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
92 |
93 |
94 |
--------------------------------------------------------------------------------
/DtxFileManagerVue/FileManager/ViewModels/BaseViewModel.cs:
--------------------------------------------------------------------------------
1 | namespace Dtx.FileManager.ViewModels
2 | {
3 | public class BaseViewModel : object
4 | {
5 | public BaseViewModel() : base()
6 | {
7 | }
8 |
9 | // **********
10 | public bool IsSelected { get; set; }
11 | // **********
12 |
13 | // **********
14 | public string Name { get; set; }
15 | // **********
16 |
17 | // **********
18 | public string Message { get; set; }
19 | // **********
20 |
21 | // **********
22 | // **********
23 | // **********
24 | [System.Web.Script.Serialization.ScriptIgnore]
25 | public System.DateTime CreationTime { get; set; }
26 | // **********
27 |
28 | // **********
29 | public string DisplayCreationTime
30 | {
31 | get
32 | {
33 | string result =
34 | CreationTime.ToString("yyyy/MM/dd - HH:mm:ss");
35 |
36 | return result;
37 | }
38 | }
39 | // **********
40 | // **********
41 | // **********
42 |
43 | // **********
44 | // **********
45 | // **********
46 | [System.Web.Script.Serialization.ScriptIgnore]
47 | public System.DateTime LastWriteTime { get; set; }
48 | // **********
49 |
50 | // **********
51 | public string DisplayLastWriteTime
52 | {
53 | get
54 | {
55 | string result =
56 | LastWriteTime.ToString("yyyy/MM/dd - HH:mm:ss");
57 |
58 | return result;
59 | }
60 | }
61 | // **********
62 | // **********
63 | // **********
64 |
65 | // **********
66 | // **********
67 | // **********
68 | [System.Web.Script.Serialization.ScriptIgnore]
69 | public System.DateTime LastAccessTime { get; set; }
70 | // **********
71 |
72 | // **********
73 | public string DisplayLastAccessTime
74 | {
75 | get
76 | {
77 | string result =
78 | LastAccessTime.ToString("yyyy/MM/dd - HH:mm:ss");
79 |
80 | return result;
81 | }
82 | }
83 | // **********
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_6200.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 6200
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Define internal fields for components!
16 |
17 | دقت کنید external-message و externalMessage به
18 |
19 |
20 |
21 |
22 |
23 |
24 | @*
25 | // دستور ذیل عمل نمیکند و دچار خطا خواهد شد
26 |
27 | *@
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Scripts/src/utils/getPopperOffsets.js:
--------------------------------------------------------------------------------
1 | import getOuterSizes from './getOuterSizes';
2 | import getOppositePlacement from './getOppositePlacement';
3 |
4 | /**
5 | * Get offsets to the popper
6 | * @method
7 | * @memberof Popper.Utils
8 | * @param {Object} position - CSS position the Popper will get applied
9 | * @param {HTMLElement} popper - the popper element
10 | * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)
11 | * @param {String} placement - one of the valid placement options
12 | * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper
13 | */
14 | export default function getPopperOffsets(popper, referenceOffsets, placement) {
15 | placement = placement.split('-')[0];
16 |
17 | // Get popper node sizes
18 | const popperRect = getOuterSizes(popper);
19 |
20 | // Add position, width and height to our offsets object
21 | const popperOffsets = {
22 | width: popperRect.width,
23 | height: popperRect.height,
24 | };
25 |
26 | // depending by the popper placement we have to compute its offsets slightly differently
27 | const isHoriz = ['right', 'left'].indexOf(placement) !== -1;
28 | const mainSide = isHoriz ? 'top' : 'left';
29 | const secondarySide = isHoriz ? 'left' : 'top';
30 | const measurement = isHoriz ? 'height' : 'width';
31 | const secondaryMeasurement = !isHoriz ? 'height' : 'width';
32 |
33 | popperOffsets[mainSide] =
34 | referenceOffsets[mainSide] +
35 | referenceOffsets[measurement] / 2 -
36 | popperRect[measurement] / 2;
37 | if (placement === secondarySide) {
38 | popperOffsets[secondarySide] =
39 | referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];
40 | } else {
41 | popperOffsets[secondarySide] =
42 | referenceOffsets[getOppositePlacement(secondarySide)];
43 | }
44 |
45 | return popperOffsets;
46 | }
47 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Scripts/src/utils/findCommonOffsetParent.js:
--------------------------------------------------------------------------------
1 | import isOffsetContainer from './isOffsetContainer';
2 | import getRoot from './getRoot';
3 | import getOffsetParent from './getOffsetParent';
4 |
5 | /**
6 | * Finds the offset parent common to the two provided nodes
7 | * @method
8 | * @memberof Popper.Utils
9 | * @argument {Element} element1
10 | * @argument {Element} element2
11 | * @returns {Element} common offset parent
12 | */
13 | export default function findCommonOffsetParent(element1, element2) {
14 | // This check is needed to avoid errors in case one of the elements isn't defined for any reason
15 | if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {
16 | return document.documentElement;
17 | }
18 |
19 | // Here we make sure to give as "start" the element that comes first in the DOM
20 | const order =
21 | element1.compareDocumentPosition(element2) &
22 | Node.DOCUMENT_POSITION_FOLLOWING;
23 | const start = order ? element1 : element2;
24 | const end = order ? element2 : element1;
25 |
26 | // Get common ancestor container
27 | const range = document.createRange();
28 | range.setStart(start, 0);
29 | range.setEnd(end, 0);
30 | const { commonAncestorContainer } = range;
31 |
32 | // Both nodes are inside #document
33 | if (
34 | (element1 !== commonAncestorContainer &&
35 | element2 !== commonAncestorContainer) ||
36 | start.contains(end)
37 | ) {
38 | if (isOffsetContainer(commonAncestorContainer)) {
39 | return commonAncestorContainer;
40 | }
41 |
42 | return getOffsetParent(commonAncestorContainer);
43 | }
44 |
45 | // one of the nodes is inside shadowDOM, find which one
46 | const element1root = getRoot(element1);
47 | if (element1root.host) {
48 | return findCommonOffsetParent(element1root.host, element2);
49 | } else {
50 | return findCommonOffsetParent(element1, getRoot(element2).host);
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn0675.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | {{ message1 }}
21 |
22 |
23 | {{ message2 }}
24 |
25 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | {{ message1 }}
35 |
36 |
37 | {{ message2 }}
38 |
39 |
42 |
43 |
44 |
45 |
46 |
47 |
48 | {{ message3 }}
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 | {{ message3 }}
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
110 |
111 |
112 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/LearningDtxGridVue/Learn_0200.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Learn 200
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_7200.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 7200
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Solving Problem: Two Way Binding From Parent to Child! - Step (2)
16 |
17 | Without Function Definition!
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
97 |
98 |
99 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_4000.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 4000
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 |
22 | {{ message }}
23 |
24 |
25 |
26 |
27 | First Name:
28 |
29 |
30 |
31 | Last Name:
32 |
33 |
34 |
35 |
36 |
Do Something
37 |
38 |
39 |
40 |
41 |
42 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_6800.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 6800
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Event Bubbling - Without Parameter!
16 |
17 | We should always use kebab-case for event names.
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
98 |
99 |
100 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn0300.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
22 |
23 |
24 |
25 |
28 |
29 |
30 |
31 |
32 |
33 | {{ item.id }} - {{ item.text }}
34 |
35 |
36 |
37 |
38 |
39 | {{ item.id }} - {{ item.text }}
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 | {{ item.text }}
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 | {{ item.text }}
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
96 |
97 |
98 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Scripts/src/utils/getRoundedOffsets.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @function
3 | * @memberof Popper.Utils
4 | * @argument {Object} data - The data object generated by `update` method
5 | * @argument {Boolean} shouldRound - If the offsets should be rounded at all
6 | * @returns {Object} The popper's position offsets rounded
7 | *
8 | * The tale of pixel-perfect positioning. It's still not 100% perfect, but as
9 | * good as it can be within reason.
10 | * Discussion here: https://github.com/FezVrasta/popper.js/pull/715
11 | *
12 | * Low DPI screens cause a popper to be blurry if not using full pixels (Safari
13 | * as well on High DPI screens).
14 | *
15 | * Firefox prefers no rounding for positioning and does not have blurriness on
16 | * high DPI screens.
17 | *
18 | * Only horizontal placement and left/right values need to be considered.
19 | */
20 | export default function getRoundedOffsets(data, shouldRound) {
21 | const { popper, reference } = data.offsets;
22 | const { round, floor } = Math;
23 | const noRound = v => v;
24 |
25 | const referenceWidth = round(reference.width);
26 | const popperWidth = round(popper.width);
27 |
28 | const isVertical = ['left', 'right'].indexOf(data.placement) !== -1;
29 | const isVariation = data.placement.indexOf('-') !== -1;
30 | const sameWidthParity = referenceWidth % 2 === popperWidth % 2;
31 | const bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;
32 |
33 | const horizontalToInteger = !shouldRound
34 | ? noRound
35 | : isVertical || isVariation || sameWidthParity
36 | ? round
37 | : floor;
38 | const verticalToInteger = !shouldRound ? noRound : round;
39 |
40 | return {
41 | left: horizontalToInteger(
42 | bothOddWidth && !isVariation && shouldRound
43 | ? popper.left - 1
44 | : popper.left
45 | ),
46 | top: verticalToInteger(popper.top),
47 | bottom: verticalToInteger(popper.bottom),
48 | right: horizontalToInteger(popper.right),
49 | };
50 | }
51 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_1300.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 1300
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 | Welcome {{ fullName }}!
21 |
22 | Click Me!
23 |
24 |
25 |
26 |
27 |
106 |
107 |
108 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/web.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_1700.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 1700
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | Name
25 | Price
26 | Count
27 | Functions
28 | Sub Total
29 |
30 |
31 | {{ item.name }}
32 | {{ item.price }}
33 | {{ item.count }}
34 |
35 | +
36 |
37 | -
38 |
39 | {{ item.count * item.price }}
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
88 |
89 |
90 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_7300.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 7300
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Solving Problem: Two Way Binding From Parent to Child! - Step (3)
16 |
17 | Using v-model -> value prop!
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
98 |
99 |
100 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Scripts/src/utils/computeAutoPlacement.js:
--------------------------------------------------------------------------------
1 | import getBoundaries from '../utils/getBoundaries';
2 |
3 | function getArea({ width, height }) {
4 | return width * height;
5 | }
6 |
7 | /**
8 | * Utility used to transform the `auto` placement to the placement with more
9 | * available space.
10 | * @method
11 | * @memberof Popper.Utils
12 | * @argument {Object} data - The data object generated by update method
13 | * @argument {Object} options - Modifiers configuration and options
14 | * @returns {Object} The data object, properly modified
15 | */
16 | export default function computeAutoPlacement(
17 | placement,
18 | refRect,
19 | popper,
20 | reference,
21 | boundariesElement,
22 | padding = 0
23 | ) {
24 | if (placement.indexOf('auto') === -1) {
25 | return placement;
26 | }
27 |
28 | const boundaries = getBoundaries(
29 | popper,
30 | reference,
31 | padding,
32 | boundariesElement
33 | );
34 |
35 | const rects = {
36 | top: {
37 | width: boundaries.width,
38 | height: refRect.top - boundaries.top,
39 | },
40 | right: {
41 | width: boundaries.right - refRect.right,
42 | height: boundaries.height,
43 | },
44 | bottom: {
45 | width: boundaries.width,
46 | height: boundaries.bottom - refRect.bottom,
47 | },
48 | left: {
49 | width: refRect.left - boundaries.left,
50 | height: boundaries.height,
51 | },
52 | };
53 |
54 | const sortedAreas = Object.keys(rects)
55 | .map(key => ({
56 | key,
57 | ...rects[key],
58 | area: getArea(rects[key]),
59 | }))
60 | .sort((a, b) => b.area - a.area);
61 |
62 | const filteredAreas = sortedAreas.filter(
63 | ({ width, height }) =>
64 | width >= popper.clientWidth && height >= popper.clientHeight
65 | );
66 |
67 | const computedPlacement = filteredAreas.length > 0
68 | ? filteredAreas[0].key
69 | : sortedAreas[0].key;
70 |
71 | const variation = placement.split('-')[1];
72 |
73 | return computedPlacement + (variation ? `-${variation}` : '');
74 | }
75 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/LearningDtxGridVue/Learn_0800.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Learn 800
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
87 |
88 |
89 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn0875.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | Dollars:
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_7100.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 7100
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Solving Problem: Two Way Binding From Parent to Child! - Step (1)
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
101 |
102 |
103 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/Home/Learn0583.cshtml.BAK:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Index
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | Welcome {{ fullName }}!
20 |
21 | Click Me!
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
108 |
109 |
110 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Web.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
38 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_1400.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 1400
6 |
7 |
8 |
9 |
10 |
11 |
12 |
17 |
18 |
19 |
20 | Welcome {{ fullName }}!
21 |
22 |
23 |
24 |
25 |
109 |
110 |
111 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/NewLearning/Learn_7400.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Learn 7400
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Solving Problem: Two Way Binding From Parent to Child! - Step (4)
16 |
17 | Amazing Step!
18 |
19 | Using v-model and without Event Bubbling!
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
101 |
102 |
103 |
--------------------------------------------------------------------------------
/MY_WEB_APPLICATION/Views/LearningDtxGridVue/Learn_0900.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = null;
3 | }
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Learn 900
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
88 |
89 |
90 |
--------------------------------------------------------------------------------