Base solution for your next web application

Activities of "timmackey"

Hello. Any progress on this issue?

Please check email.

files sent to [email protected]

I downloaded Metronc v7.x from https://aspnetzero.com/download, which is v7.0.3, and seems to be for ANZ v9.0.0

I'm using ANZ v10.0.0. The ANZ Change Log for 10.0.0 (2020-12-04) says "Upgraded to Metronic 7.1", which is inconsistent with the above link. Does Metronic version matter?

The link you provided to the document you shared that explains how to build Metronic step by step is for Metronic version 8.

I found a page at Metrionic for version 7. https://keenthemes.com/metronic/?page=docs&section=html-build-tools

Which instructions should I follow; version 7 or version 8?

In either case, I'm not able to relate the Metronic instructions to ANZ's implementation.

Could you please provide specific guidance on how to fix this problem?

Additonal information: icons are not displaying the correct color because they are being overriddent by style.bundle.min.css.

Incorrect color for ANZ version 10.0.0 implementation

Correct color for ANZ version 8.3.1 implementation

"You can download the Metronic source code from https://aspnetzero.com/Account/Login?ReturnUrl=/download."

All the Metronic download links are broken.

Added console.log to the file indicated. (Erroneously selected abp.js in aspnet-core Web.Host previously)

    abp.notifications.getFormattedMessageFromUserNotification = function (userNotification) {
        console.log(userNotification.notification);
        var formatter = abp.notifications.messageFormatters[userNotification.notification.data.type];
        if (!formatter) {
            abp.log.warn('No message formatter defined for given data type: ' + userNotification.notification.data.type)
            return '?';
        }

        if (!abp.utils.isFunction(formatter)) {
            abp.log.warn('Message formatter should be a function! It is invalid for data type: ' + userNotification.notification.data.type)
            return '?';
        }

        return formatter(userNotification);
    }

This is the result of logging in as host admin.

NODE_ENV: development
Angular is running in the development mode. Call enableProdMode() to enable the production mode.
[WDS] Live Reloading enabled.
DEBUG:
Starting connection using WebSockets transport
DEBUG:
Starting connection using WebSockets transport
[2022-03-16T20:51:46.912Z] Information: WebSocket connected to wss://localhost:44301/signalr-chat?enc_auth_token=wNYmO41%2F48SHNstaLVXxHCCre29BZQl1NhC6NM3R3rzpXtPQxVzH6jEzA%2FQhXFN5tu6Fk7pO53uppm1mVXMZgxbyRVz26dnepi%2FFyB6axBY%2B6gq1GL%2BuRQgoiFUCjRN2p8w6LevViwKlHyWZZJZO1DGVSjAi1m2U%2Bog9pkHw9%2FQR4Nl%2FDPnoP9JYDMpZ1zxx09u6s0GZ9%2FQ5Sjk%2BL0UfcSCbl38X8he5w9UIn%2FHvxh7ysM1CiPLsoOwtbiieSRVmrmt0JjnipAn4%2FK283F8GrGwzwgehWsqefmUnM0ckMwP9ZAdwQxWDhxv0IqNw4tDhwUYs%2F1SYdYozdNzgByhgNOBPzQDObNLlWc4vV5VMOiZDJjcsnIYykTiXSD4eimMvZhR62FdwVXo34WRc2JPeF90Bk%2Bg1Oyra4MJGiSYGgGM%2BVz9H3Jmz1V0ChX9%2FJUWgMx2LaPHZOvMbCtwzSSMF%2B7f3avQlC5HvFhkBjBsZy3usjA5DLXFPpmqHcgaxU9y8nWX0a6hkw5oJ%2FgDw4hJnmjudgEBLa31I2BsBvnmxgO%2FWZEPWIPIHH3CfJ6fA9e3r0w61AARIQ9eal4nyBTeddudWIRsBO2lnuh67sXbPuTp%2B%2B1BXKCKPIxYRR5VgnPifyWeVyku1rM%2BMR14TbxKpqO2rD1bixPue0EmONlrRPoeiSs%2FhBLSTo3QV99l08GVICae%2BXuGlq%2FePTCtHqDTaa79jWfOd%2FwzJ0fZsOowt7i%2B1w344DfP9kFr5BsAyQ2dlGJ0VBvcFTxRCBfnAkSLDjij8hBYtm8GnHHU4O8nFLEdYfmjRdO23zH0Y63YYKsIyOWVSENmnvWUu4Ngzoh78UeUxZ8IWMmvD3FNQ2Cpkn9cWNpgrFzKg6dzu4ti9pXlgmwVV1kJBjXPSd4W%2FjH0ncvSFJMrhbFofohNvAAisK8az31GJmDCWSnPZfRuXZeL3Fzi5kVr376seCo4XEToLSKwypZcp1abnF3glb4S2TUPJBAsDoHkPLhySbbUt0jOlJyJTFEnYLkx%2BheDQRPBZug%3D%3D&id=IG8mQmTwe0pV4wA0ABGQAw.
TenantNotification {tenantId: null, notificationName: 'App.NewTenantRegistered', data: undefined, entityType: null, entityTypeName: null, …}
creationTime: Moment {_isAMomentObject: true, _i: '2022-03-08T09:32:37.7338681', _f: 'YYYY-MM-DDTHH:mm:ss.SSSS', _isUTC: false, _pf: {…}, …}
data: undefined
entityId: null
entityType: null
entityTypeName: null
id: 'e3fdb00f-e90d-47ed-a400-1dcb454872af'
notificationName: 'App.NewTenantRegistered'
severity: 0
tenantId: null
[[Prototype]]: Object
ERROR TypeError: Cannot read properties of undefined (reading 'type')
    at Object.abp.notifications.getFormattedMessageFromUserNotification (c:\Users\Tim\Documents\__ngTTMv831\ngTTM\angular\src\assets\abp-web-resources\abp.js:312:1)
    at UserNotificationHelper.push../src/app/shared/layout/notifications/UserNotificationHelper.ts.UserNotificationHelper.format (c:\Users\Tim\Documents\__ngTTMv831\ngTTM\angular\src\app\shared\layout\notifications\UserNotificationHelper.ts:69:45)
    at c:\Users\Tim\Documents\__ngTTMv831\ngTTM\angular\src\app\shared\layout\notifications\header-notifications.component.ts:41:70
    at arrayEach (c:\Users\Tim\Documents\__ngTTMv831\ngTTM\angular\node_modules\lodash\lodash.js:530:1)
    at Function.forEach (c:\Users\Tim\Documents\__ngTTMv831\ngTTM\angular\node_modules\lodash\lodash.js:9410:1)
    at SafeSubscriber._next (c:\Users\Tim\Documents\__ngTTMv831\ngTTM\angular\src\app\shared\layout\notifications\header-notifications.component.ts:40:22)
    at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub (c:\Users\Tim\Documents\__ngTTMv831\ngTTM\angular\node_modules\rxjs\_esm5\internal\Subscriber.js:192:1)
    at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next (c:\Users\Tim\Documents\__ngTTMv831\ngTTM\angular\node_modules\rxjs\_esm5\internal\Subscriber.js:130:1)
    at Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next (c:\Users\Tim\Documents\__ngTTMv831\ngTTM\angular\node_modules\rxjs\_esm5\internal\Subscriber.js:76:1)
    at Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (http://localhost:4200/vendor.js:225595:18) {stack: 'TypeError: Cannot read properties of undefine…t (http://localhost:4200/vendor.js:225595:18)', message: 'Cannot read properties of undefined (reading 'type')'}
[2022-03-16T20:51:50.916Z] Information: WebSocket connected to wss://localhost:44301/signalr?enc_auth_token=wNYmO41%2F48SHNstaLVXxHCCre29BZQl1NhC6NM3R3rzpXtPQxVzH6jEzA%2FQhXFN5tu6Fk7pO53uppm1mVXMZgxbyRVz26dnepi%2FFyB6axBY%2B6gq1GL%2BuRQgoiFUCjRN2p8w6LevViwKlHyWZZJZO1DGVSjAi1m2U%2Bog9pkHw9%2FQR4Nl%2FDPnoP9JYDMpZ1zxx09u6s0GZ9%2FQ5Sjk%2BL0UfcSCbl38X8he5w9UIn%2FHvxh7ysM1CiPLsoOwtbiieSRVmrmt0JjnipAn4%2FK283F8GrGwzwgehWsqefmUnM0ckMwP9ZAdwQxWDhxv0IqNw4tDhwUYs%2F1SYdYozdNzgByhgNOBPzQDObNLlWc4vV5VMOiZDJjcsnIYykTiXSD4eimMvZhR62FdwVXo34WRc2JPeF90Bk%2Bg1Oyra4MJGiSYGgGM%2BVz9H3Jmz1V0ChX9%2FJUWgMx2LaPHZOvMbCtwzSSMF%2B7f3avQlC5HvFhkBjBsZy3usjA5DLXFPpmqHcgaxU9y8nWX0a6hkw5oJ%2FgDw4hJnmjudgEBLa31I2BsBvnmxgO%2FWZEPWIPIHH3CfJ6fA9e3r0w61AARIQ9eal4nyBTeddudWIRsBO2lnuh67sXbPuTp%2B%2B1BXKCKPIxYRR5VgnPifyWeVyku1rM%2BMR14TbxKpqO2rD1bixPue0EmONlrRPoeiSs%2FhBLSTo3QV99l08GVICae%2BXuGlq%2FePTCtHqDTaa79jWfOd%2FwzJ0fZsOowt7i%2B1w344DfP9kFr5BsAyQ2dlGJ0VBvcFTxRCBfnAkSLDjij8hBYtm8GnHHU4O8nFLEdYfmjRdO23zH0Y63YYKsIyOWVSENmnvWUu4Ngzoh78UeUxZ8IWMmvD3FNQ2Cpkn9cWNpgrFzKg6dzu4ti9pXlgmwVV1kJBjXPSd4W%2FjH0ncvSFJMrhbFofohNvAAisK8az31GJmDCWSnPZfRuXZeL3Fzi5kVr376seCo4XEToLSKwypZcp1abnF3glb4S2TUPJBAsDoHkPLhySbbUt0jOlJyJTFEnYLkx%2BheDQRPBZug%3D%3D&id=gS1d-acwwPoW-09TkvuAPg.
DEBUG:
Connected to SignalR server!
DEBUG:
Registered to the SignalR server!

The problem seems to be userNotification.notification.data is undefined.

This is my abp.js:

var abp = abp || {};
(function () {

    /* Application paths *****************************************/

    //Current application root path (including virtual directory if exists).	
    abp.appPath = abp.appPath || '/';

    /* UTILS ***************************************************/

    abp.utils = abp.utils || {};

    /**	
        * Sets a cookie value for given key.	
        * This is a simple implementation created to be used by ABP.	
        * Please use a complete cookie library if you need.	
        * @param {string} key	
        * @param {string} value	
        * @param {Date} expireDate (optional). If not specified the cookie will expire at the end of session.	
        * @param {string} path (optional)	
        */
    abp.utils.setCookieValue = function (key, value, expireDate, path) {
        var cookieValue = encodeURIComponent(key) + '=';

        if (value) {
            cookieValue = cookieValue + encodeURIComponent(value);
        }

        if (expireDate) {
            cookieValue = cookieValue + "; expires=" + expireDate.toUTCString();
        }

        if (path) {
            cookieValue = cookieValue + "; path=" + path;
        }

        document.cookie = cookieValue;
    };

    /**	
    * Gets a cookie with given key.	
    * This is a simple implementation created to be used by ABP.	
    * Please use a complete cookie library if you need.	
    * @param {string} key	
    * @returns {string} Cookie value or null	
    */
    abp.utils.getCookieValue = function (key) {
        var equalities = document.cookie.split('; ');
        for (var i = 0; i < equalities.length; i++) {
            if (!equalities[i]) {
                continue;
            }

            var splitted = equalities[i].split('=');
            if (splitted.length != 2) {
                continue;
            }

            if (decodeURIComponent(splitted[0]) === key) {
                return decodeURIComponent(splitted[1] || '');
            }
        }

        return null;
    };

    /**	
    * Deletes cookie for given key.	
    * This is a simple implementation created to be used by ABP.	
    * Please use a complete cookie library if you need.	
    * @param {string} key	
    * @param {string} path (optional)	
    */
    abp.utils.deleteCookie = function (key, path) {
        var cookieValue = encodeURIComponent(key) + '=';

        cookieValue = cookieValue + "; expires=" + (new Date(new Date().getTime() - 86400000)).toUTCString();

        if (path) {
            cookieValue = cookieValue + "; path=" + path;
        }

        document.cookie = cookieValue;
    }

    /* SECURITY ***************************************/
    abp.security = abp.security || {};
    abp.security.antiForgery = abp.security.antiForgery || {};

    abp.security.antiForgery.tokenCookieName = 'XSRF-TOKEN';
    abp.security.antiForgery.tokenHeaderName = 'X-XSRF-TOKEN';

    abp.security.antiForgery.getToken = function () {
        return abp.utils.getCookieValue(abp.security.antiForgery.tokenCookieName);
    };

})();

Also, when opening this file the first time in Visual Studio 2019, this message appeared: I clicked 'No'.

Found the answer in 10634.

I'm facing a similar problem. The link @junior1986 created 5 years ago is now itself responding with 404 not found. Can anyone provide an updated link or an explanation of what the solution was?

I've abandoned attempting to upgrade to 8.4.0, and am going directly to 10.0.0,

Showing 1 to 10 of 285 entries